# 1 "pthread_create.c" # 1 "/suse/schwab/src/libc/libc/nptl//" # 1 "" # 1 "../include/stdc-predef.h" 1 # 1 "" 2 # 1 "./../include/libc-symbols.h" 1 # 49 "./../include/libc-symbols.h" # 1 "/suse/schwab/src/libc/i586/config.h" 1 # 50 "./../include/libc-symbols.h" 2 # 777 "./../include/libc-symbols.h" # 1 "../sysdeps/wordsize-32/symbol-hacks.h" 1 # 19 "../sysdeps/wordsize-32/symbol-hacks.h" # 1 "../sysdeps/generic/symbol-hacks.h" 1 # 20 "../sysdeps/wordsize-32/symbol-hacks.h" 2 # 778 "./../include/libc-symbols.h" 2 # 1 "" 2 # 1 "pthread_create.c" # 19 "pthread_create.c" # 1 "../include/ctype.h" 1 extern void __ctype_init (void); extern int __isctype (int __c, int __mask); # 52 "../include/ctype.h" # 1 "../ctype/ctype.h" 1 # 25 "../ctype/ctype.h" # 1 "../include/features.h" 1 # 365 "../include/features.h" # 1 "../include/sys/cdefs.h" 1 # 1 "../misc/sys/cdefs.h" 1 # 395 "../misc/sys/cdefs.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 396 "../misc/sys/cdefs.h" 2 # 4 "../include/sys/cdefs.h" 2 # 12 "../include/sys/cdefs.h" extern void __chk_fail (void) __attribute__ ((__noreturn__)); # 366 "../include/features.h" 2 # 389 "../include/features.h" # 1 "../include/gnu/stubs.h" 1 # 390 "../include/features.h" 2 # 26 "../ctype/ctype.h" 2 # 1 "../bits/types.h" 1 # 27 "../bits/types.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 28 "../bits/types.h" 2 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 121 "../bits/types.h" # 1 "../sysdeps/unix/sysv/linux/x86/bits/typesizes.h" 1 # 122 "../bits/types.h" 2 __extension__ typedef __u_quad_t __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef __u_quad_t __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef __quad_t __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef __u_quad_t __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef __quad_t __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef __u_quad_t __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef __u_quad_t __fsfilcnt64_t; __extension__ typedef int __fsword_t; __extension__ typedef int __ssize_t; __extension__ typedef long int __syscall_slong_t; __extension__ typedef unsigned long int __syscall_ulong_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 27 "../ctype/ctype.h" 2 # 39 "../ctype/ctype.h" # 1 "../include/endian.h" 1 # 1 "../string/endian.h" 1 # 36 "../string/endian.h" # 1 "../sysdeps/x86/bits/endian.h" 1 # 37 "../string/endian.h" 2 # 60 "../string/endian.h" # 1 "../sysdeps/x86/bits/byteswap.h" 1 # 28 "../sysdeps/x86/bits/byteswap.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 29 "../sysdeps/x86/bits/byteswap.h" 2 # 1 "../sysdeps/x86/bits/byteswap-16.h" 1 # 36 "../sysdeps/x86/bits/byteswap.h" 2 # 44 "../sysdeps/x86/bits/byteswap.h" static __inline unsigned int __bswap_32 (unsigned int __bsx) { return __builtin_bswap32 (__bsx); } # 108 "../sysdeps/x86/bits/byteswap.h" static __inline __uint64_t __bswap_64 (__uint64_t __bsx) { return __builtin_bswap64 (__bsx); } # 61 "../string/endian.h" 2 # 2 "../include/endian.h" 2 # 40 "../ctype/ctype.h" 2 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 79 "../ctype/ctype.h" extern const unsigned short int **__ctype_b_loc (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 104 "../ctype/ctype.h" extern int isalnum (int) __attribute__ ((__nothrow__ )); extern int isalpha (int) __attribute__ ((__nothrow__ )); extern int iscntrl (int) __attribute__ ((__nothrow__ )); extern int isdigit (int) __attribute__ ((__nothrow__ )); extern int islower (int) __attribute__ ((__nothrow__ )); extern int isgraph (int) __attribute__ ((__nothrow__ )); extern int isprint (int) __attribute__ ((__nothrow__ )); extern int ispunct (int) __attribute__ ((__nothrow__ )); extern int isspace (int) __attribute__ ((__nothrow__ )); extern int isupper (int) __attribute__ ((__nothrow__ )); extern int isxdigit (int) __attribute__ ((__nothrow__ )); extern int tolower (int __c) __attribute__ ((__nothrow__ )); extern int toupper (int __c) __attribute__ ((__nothrow__ )); extern int isblank (int) __attribute__ ((__nothrow__ )); extern int isctype (int __c, int __mask) __attribute__ ((__nothrow__ )); extern int isascii (int __c) __attribute__ ((__nothrow__ )); extern int toascii (int __c) __attribute__ ((__nothrow__ )); extern int _toupper (int) __attribute__ ((__nothrow__ )); extern int _tolower (int) __attribute__ ((__nothrow__ )); # 214 "../ctype/ctype.h" extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 257 "../ctype/ctype.h" # 1 "../include/xlocale.h" 1 # 1 "../locale/xlocale.h" 1 # 27 "../locale/xlocale.h" typedef struct __locale_struct { struct __locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; typedef __locale_t locale_t; # 1 "../include/xlocale.h" 2 # 258 "../ctype/ctype.h" 2 # 271 "../ctype/ctype.h" extern int isalnum_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isalpha_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int iscntrl_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isdigit_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int islower_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isgraph_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isprint_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int ispunct_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isspace_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isupper_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isxdigit_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int isblank_l (int, __locale_t) __attribute__ ((__nothrow__ )); extern int __tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ )); extern int tolower_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ )); extern int __toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ )); extern int toupper_l (int __c, __locale_t __l) __attribute__ ((__nothrow__ )); # 347 "../ctype/ctype.h" # 53 "../include/ctype.h" 2 # 20 "pthread_create.c" 2 # 1 "../include/errno.h" 1 # 1 "../stdlib/errno.h" 1 # 31 "../stdlib/errno.h" # 1 "../sysdeps/unix/sysv/linux/bits/errno.h" 1 # 24 "../sysdeps/unix/sysv/linux/bits/errno.h" # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno.h" 1 3 4 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 # 5 "/usr/include/asm-generic/errno.h" 2 3 4 # 1 "/usr/include/asm/errno.h" 2 3 4 # 1 "/usr/include/linux/errno.h" 2 3 4 # 25 "../sysdeps/unix/sysv/linux/bits/errno.h" 2 # 50 "../sysdeps/unix/sysv/linux/bits/errno.h" extern int *__errno_location (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 36 "../stdlib/errno.h" 2 # 54 "../stdlib/errno.h" extern char *program_invocation_name, *program_invocation_short_name; # 68 "../stdlib/errno.h" typedef int error_t; # 4 "../include/errno.h" 2 # 27 "../include/errno.h" # 1 "../sysdeps/i386/nptl/tls.h" 1 # 22 "../sysdeps/i386/nptl/tls.h" # 1 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 1 # 21 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1 # 19 "../sysdeps/unix/sysv/linux/dl-sysdep.h" # 1 "../sysdeps/generic/dl-sysdep.h" 1 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/dl-sysdep.h" extern int _dl_discover_osversion (void) __attribute__ ((visibility ("hidden"))); # 22 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" extern void _dl_sysinfo_int80 (void) __attribute__ ((visibility ("hidden"))); # 23 "../sysdeps/i386/nptl/tls.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stdbool.h" 1 3 4 # 25 "../sysdeps/i386/nptl/tls.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 147 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 3 4 typedef int ptrdiff_t; # 212 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 3 4 typedef unsigned int size_t; # 324 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 3 4 typedef long int wchar_t; # 26 "../sysdeps/i386/nptl/tls.h" 2 # 1 "../sysdeps/generic/stdint.h" 1 # 26 "../sysdeps/generic/stdint.h" # 1 "../bits/wchar.h" 1 # 27 "../sysdeps/generic/stdint.h" 2 # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 28 "../sysdeps/generic/stdint.h" 2 # 36 "../sysdeps/generic/stdint.h" typedef signed char int8_t; typedef short int int16_t; typedef int int32_t; __extension__ typedef long long int int64_t; typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 125 "../sysdeps/generic/stdint.h" typedef int intptr_t; typedef unsigned int uintptr_t; # 137 "../sysdeps/generic/stdint.h" __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 27 "../sysdeps/i386/nptl/tls.h" 2 # 1 "../include/stdlib.h" 1 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 9 "../include/stdlib.h" 2 # 1 "../stdlib/stdlib.h" 1 # 32 "../stdlib/stdlib.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 33 "../stdlib/stdlib.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/waitflags.h" 1 # 42 "../stdlib/stdlib.h" 2 # 1 "../bits/waitstatus.h" 1 # 64 "../bits/waitstatus.h" # 1 "../include/endian.h" 1 # 65 "../bits/waitstatus.h" 2 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 43 "../stdlib/stdlib.h" 2 # 67 "../stdlib/stdlib.h" typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 95 "../stdlib/stdlib.h" typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 139 "../stdlib/stdlib.h" extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__ )) ; extern double atof (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int atoi (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern long int atol (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; __extension__ extern long long int atoll (const char *__nptr) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern double strtod (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) ; extern float strtof (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) ; extern long double strtold (const char *__restrict __nptr, char **__restrict __endptr) __attribute__ ((__nothrow__ )) ; extern long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; extern unsigned long int strtoul (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; __extension__ extern long long int strtoq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; __extension__ extern unsigned long long int strtouq (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; __extension__ extern long long int strtoll (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; __extension__ extern unsigned long long int strtoull (const char *__restrict __nptr, char **__restrict __endptr, int __base) __attribute__ ((__nothrow__ )) ; # 235 "../stdlib/stdlib.h" # 1 "../include/xlocale.h" 1 # 236 "../stdlib/stdlib.h" 2 extern long int strtol_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ )) ; extern unsigned long int strtoul_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ )) ; __extension__ extern long long int strtoll_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ )) ; __extension__ extern unsigned long long int strtoull_l (const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) __attribute__ ((__nothrow__ )) ; extern double strtod_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ )) ; extern float strtof_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ )) ; extern long double strtold_l (const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) __attribute__ ((__nothrow__ )) ; extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) atoi (const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline __attribute__ ((__gnu_inline__)) long int __attribute__ ((__nothrow__ )) atol (const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int __attribute__ ((__nothrow__ )) atoll (const char *__nptr) { return strtoll (__nptr, (char **) ((void *)0), 10); } # 305 "../stdlib/stdlib.h" extern char *l64a (long int __n) __attribute__ ((__nothrow__ )) ; extern long int a64l (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 1 "../include/sys/types.h" 1 # 1 "../posix/sys/types.h" 1 # 27 "../posix/sys/types.h" typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 132 "../posix/sys/types.h" # 1 "../include/time.h" 1 # 1 "../time/time.h" 1 # 57 "../time/time.h" typedef __clock_t clock_t; # 73 "../time/time.h" typedef __time_t time_t; # 91 "../time/time.h" typedef __clockid_t clockid_t; # 103 "../time/time.h" typedef __timer_t timer_t; # 4 "../include/time.h" 2 # 133 "../posix/sys/types.h" 2 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 147 "../posix/sys/types.h" 2 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 200 "../posix/sys/types.h" typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 216 "../posix/sys/types.h" # 1 "../include/endian.h" 1 # 217 "../posix/sys/types.h" 2 # 1 "../include/sys/select.h" 1 # 1 "../misc/sys/select.h" 1 # 30 "../misc/sys/select.h" # 1 "../sysdeps/x86/bits/select.h" 1 # 22 "../sysdeps/x86/bits/select.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 23 "../sysdeps/x86/bits/select.h" 2 # 31 "../misc/sys/select.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1 # 22 "../sysdeps/unix/sysv/linux/bits/sigset.h" typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 34 "../misc/sys/select.h" 2 typedef __sigset_t sigset_t; # 1 "../include/time.h" 1 # 1 "../time/time.h" 1 # 120 "../time/time.h" struct timespec { __time_t tv_sec; __syscall_slong_t tv_nsec; }; # 4 "../include/time.h" 2 # 44 "../misc/sys/select.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/time.h" 1 # 30 "../sysdeps/unix/sysv/linux/bits/time.h" struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 46 "../misc/sys/select.h" 2 # 54 "../misc/sys/select.h" typedef long int __fd_mask; # 64 "../misc/sys/select.h" typedef struct { __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 96 "../misc/sys/select.h" # 106 "../misc/sys/select.h" extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 118 "../misc/sys/select.h" extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 131 "../misc/sys/select.h" # 3 "../include/sys/select.h" 2 extern int __pselect (int __nfds, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, const struct timespec *__timeout, const __sigset_t *__sigmask); extern int __select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 220 "../posix/sys/types.h" 2 # 1 "../sysdeps/unix/sysv/linux/sys/sysmacros.h" 1 # 24 "../sysdeps/unix/sysv/linux/sys/sysmacros.h" __extension__ extern unsigned int gnu_dev_major (unsigned long long int __dev) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); __extension__ extern unsigned int gnu_dev_minor (unsigned long long int __dev) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); __extension__ extern unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__nothrow__ )) gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int __attribute__ ((__nothrow__ )) gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned long long int __attribute__ ((__nothrow__ )) gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 223 "../posix/sys/types.h" 2 typedef __blksize_t blksize_t; typedef __blkcnt_t blkcnt_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; # 262 "../posix/sys/types.h" typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "../sysdeps/x86/bits/pthreadtypes.h" 1 # 21 "../sysdeps/x86/bits/pthreadtypes.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 22 "../sysdeps/x86/bits/pthreadtypes.h" 2 # 60 "../sysdeps/x86/bits/pthreadtypes.h" typedef unsigned long int pthread_t; union pthread_attr_t { char __size[36]; long int __align; }; typedef union pthread_attr_t pthread_attr_t; # 81 "../sysdeps/x86/bits/pthreadtypes.h" typedef struct __pthread_internal_slist { struct __pthread_internal_slist *__next; } __pthread_slist_t; typedef union { struct __pthread_mutex_s { int __lock; unsigned int __count; int __owner; int __kind; # 111 "../sysdeps/x86/bits/pthreadtypes.h" unsigned int __nusers; __extension__ union { struct { short __espins; short __elision; } __elision_data; __pthread_slist_t __list; }; } __data; char __size[24]; long int __align; } pthread_mutex_t; typedef union { char __size[4]; int __align; } pthread_mutexattr_t; typedef union { struct { int __lock; unsigned int __futex; __extension__ unsigned long long int __total_seq; __extension__ unsigned long long int __wakeup_seq; __extension__ unsigned long long int __woken_seq; void *__mutex; unsigned int __nwaiters; unsigned int __broadcast_seq; } __data; char __size[48]; __extension__ long long int __align; } pthread_cond_t; typedef union { char __size[4]; int __align; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef int pthread_once_t; typedef union { # 202 "../sysdeps/x86/bits/pthreadtypes.h" struct { int __lock; unsigned int __nr_readers; unsigned int __readers_wakeup; unsigned int __writer_wakeup; unsigned int __nr_readers_queued; unsigned int __nr_writers_queued; unsigned char __flags; unsigned char __shared; signed char __rwelision; unsigned char __pad2; int __writer; } __data; char __size[32]; long int __align; } pthread_rwlock_t; typedef union { char __size[8]; long int __align; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef union { char __size[20]; long int __align; } pthread_barrier_t; typedef union { char __size[4]; int __align; } pthread_barrierattr_t; # 271 "../posix/sys/types.h" 2 # 1 "../include/sys/types.h" 2 # 315 "../stdlib/stdlib.h" 2 extern long int random (void) __attribute__ ((__nothrow__ )); extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__ )); extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) __attribute__ ((__nothrow__ )) ; extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__ )) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) __attribute__ ((__nothrow__ )) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ )) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) __attribute__ ((__nothrow__ )) ; extern int rand (void) __attribute__ ((__nothrow__ )); extern void srand (unsigned int __seed) __attribute__ ((__nothrow__ )); extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__ )); extern double drand48 (void) __attribute__ ((__nothrow__ )); extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) ; extern long int lrand48 (void) __attribute__ ((__nothrow__ )); extern long int nrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) ; extern long int mrand48 (void) __attribute__ ((__nothrow__ )); extern long int jrand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__ )) ; extern void srand48 (long int __seedval) __attribute__ ((__nothrow__ )); extern unsigned short int *seed48 (unsigned short int __seed16v[3]) __attribute__ ((__nothrow__ )) ; extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__ )) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; __extension__ unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) __attribute__ ((__nothrow__ )) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) __attribute__ ((__nothrow__ )) ; extern void *malloc (size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__warn_unused_result__)); extern void free (void *__ptr) __attribute__ ((__nothrow__ )); extern void cfree (void *__ptr) __attribute__ ((__nothrow__ )); # 1 "../include/alloca.h" 1 # 1 "../stdlib/alloca.h" 1 # 24 "../stdlib/alloca.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 25 "../stdlib/alloca.h" 2 extern void *alloca (size_t __size) __attribute__ ((__nothrow__ )); # 4 "../include/alloca.h" 2 # 1 "../include/stackinfo.h" 1 # 24 "../include/stackinfo.h" # 1 "../sysdeps/i386/stackinfo.h" 1 # 24 "../sysdeps/i386/stackinfo.h" # 1 "../include/elf.h" 1 # 1 "../elf/elf.h" 1 # 24 "../elf/elf.h" typedef uint16_t Elf32_Half; typedef uint16_t Elf64_Half; typedef uint32_t Elf32_Word; typedef int32_t Elf32_Sword; typedef uint32_t Elf64_Word; typedef int32_t Elf64_Sword; typedef uint64_t Elf32_Xword; typedef int64_t Elf32_Sxword; typedef uint64_t Elf64_Xword; typedef int64_t Elf64_Sxword; typedef uint32_t Elf32_Addr; typedef uint64_t Elf64_Addr; typedef uint32_t Elf32_Off; typedef uint64_t Elf64_Off; typedef uint16_t Elf32_Section; typedef uint16_t Elf64_Section; typedef Elf32_Half Elf32_Versym; typedef Elf64_Half Elf64_Versym; typedef struct { unsigned char e_ident[(16)]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Half e_shentsize; Elf32_Half e_shnum; Elf32_Half e_shstrndx; } Elf32_Ehdr; typedef struct { unsigned char e_ident[(16)]; Elf64_Half e_type; Elf64_Half e_machine; Elf64_Word e_version; Elf64_Addr e_entry; Elf64_Off e_phoff; Elf64_Off e_shoff; Elf64_Word e_flags; Elf64_Half e_ehsize; Elf64_Half e_phentsize; Elf64_Half e_phnum; Elf64_Half e_shentsize; Elf64_Half e_shnum; Elf64_Half e_shstrndx; } Elf64_Ehdr; # 272 "../elf/elf.h" typedef struct { Elf32_Word sh_name; Elf32_Word sh_type; Elf32_Word sh_flags; Elf32_Addr sh_addr; Elf32_Off sh_offset; Elf32_Word sh_size; Elf32_Word sh_link; Elf32_Word sh_info; Elf32_Word sh_addralign; Elf32_Word sh_entsize; } Elf32_Shdr; typedef struct { Elf64_Word sh_name; Elf64_Word sh_type; Elf64_Xword sh_flags; Elf64_Addr sh_addr; Elf64_Off sh_offset; Elf64_Xword sh_size; Elf64_Word sh_link; Elf64_Word sh_info; Elf64_Xword sh_addralign; Elf64_Xword sh_entsize; } Elf64_Shdr; # 381 "../elf/elf.h" typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; unsigned char st_other; Elf32_Section st_shndx; } Elf32_Sym; typedef struct { Elf64_Word st_name; unsigned char st_info; unsigned char st_other; Elf64_Section st_shndx; Elf64_Addr st_value; Elf64_Xword st_size; } Elf64_Sym; typedef struct { Elf32_Half si_boundto; Elf32_Half si_flags; } Elf32_Syminfo; typedef struct { Elf64_Half si_boundto; Elf64_Half si_flags; } Elf64_Syminfo; # 496 "../elf/elf.h" typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; } Elf32_Rel; typedef struct { Elf64_Addr r_offset; Elf64_Xword r_info; } Elf64_Rel; typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; Elf32_Sword r_addend; } Elf32_Rela; typedef struct { Elf64_Addr r_offset; Elf64_Xword r_info; Elf64_Sxword r_addend; } Elf64_Rela; # 541 "../elf/elf.h" typedef struct { Elf32_Word p_type; Elf32_Off p_offset; Elf32_Addr p_vaddr; Elf32_Addr p_paddr; Elf32_Word p_filesz; Elf32_Word p_memsz; Elf32_Word p_flags; Elf32_Word p_align; } Elf32_Phdr; typedef struct { Elf64_Word p_type; Elf64_Word p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; Elf64_Xword p_filesz; Elf64_Xword p_memsz; Elf64_Xword p_align; } Elf64_Phdr; # 652 "../elf/elf.h" typedef struct { Elf32_Sword d_tag; union { Elf32_Word d_val; Elf32_Addr d_ptr; } d_un; } Elf32_Dyn; typedef struct { Elf64_Sxword d_tag; union { Elf64_Xword d_val; Elf64_Addr d_ptr; } d_un; } Elf64_Dyn; # 828 "../elf/elf.h" typedef struct { Elf32_Half vd_version; Elf32_Half vd_flags; Elf32_Half vd_ndx; Elf32_Half vd_cnt; Elf32_Word vd_hash; Elf32_Word vd_aux; Elf32_Word vd_next; } Elf32_Verdef; typedef struct { Elf64_Half vd_version; Elf64_Half vd_flags; Elf64_Half vd_ndx; Elf64_Half vd_cnt; Elf64_Word vd_hash; Elf64_Word vd_aux; Elf64_Word vd_next; } Elf64_Verdef; # 870 "../elf/elf.h" typedef struct { Elf32_Word vda_name; Elf32_Word vda_next; } Elf32_Verdaux; typedef struct { Elf64_Word vda_name; Elf64_Word vda_next; } Elf64_Verdaux; typedef struct { Elf32_Half vn_version; Elf32_Half vn_cnt; Elf32_Word vn_file; Elf32_Word vn_aux; Elf32_Word vn_next; } Elf32_Verneed; typedef struct { Elf64_Half vn_version; Elf64_Half vn_cnt; Elf64_Word vn_file; Elf64_Word vn_aux; Elf64_Word vn_next; } Elf64_Verneed; # 917 "../elf/elf.h" typedef struct { Elf32_Word vna_hash; Elf32_Half vna_flags; Elf32_Half vna_other; Elf32_Word vna_name; Elf32_Word vna_next; } Elf32_Vernaux; typedef struct { Elf64_Word vna_hash; Elf64_Half vna_flags; Elf64_Half vna_other; Elf64_Word vna_name; Elf64_Word vna_next; } Elf64_Vernaux; # 951 "../elf/elf.h" typedef struct { uint32_t a_type; union { uint32_t a_val; } a_un; } Elf32_auxv_t; typedef struct { uint64_t a_type; union { uint64_t a_val; } a_un; } Elf64_auxv_t; # 1038 "../elf/elf.h" typedef struct { Elf32_Word n_namesz; Elf32_Word n_descsz; Elf32_Word n_type; } Elf32_Nhdr; typedef struct { Elf64_Word n_namesz; Elf64_Word n_descsz; Elf64_Word n_type; } Elf64_Nhdr; # 1102 "../elf/elf.h" typedef struct { Elf32_Xword m_value; Elf32_Word m_info; Elf32_Word m_poffset; Elf32_Half m_repeat; Elf32_Half m_stride; } Elf32_Move; typedef struct { Elf64_Xword m_value; Elf64_Xword m_info; Elf64_Xword m_poffset; Elf64_Half m_repeat; Elf64_Half m_stride; } Elf64_Move; # 1488 "../elf/elf.h" typedef union { struct { Elf32_Word gt_current_g_value; Elf32_Word gt_unused; } gt_header; struct { Elf32_Word gt_g_value; Elf32_Word gt_bytes; } gt_entry; } Elf32_gptab; typedef struct { Elf32_Word ri_gprmask; Elf32_Word ri_cprmask[4]; Elf32_Sword ri_gp_value; } Elf32_RegInfo; typedef struct { unsigned char kind; unsigned char size; Elf32_Section section; Elf32_Word info; } Elf_Options; # 1564 "../elf/elf.h" typedef struct { Elf32_Word hwp_flags1; Elf32_Word hwp_flags2; } Elf_Options_Hw; # 1725 "../elf/elf.h" typedef struct { Elf32_Word l_name; Elf32_Word l_time_stamp; Elf32_Word l_checksum; Elf32_Word l_version; Elf32_Word l_flags; } Elf32_Lib; typedef struct { Elf64_Word l_name; Elf64_Word l_time_stamp; Elf64_Word l_checksum; Elf64_Word l_version; Elf64_Word l_flags; } Elf64_Lib; # 1756 "../elf/elf.h" typedef Elf32_Addr Elf32_Conflict; # 3361 "../elf/elf.h" # 3 "../include/elf.h" 2 # 1 "../sysdeps/generic/dl-dtprocnum.h" 1 # 6 "../include/elf.h" 2 # 25 "../sysdeps/i386/stackinfo.h" 2 # 25 "../include/stackinfo.h" 2 # 5 "../include/alloca.h" 2 extern void *__alloca (size_t __size); extern int __libc_use_alloca (size_t size) __attribute__ ((const)); extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const)); # 1 "../sysdeps/pthread/allocalim.h" 1 # 19 "../sysdeps/pthread/allocalim.h" # 1 "../include/alloca.h" 1 # 20 "../sysdeps/pthread/allocalim.h" 2 # 1 "../include/limits.h" 1 # 123 "../include/limits.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include-fixed/limits.h" 1 3 4 # 124 "../include/limits.h" 2 # 143 "../include/limits.h" # 1 "../include/bits/posix1_lim.h" 1 # 1 "../posix/bits/posix1_lim.h" 1 # 160 "../posix/bits/posix1_lim.h" # 1 "../sysdeps/unix/sysv/linux/bits/local_lim.h" 1 # 38 "../sysdeps/unix/sysv/linux/bits/local_lim.h" # 1 "/usr/include/linux/limits.h" 1 3 4 # 39 "../sysdeps/unix/sysv/linux/bits/local_lim.h" 2 # 161 "../posix/bits/posix1_lim.h" 2 # 1 "../include/bits/posix1_lim.h" 2 # 144 "../include/limits.h" 2 # 1 "../include/bits/posix2_lim.h" 1 # 1 "../posix/bits/posix2_lim.h" 1 # 1 "../include/bits/posix2_lim.h" 2 # 148 "../include/limits.h" 2 # 1 "../include/bits/xopen_lim.h" 1 # 33 "../include/bits/xopen_lim.h" # 1 "/suse/schwab/src/libc/i586/bits/stdio_lim.h" 1 # 34 "../include/bits/xopen_lim.h" 2 # 152 "../include/limits.h" 2 # 21 "../sysdeps/pthread/allocalim.h" 2 extern __inline __attribute__ ((__always_inline__)) int __libc_use_alloca (size_t size) { return (__builtin_expect (size <= 16384 / 4, 1) || __builtin_expect (__libc_alloca_cutoff (size), 1)); } # 22 "../include/alloca.h" 2 # 493 "../stdlib/stdlib.h" 2 extern void *valloc (size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__nothrow__ )) ; extern void *aligned_alloc (size_t __alignment, size_t __size) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) ; extern void abort (void) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__ )) ; extern int at_quick_exit (void (*__func) (void)) __attribute__ ((__nothrow__ )) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) __attribute__ ((__nothrow__ )) ; extern void exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void quick_exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern char *getenv (const char *__name) __attribute__ ((__nothrow__ )) ; extern char *secure_getenv (const char *__name) __attribute__ ((__nothrow__ )) ; extern int putenv (char *__string) __attribute__ ((__nothrow__ )) ; extern int setenv (const char *__name, const char *__value, int __replace) __attribute__ ((__nothrow__ )) ; extern int unsetenv (const char *__name) __attribute__ ((__nothrow__ )) ; extern int clearenv (void) __attribute__ ((__nothrow__ )); # 606 "../stdlib/stdlib.h" extern char *mktemp (char *__template) __attribute__ ((__nothrow__ )) ; # 619 "../stdlib/stdlib.h" extern int mkstemp (char *__template) ; # 629 "../stdlib/stdlib.h" extern int mkstemp64 (char *__template) ; # 641 "../stdlib/stdlib.h" extern int mkstemps (char *__template, int __suffixlen) ; # 651 "../stdlib/stdlib.h" extern int mkstemps64 (char *__template, int __suffixlen) ; # 662 "../stdlib/stdlib.h" extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__ )) ; # 673 "../stdlib/stdlib.h" extern int mkostemp (char *__template, int __flags) ; # 683 "../stdlib/stdlib.h" extern int mkostemp64 (char *__template, int __flags) ; # 693 "../stdlib/stdlib.h" extern int mkostemps (char *__template, int __suffixlen, int __flags) ; # 705 "../stdlib/stdlib.h" extern int mkostemps64 (char *__template, int __suffixlen, int __flags) ; extern int system (const char *__command) ; extern char *canonicalize_file_name (const char *__name) __attribute__ ((__nothrow__ )) ; # 733 "../stdlib/stdlib.h" extern char *realpath (const char *__restrict __name, char *__restrict __resolved) __attribute__ ((__nothrow__ )) ; typedef int (*__compar_fn_t) (const void *, const void *); typedef __compar_fn_t comparison_fn_t; typedef int (*__compar_d_fn_t) (const void *, const void *, void *); extern void *bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) ; # 1 "../bits/stdlib-bsearch.h" 1 # 19 "../bits/stdlib-bsearch.h" extern __inline __attribute__ ((__gnu_inline__)) void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) { size_t __l, __u, __idx; const void *__p; int __comparison; __l = 0; __u = __nmemb; while (__l < __u) { __idx = (__l + __u) / 2; __p = (void *) (((const char *) __base) + (__idx * __size)); __comparison = (*__compar) (__key, __p); if (__comparison < 0) __u = __idx; else if (__comparison > 0) __l = __idx + 1; else return (void *) __p; } return ((void *)0); } # 760 "../stdlib/stdlib.h" 2 extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar) ; extern void qsort_r (void *__base, size_t __nmemb, size_t __size, __compar_d_fn_t __compar, void *__arg) ; extern int abs (int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern long int labs (long int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; __extension__ extern long long int llabs (long long int __x) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern div_t div (int __numer, int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; # 811 "../stdlib/stdlib.h" extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) ; extern char *gcvt (double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ )) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __attribute__ ((__nothrow__ )) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) __attribute__ ((__nothrow__ )) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int mblen (const char *__s, size_t __n) __attribute__ ((__nothrow__ )); extern int mbtowc (wchar_t *__restrict __pwc, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ )); extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__ )); extern size_t mbstowcs (wchar_t *__restrict __pwcs, const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__ )); extern size_t wcstombs (char *__restrict __s, const wchar_t *__restrict __pwcs, size_t __n) __attribute__ ((__nothrow__ )); extern int rpmatch (const char *__response) __attribute__ ((__nothrow__ )) ; # 898 "../stdlib/stdlib.h" extern int getsubopt (char **__restrict __optionp, char *const *__restrict __tokens, char **__restrict __valuep) __attribute__ ((__nothrow__ )) ; extern void setkey (const char *__key) __attribute__ ((__nothrow__ )) ; extern int posix_openpt (int __oflag) ; extern int grantpt (int __fd) __attribute__ ((__nothrow__ )); extern int unlockpt (int __fd) __attribute__ ((__nothrow__ )); extern char *ptsname (int __fd) __attribute__ ((__nothrow__ )) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) ; extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) __attribute__ ((__nothrow__ )) ; # 1 "../include/bits/stdlib-float.h" 1 # 1 "../stdlib/bits/stdlib-float.h" 1 # 24 "../stdlib/bits/stdlib-float.h" extern __inline __attribute__ ((__gnu_inline__)) double __attribute__ ((__nothrow__ )) atof (const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } # 4 "../include/bits/stdlib-float.h" 2 # 955 "../stdlib/stdlib.h" 2 # 967 "../stdlib/stdlib.h" # 11 "../include/stdlib.h" 2 # 1 "../include/sys/stat.h" 1 # 1 "../io/sys/stat.h" 1 # 36 "../io/sys/stat.h" # 1 "../include/time.h" 1 # 1 "../time/time.h" 1 # 4 "../include/time.h" 2 # 37 "../io/sys/stat.h" 2 # 102 "../io/sys/stat.h" # 1 "../sysdeps/unix/sysv/linux/x86/bits/stat.h" 1 # 46 "../sysdeps/unix/sysv/linux/x86/bits/stat.h" struct stat { __dev_t st_dev; unsigned short int __pad1; __ino_t st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned short int __pad2; __off_t st_size; __blksize_t st_blksize; __blkcnt_t st_blocks; # 91 "../sysdeps/unix/sysv/linux/x86/bits/stat.h" struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 109 "../sysdeps/unix/sysv/linux/x86/bits/stat.h" unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved5; }; struct stat64 { __dev_t st_dev; unsigned int __pad1; __ino_t __st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 166 "../sysdeps/unix/sysv/linux/x86/bits/stat.h" __ino64_t st_ino; }; # 105 "../io/sys/stat.h" 2 # 208 "../io/sys/stat.h" extern int stat (const char *__restrict __file, struct stat *__restrict __buf) __attribute__ ((__nothrow__ )) ; extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__ )) ; # 227 "../io/sys/stat.h" extern int stat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ )) ; extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__ )) ; extern int fstatat (int __fd, const char *__restrict __file, struct stat *__restrict __buf, int __flag) __attribute__ ((__nothrow__ )) ; # 252 "../io/sys/stat.h" extern int fstatat64 (int __fd, const char *__restrict __file, struct stat64 *__restrict __buf, int __flag) __attribute__ ((__nothrow__ )) ; extern int lstat (const char *__restrict __file, struct stat *__restrict __buf) __attribute__ ((__nothrow__ )) ; # 275 "../io/sys/stat.h" extern int lstat64 (const char *__restrict __file, struct stat64 *__restrict __buf) __attribute__ ((__nothrow__ )) ; extern int chmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int lchmod (const char *__file, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__ )); extern int fchmodat (int __fd, const char *__file, __mode_t __mode, int __flag) __attribute__ ((__nothrow__ )) ; extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__ )); extern __mode_t getumask (void) __attribute__ ((__nothrow__ )); extern int mkdir (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int mkdirat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ )) ; extern int mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) __attribute__ ((__nothrow__ )) ; extern int mkfifo (const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int mkfifoat (int __fd, const char *__path, __mode_t __mode) __attribute__ ((__nothrow__ )) ; extern int utimensat (int __fd, const char *__path, const struct timespec __times[2], int __flags) __attribute__ ((__nothrow__ )) ; extern int futimens (int __fd, const struct timespec __times[2]) __attribute__ ((__nothrow__ )); # 398 "../io/sys/stat.h" extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __xstat (int __ver, const char *__filename, struct stat *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __lxstat (int __ver, const char *__filename, struct stat *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __fxstatat (int __ver, int __fildes, const char *__filename, struct stat *__stat_buf, int __flag) __attribute__ ((__nothrow__ )) ; # 431 "../io/sys/stat.h" extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __xstat64 (int __ver, const char *__filename, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __lxstat64 (int __ver, const char *__filename, struct stat64 *__stat_buf) __attribute__ ((__nothrow__ )) ; extern int __fxstatat64 (int __ver, int __fildes, const char *__filename, struct stat64 *__stat_buf, int __flag) __attribute__ ((__nothrow__ )) ; extern int __xmknod (int __ver, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__ )) ; extern int __xmknodat (int __ver, int __fd, const char *__path, __mode_t __mode, __dev_t *__dev) __attribute__ ((__nothrow__ )) ; extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) stat (const char *__path, struct stat *__statbuf) { return __xstat (3, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) lstat (const char *__path, struct stat *__statbuf) { return __lxstat (3, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) fstat (int __fd, struct stat *__statbuf) { return __fxstat (3, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) fstatat (int __fd, const char *__filename, struct stat *__statbuf, int __flag) { return __fxstatat (3, __fd, __filename, __statbuf, __flag); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) mknod (const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (1, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) mknodat (int __fd, const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknodat (1, __fd, __path, __mode, &__dev); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) stat64 (const char *__path, struct stat64 *__statbuf) { return __xstat64 (3, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) lstat64 (const char *__path, struct stat64 *__statbuf) { return __lxstat64 (3, __path, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) fstat64 (int __fd, struct stat64 *__statbuf) { return __fxstat64 (3, __fd, __statbuf); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) fstatat64 (int __fd, const char *__filename, struct stat64 *__statbuf, int __flag) { return __fxstatat64 (3, __fd, __filename, __statbuf, __flag); } # 3 "../include/sys/stat.h" 2 extern int __stat (const char *__file, struct stat *__buf); extern int __fstat (int __fd, struct stat *__buf); extern int __lstat (const char *__file, struct stat *__buf); extern int __chmod (const char *__file, __mode_t __mode); extern int __fchmod (int __fd, __mode_t __mode); extern __mode_t __umask (__mode_t __mask); extern int __mkdir (const char *__path, __mode_t __mode); extern int __mknod (const char *__path, __mode_t __mode, __dev_t __dev); # 23 "../include/sys/stat.h" extern __inline__ int __stat (const char *__path, struct stat *__statbuf) { return __xstat (3, __path, __statbuf); } extern __inline__ int __mknod (const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (1, __path, __mode, &__dev); } # 15 "../include/stdlib.h" 2 extern __typeof (strtol_l) __strtol_l; extern __typeof (strtoul_l) __strtoul_l; extern __typeof (strtoll_l) __strtoll_l; extern __typeof (strtoull_l) __strtoull_l; extern __typeof (strtod_l) __strtod_l; extern __typeof (strtof_l) __strtof_l; extern __typeof (strtold_l) __strtold_l; extern __typeof (secure_getenv) __libc_secure_getenv; extern long int __random (void); extern void __srandom (unsigned int __seed); extern char *__initstate (unsigned int __seed, char *__statebuf, size_t __statelen); extern char *__setstate (char *__statebuf); extern int __random_r (struct random_data *__buf, int32_t *__result); extern int __srandom_r (unsigned int __seed, struct random_data *__buf); extern int __initstate_r (unsigned int __seed, char *__statebuf, size_t __statelen, struct random_data *__buf); extern int __setstate_r (char *__statebuf, struct random_data *__buf); extern int __rand_r (unsigned int *__seed); extern int __erand48_r (unsigned short int __xsubi[3], struct drand48_data *__buffer, double *__result); extern int __nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__buffer, long int *__result); extern int __jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__buffer, long int *__result); extern int __srand48_r (long int __seedval, struct drand48_data *__buffer); extern int __seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer); extern int __lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer); extern int __drand48_iterate (unsigned short int __xsubi[3], struct drand48_data *__buffer); extern struct drand48_data __libc_drand48_data __attribute__ ((visibility ("hidden"))); extern int __setenv (const char *__name, const char *__value, int __replace); extern int __unsetenv (const char *__name); extern int __clearenv (void); extern char *__mktemp (char *__template) __attribute__ ((__nothrow__ )) ; extern char *__canonicalize_file_name (const char *__name); extern char *__realpath (const char *__name, char *__resolved); extern int __ptsname_r (int __fd, char *__buf, size_t __buflen); extern int __ptsname_internal (int fd, char *buf, size_t buflen, struct stat64 *stp); extern int __getpt (void); extern int __posix_openpt (int __oflag); extern int __add_to_environ (const char *name, const char *value, const char *combines, int replace); extern void _quicksort (void *const pbase, size_t total_elems, size_t size, __compar_d_fn_t cmp, void *arg); extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg); extern int __cxa_atexit (void (*func) (void *), void *arg, void *d); extern int __cxa_atexit_internal (void (*func) (void *), void *arg, void *d) __attribute__ ((visibility ("hidden"))); extern int __cxa_thread_atexit_impl (void (*func) (void *), void *arg, void *d); extern void __call_tls_dtors (void) ; extern void __cxa_finalize (void *d); extern int __posix_memalign (void **memptr, size_t alignment, size_t size); extern void *__libc_memalign (size_t alignment, size_t size) __attribute__ ((__malloc__)); extern int __libc_system (const char *line); extern double __strtod_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__ )) ; extern float __strtof_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__ )) ; extern long double __strtold_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group) __attribute__ ((__nothrow__ )) ; extern long int __strtol_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ )) ; extern unsigned long int __strtoul_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ )) ; __extension__ extern long long int __strtoll_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ )) ; __extension__ extern unsigned long long int __strtoull_internal (const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) __attribute__ ((__nothrow__ )) ; extern double ____strtod_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group, __locale_t __loc); extern float ____strtof_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group, __locale_t __loc); extern long double ____strtold_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __group, __locale_t __loc); extern long int ____strtol_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group, __locale_t __loc); extern unsigned long int ____strtoul_l_internal (const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group, __locale_t __loc); __extension__ extern long long int ____strtoll_l_internal (const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group, __locale_t __loc); __extension__ extern unsigned long long int ____strtoull_l_internal (const char * __restrict __nptr, char ** __restrict __endptr, int __base, int __group, __locale_t __loc); extern char *__ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign); extern char *__fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign); extern char *__gcvt (double __value, int __ndigit, char *__buf); extern int __ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len); extern int __fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len); extern char *__qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign); extern char *__qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign); extern char *__qgcvt (long double __value, int __ndigit, char *__buf); extern int __qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len); extern int __qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len); # 236 "../include/stdlib.h" extern void *__default_morecore (ptrdiff_t) __attribute__ ((__nothrow__ )); struct abort_msg_s { unsigned int size; char msg[0]; }; extern struct abort_msg_s *__abort_msg; # 28 "../sysdeps/i386/nptl/tls.h" 2 # 1 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 1 # 23 "../sysdeps/unix/sysv/linux/i386/sysdep.h" # 1 "../sysdeps/unix/i386/sysdep.h" 1 # 18 "../sysdeps/unix/i386/sysdep.h" # 1 "../sysdeps/unix/sysdep.h" 1 # 18 "../sysdeps/unix/sysdep.h" # 1 "../sysdeps/generic/sysdep.h" 1 # 97 "../sysdeps/generic/sysdep.h" # 1 "../sysdeps/generic/dwarf2.h" 1 # 38 "../sysdeps/generic/dwarf2.h" enum dwarf_tag { DW_TAG_padding = 0x00, DW_TAG_array_type = 0x01, DW_TAG_class_type = 0x02, DW_TAG_entry_point = 0x03, DW_TAG_enumeration_type = 0x04, DW_TAG_formal_parameter = 0x05, DW_TAG_imported_declaration = 0x08, DW_TAG_label = 0x0a, DW_TAG_lexical_block = 0x0b, DW_TAG_member = 0x0d, DW_TAG_pointer_type = 0x0f, DW_TAG_reference_type = 0x10, DW_TAG_compile_unit = 0x11, DW_TAG_string_type = 0x12, DW_TAG_structure_type = 0x13, DW_TAG_subroutine_type = 0x15, DW_TAG_typedef = 0x16, DW_TAG_union_type = 0x17, DW_TAG_unspecified_parameters = 0x18, DW_TAG_variant = 0x19, DW_TAG_common_block = 0x1a, DW_TAG_common_inclusion = 0x1b, DW_TAG_inheritance = 0x1c, DW_TAG_inlined_subroutine = 0x1d, DW_TAG_module = 0x1e, DW_TAG_ptr_to_member_type = 0x1f, DW_TAG_set_type = 0x20, DW_TAG_subrange_type = 0x21, DW_TAG_with_stmt = 0x22, DW_TAG_access_declaration = 0x23, DW_TAG_base_type = 0x24, DW_TAG_catch_block = 0x25, DW_TAG_const_type = 0x26, DW_TAG_constant = 0x27, DW_TAG_enumerator = 0x28, DW_TAG_file_type = 0x29, DW_TAG_friend = 0x2a, DW_TAG_namelist = 0x2b, DW_TAG_namelist_item = 0x2c, DW_TAG_packed_type = 0x2d, DW_TAG_subprogram = 0x2e, DW_TAG_template_type_param = 0x2f, DW_TAG_template_value_param = 0x30, DW_TAG_thrown_type = 0x31, DW_TAG_try_block = 0x32, DW_TAG_variant_part = 0x33, DW_TAG_variable = 0x34, DW_TAG_volatile_type = 0x35, DW_TAG_MIPS_loop = 0x4081, DW_TAG_format_label = 0x4101, DW_TAG_function_template = 0x4102, DW_TAG_class_template = 0x4103, DW_TAG_GNU_BINCL = 0x4104, DW_TAG_GNU_EINCL = 0x4105 }; # 106 "../sysdeps/generic/dwarf2.h" enum dwarf_form { DW_FORM_addr = 0x01, DW_FORM_block2 = 0x03, DW_FORM_block4 = 0x04, DW_FORM_data2 = 0x05, DW_FORM_data4 = 0x06, DW_FORM_data8 = 0x07, DW_FORM_string = 0x08, DW_FORM_block = 0x09, DW_FORM_block1 = 0x0a, DW_FORM_data1 = 0x0b, DW_FORM_flag = 0x0c, DW_FORM_sdata = 0x0d, DW_FORM_strp = 0x0e, DW_FORM_udata = 0x0f, DW_FORM_ref_addr = 0x10, DW_FORM_ref1 = 0x11, DW_FORM_ref2 = 0x12, DW_FORM_ref4 = 0x13, DW_FORM_ref8 = 0x14, DW_FORM_ref_udata = 0x15, DW_FORM_indirect = 0x16 }; enum dwarf_attribute { DW_AT_sibling = 0x01, DW_AT_location = 0x02, DW_AT_name = 0x03, DW_AT_ordering = 0x09, DW_AT_subscr_data = 0x0a, DW_AT_byte_size = 0x0b, DW_AT_bit_offset = 0x0c, DW_AT_bit_size = 0x0d, DW_AT_element_list = 0x0f, DW_AT_stmt_list = 0x10, DW_AT_low_pc = 0x11, DW_AT_high_pc = 0x12, DW_AT_language = 0x13, DW_AT_member = 0x14, DW_AT_discr = 0x15, DW_AT_discr_value = 0x16, DW_AT_visibility = 0x17, DW_AT_import = 0x18, DW_AT_string_length = 0x19, DW_AT_common_reference = 0x1a, DW_AT_comp_dir = 0x1b, DW_AT_const_value = 0x1c, DW_AT_containing_type = 0x1d, DW_AT_default_value = 0x1e, DW_AT_inline = 0x20, DW_AT_is_optional = 0x21, DW_AT_lower_bound = 0x22, DW_AT_producer = 0x25, DW_AT_prototyped = 0x27, DW_AT_return_addr = 0x2a, DW_AT_start_scope = 0x2c, DW_AT_stride_size = 0x2e, DW_AT_upper_bound = 0x2f, DW_AT_abstract_origin = 0x31, DW_AT_accessibility = 0x32, DW_AT_address_class = 0x33, DW_AT_artificial = 0x34, DW_AT_base_types = 0x35, DW_AT_calling_convention = 0x36, DW_AT_count = 0x37, DW_AT_data_member_location = 0x38, DW_AT_decl_column = 0x39, DW_AT_decl_file = 0x3a, DW_AT_decl_line = 0x3b, DW_AT_declaration = 0x3c, DW_AT_discr_list = 0x3d, DW_AT_encoding = 0x3e, DW_AT_external = 0x3f, DW_AT_frame_base = 0x40, DW_AT_friend = 0x41, DW_AT_identifier_case = 0x42, DW_AT_macro_info = 0x43, DW_AT_namelist_items = 0x44, DW_AT_priority = 0x45, DW_AT_segment = 0x46, DW_AT_specification = 0x47, DW_AT_static_link = 0x48, DW_AT_type = 0x49, DW_AT_use_location = 0x4a, DW_AT_variable_parameter = 0x4b, DW_AT_virtuality = 0x4c, DW_AT_vtable_elem_location = 0x4d, DW_AT_MIPS_fde = 0x2001, DW_AT_MIPS_loop_begin = 0x2002, DW_AT_MIPS_tail_loop_begin = 0x2003, DW_AT_MIPS_epilog_begin = 0x2004, DW_AT_MIPS_loop_unroll_factor = 0x2005, DW_AT_MIPS_software_pipeline_depth = 0x2006, DW_AT_MIPS_linkage_name = 0x2007, DW_AT_MIPS_stride = 0x2008, DW_AT_MIPS_abstract_name = 0x2009, DW_AT_MIPS_clone_origin = 0x200a, DW_AT_MIPS_has_inlines = 0x200b, DW_AT_sf_names = 0x2101, DW_AT_src_info = 0x2102, DW_AT_mac_info = 0x2103, DW_AT_src_coords = 0x2104, DW_AT_body_begin = 0x2105, DW_AT_body_end = 0x2106 }; enum dwarf_location_atom { DW_OP_addr = 0x03, DW_OP_deref = 0x06, DW_OP_const1u = 0x08, DW_OP_const1s = 0x09, DW_OP_const2u = 0x0a, DW_OP_const2s = 0x0b, DW_OP_const4u = 0x0c, DW_OP_const4s = 0x0d, DW_OP_const8u = 0x0e, DW_OP_const8s = 0x0f, DW_OP_constu = 0x10, DW_OP_consts = 0x11, DW_OP_dup = 0x12, DW_OP_drop = 0x13, DW_OP_over = 0x14, DW_OP_pick = 0x15, DW_OP_swap = 0x16, DW_OP_rot = 0x17, DW_OP_xderef = 0x18, DW_OP_abs = 0x19, DW_OP_and = 0x1a, DW_OP_div = 0x1b, DW_OP_minus = 0x1c, DW_OP_mod = 0x1d, DW_OP_mul = 0x1e, DW_OP_neg = 0x1f, DW_OP_not = 0x20, DW_OP_or = 0x21, DW_OP_plus = 0x22, DW_OP_plus_uconst = 0x23, DW_OP_shl = 0x24, DW_OP_shr = 0x25, DW_OP_shra = 0x26, DW_OP_xor = 0x27, DW_OP_bra = 0x28, DW_OP_eq = 0x29, DW_OP_ge = 0x2a, DW_OP_gt = 0x2b, DW_OP_le = 0x2c, DW_OP_lt = 0x2d, DW_OP_ne = 0x2e, DW_OP_skip = 0x2f, DW_OP_lit0 = 0x30, DW_OP_lit1 = 0x31, DW_OP_lit2 = 0x32, DW_OP_lit3 = 0x33, DW_OP_lit4 = 0x34, DW_OP_lit5 = 0x35, DW_OP_lit6 = 0x36, DW_OP_lit7 = 0x37, DW_OP_lit8 = 0x38, DW_OP_lit9 = 0x39, DW_OP_lit10 = 0x3a, DW_OP_lit11 = 0x3b, DW_OP_lit12 = 0x3c, DW_OP_lit13 = 0x3d, DW_OP_lit14 = 0x3e, DW_OP_lit15 = 0x3f, DW_OP_lit16 = 0x40, DW_OP_lit17 = 0x41, DW_OP_lit18 = 0x42, DW_OP_lit19 = 0x43, DW_OP_lit20 = 0x44, DW_OP_lit21 = 0x45, DW_OP_lit22 = 0x46, DW_OP_lit23 = 0x47, DW_OP_lit24 = 0x48, DW_OP_lit25 = 0x49, DW_OP_lit26 = 0x4a, DW_OP_lit27 = 0x4b, DW_OP_lit28 = 0x4c, DW_OP_lit29 = 0x4d, DW_OP_lit30 = 0x4e, DW_OP_lit31 = 0x4f, DW_OP_reg0 = 0x50, DW_OP_reg1 = 0x51, DW_OP_reg2 = 0x52, DW_OP_reg3 = 0x53, DW_OP_reg4 = 0x54, DW_OP_reg5 = 0x55, DW_OP_reg6 = 0x56, DW_OP_reg7 = 0x57, DW_OP_reg8 = 0x58, DW_OP_reg9 = 0x59, DW_OP_reg10 = 0x5a, DW_OP_reg11 = 0x5b, DW_OP_reg12 = 0x5c, DW_OP_reg13 = 0x5d, DW_OP_reg14 = 0x5e, DW_OP_reg15 = 0x5f, DW_OP_reg16 = 0x60, DW_OP_reg17 = 0x61, DW_OP_reg18 = 0x62, DW_OP_reg19 = 0x63, DW_OP_reg20 = 0x64, DW_OP_reg21 = 0x65, DW_OP_reg22 = 0x66, DW_OP_reg23 = 0x67, DW_OP_reg24 = 0x68, DW_OP_reg25 = 0x69, DW_OP_reg26 = 0x6a, DW_OP_reg27 = 0x6b, DW_OP_reg28 = 0x6c, DW_OP_reg29 = 0x6d, DW_OP_reg30 = 0x6e, DW_OP_reg31 = 0x6f, DW_OP_breg0 = 0x70, DW_OP_breg1 = 0x71, DW_OP_breg2 = 0x72, DW_OP_breg3 = 0x73, DW_OP_breg4 = 0x74, DW_OP_breg5 = 0x75, DW_OP_breg6 = 0x76, DW_OP_breg7 = 0x77, DW_OP_breg8 = 0x78, DW_OP_breg9 = 0x79, DW_OP_breg10 = 0x7a, DW_OP_breg11 = 0x7b, DW_OP_breg12 = 0x7c, DW_OP_breg13 = 0x7d, DW_OP_breg14 = 0x7e, DW_OP_breg15 = 0x7f, DW_OP_breg16 = 0x80, DW_OP_breg17 = 0x81, DW_OP_breg18 = 0x82, DW_OP_breg19 = 0x83, DW_OP_breg20 = 0x84, DW_OP_breg21 = 0x85, DW_OP_breg22 = 0x86, DW_OP_breg23 = 0x87, DW_OP_breg24 = 0x88, DW_OP_breg25 = 0x89, DW_OP_breg26 = 0x8a, DW_OP_breg27 = 0x8b, DW_OP_breg28 = 0x8c, DW_OP_breg29 = 0x8d, DW_OP_breg30 = 0x8e, DW_OP_breg31 = 0x8f, DW_OP_regx = 0x90, DW_OP_fbreg = 0x91, DW_OP_bregx = 0x92, DW_OP_piece = 0x93, DW_OP_deref_size = 0x94, DW_OP_xderef_size = 0x95, DW_OP_nop = 0x96 }; enum dwarf_type { DW_ATE_void = 0x0, DW_ATE_address = 0x1, DW_ATE_boolean = 0x2, DW_ATE_complex_float = 0x3, DW_ATE_float = 0x4, DW_ATE_signed = 0x5, DW_ATE_signed_char = 0x6, DW_ATE_unsigned = 0x7, DW_ATE_unsigned_char = 0x8 }; enum dwarf_array_dim_ordering { DW_ORD_row_major = 0, DW_ORD_col_major = 1 }; enum dwarf_access_attribute { DW_ACCESS_public = 1, DW_ACCESS_protected = 2, DW_ACCESS_private = 3 }; enum dwarf_visibility_attribute { DW_VIS_local = 1, DW_VIS_exported = 2, DW_VIS_qualified = 3 }; enum dwarf_virtuality_attribute { DW_VIRTUALITY_none = 0, DW_VIRTUALITY_virtual = 1, DW_VIRTUALITY_pure_virtual = 2 }; enum dwarf_id_case { DW_ID_case_sensitive = 0, DW_ID_up_case = 1, DW_ID_down_case = 2, DW_ID_case_insensitive = 3 }; enum dwarf_calling_convention { DW_CC_normal = 0x1, DW_CC_program = 0x2, DW_CC_nocall = 0x3 }; enum dwarf_inline_attribute { DW_INL_not_inlined = 0, DW_INL_inlined = 1, DW_INL_declared_not_inlined = 2, DW_INL_declared_inlined = 3 }; enum dwarf_discrim_list { DW_DSC_label = 0, DW_DSC_range = 1 }; enum dwarf_line_number_ops { DW_LNS_extended_op = 0, DW_LNS_copy = 1, DW_LNS_advance_pc = 2, DW_LNS_advance_line = 3, DW_LNS_set_file = 4, DW_LNS_set_column = 5, DW_LNS_negate_stmt = 6, DW_LNS_set_basic_block = 7, DW_LNS_const_add_pc = 8, DW_LNS_fixed_advance_pc = 9 }; enum dwarf_line_number_x_ops { DW_LNE_end_sequence = 1, DW_LNE_set_address = 2, DW_LNE_define_file = 3 }; enum dwarf_call_frame_info { DW_CFA_advance_loc = 0x40, DW_CFA_offset = 0x80, DW_CFA_restore = 0xc0, DW_CFA_nop = 0x00, DW_CFA_set_loc = 0x01, DW_CFA_advance_loc1 = 0x02, DW_CFA_advance_loc2 = 0x03, DW_CFA_advance_loc4 = 0x04, DW_CFA_offset_extended = 0x05, DW_CFA_restore_extended = 0x06, DW_CFA_undefined = 0x07, DW_CFA_same_value = 0x08, DW_CFA_register = 0x09, DW_CFA_remember_state = 0x0a, DW_CFA_restore_state = 0x0b, DW_CFA_def_cfa = 0x0c, DW_CFA_def_cfa_register = 0x0d, DW_CFA_def_cfa_offset = 0x0e, DW_CFA_def_cfa_expression = 0x0f, DW_CFA_expression = 0x10, DW_CFA_offset_extended_sf = 0x11, DW_CFA_def_cfa_sf = 0x12, DW_CFA_def_cfa_offset_sf = 0x13, DW_CFA_MIPS_advance_loc8 = 0x1d, DW_CFA_GNU_window_save = 0x2d, DW_CFA_GNU_args_size = 0x2e, DW_CFA_GNU_negative_offset_extended = 0x2f }; # 534 "../sysdeps/generic/dwarf2.h" enum dwarf_source_language { DW_LANG_C89 = 0x0001, DW_LANG_C = 0x0002, DW_LANG_Ada83 = 0x0003, DW_LANG_C_plus_plus = 0x0004, DW_LANG_Cobol74 = 0x0005, DW_LANG_Cobol85 = 0x0006, DW_LANG_Fortran77 = 0x0007, DW_LANG_Fortran90 = 0x0008, DW_LANG_Pascal83 = 0x0009, DW_LANG_Modula2 = 0x000a, DW_LANG_Java = 0x000b, DW_LANG_Mips_Assembler = 0x8001 }; enum dwarf_macinfo_record_type { DW_MACINFO_define = 1, DW_MACINFO_undef = 2, DW_MACINFO_start_file = 3, DW_MACINFO_end_file = 4, DW_MACINFO_vendor_ext = 255 }; # 97 "../sysdeps/generic/sysdep.h" 2 # 19 "../sysdeps/unix/sysdep.h" 2 # 1 "../sysdeps/unix/sysv/linux/sys/syscall.h" 1 # 24 "../sysdeps/unix/sysv/linux/sys/syscall.h" # 1 "/usr/include/asm/unistd.h" 1 3 4 # 1 "/usr/include/asm/unistd_32.h" 1 3 4 # 9 "/usr/include/asm/unistd.h" 2 3 4 # 25 "../sysdeps/unix/sysv/linux/sys/syscall.h" 2 # 21 "../sysdeps/unix/sysdep.h" 2 # 19 "../sysdeps/unix/i386/sysdep.h" 2 # 1 "../sysdeps/i386/sysdep.h" 1 # 19 "../sysdeps/i386/sysdep.h" # 1 "../sysdeps/generic/sysdep.h" 1 # 20 "../sysdeps/i386/sysdep.h" 2 # 20 "../sysdeps/unix/i386/sysdep.h" 2 # 24 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2 # 1 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 1 # 21 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1 # 19 "../sysdeps/unix/sysv/linux/dl-sysdep.h" # 1 "../sysdeps/generic/dl-sysdep.h" 1 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/dl-sysdep.h" extern int _dl_discover_osversion (void) __attribute__ ((visibility ("hidden"))); # 22 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" extern void _dl_sysinfo_int80 (void) __attribute__ ((visibility ("hidden"))); # 26 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2 # 1 "../sysdeps/i386/nptl/tls.h" 1 # 27 "../sysdeps/unix/sysv/linux/i386/sysdep.h" 2 # 280 "../sysdeps/unix/sysv/linux/i386/sysdep.h" asm (".L__X'%ebx = 1\n\t" ".L__X'%ecx = 2\n\t" ".L__X'%edx = 2\n\t" ".L__X'%eax = 3\n\t" ".L__X'%esi = 3\n\t" ".L__X'%edi = 3\n\t" ".L__X'%ebp = 3\n\t" ".L__X'%esp = 3\n\t" ".macro bpushl name reg\n\t" ".if 1 - \\name\n\t" ".if 2 - \\name\n\t" "error\n\t" ".else\n\t" "xchgl \\reg, %ebx\n\t" ".endif\n\t" ".endif\n\t" ".endm\n\t" ".macro bpopl name reg\n\t" ".if 1 - \\name\n\t" ".if 2 - \\name\n\t" "error\n\t" ".else\n\t" "xchgl \\reg, %ebx\n\t" ".endif\n\t" ".endif\n\t" ".endm\n\t"); # 29 "../sysdeps/i386/nptl/tls.h" 2 # 1 "../include/libc-internal.h" 1 # 1 "../sysdeps/generic/hp-timing.h" 1 # 31 "../sysdeps/generic/hp-timing.h" typedef int hp_timing_t; # 8 "../include/libc-internal.h" 2 extern void __libc_init_secure (void); extern void __libc_global_ctors (void); extern int __profile_frequency (void); extern void __cyg_profile_func_enter (void *this_fn, void *call_site); extern void __cyg_profile_func_exit (void *this_fn, void *call_site); extern hp_timing_t __get_clockfreq (void); extern void __libc_freeres (void); extern void __libc_thread_freeres (void); extern void __init_misc (int, char **, char **); # 30 "../sysdeps/i386/nptl/tls.h" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 31 "../sysdeps/i386/nptl/tls.h" 2 typedef union dtv { size_t counter; struct { void *val; _Bool is_static; } pointer; } dtv_t; typedef struct { void *tcb; dtv_t *dtv; void *self; int multiple_threads; uintptr_t sysinfo; uintptr_t stack_guard; uintptr_t pointer_guard; int gscope_flag; int __glibc_reserved1; void *__private_tm[4]; void *__private_ss; } tcbhead_t; # 85 "../sysdeps/i386/nptl/tls.h" struct user_desc { unsigned int entry_number; unsigned long int base_addr; unsigned int limit; unsigned int seg_32bit:1; unsigned int contents:2; unsigned int read_exec_only:1; unsigned int limit_in_pages:1; unsigned int seg_not_present:1; unsigned int useable:1; unsigned int empty:25; }; union user_desc_init { struct user_desc desc; unsigned int vals[4]; }; # 127 "../sysdeps/i386/nptl/tls.h" # 1 "../nptl/descr.h" 1 # 22 "../nptl/descr.h" # 1 "../include/limits.h" 1 # 143 "../include/limits.h" # 1 "../include/bits/posix1_lim.h" 1 # 144 "../include/limits.h" 2 # 1 "../include/bits/posix2_lim.h" 1 # 148 "../include/limits.h" 2 # 23 "../nptl/descr.h" 2 # 1 "../include/sched.h" 1 # 1 "../posix/sched.h" 1 # 28 "../posix/sched.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 29 "../posix/sched.h" 2 # 1 "../include/time.h" 1 # 1 "../time/time.h" 1 # 4 "../include/time.h" 2 # 35 "../posix/sched.h" 2 # 43 "../posix/sched.h" # 1 "../sysdeps/unix/sysv/linux/bits/sched.h" 1 # 72 "../sysdeps/unix/sysv/linux/bits/sched.h" struct sched_param { int __sched_priority; }; extern int clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...) __attribute__ ((__nothrow__ )); extern int unshare (int __flags) __attribute__ ((__nothrow__ )); extern int sched_getcpu (void) __attribute__ ((__nothrow__ )); extern int setns (int __fd, int __nstype) __attribute__ ((__nothrow__ )); struct __sched_param { int __sched_priority; }; # 118 "../sysdeps/unix/sysv/linux/bits/sched.h" typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; } cpu_set_t; # 201 "../sysdeps/unix/sysv/linux/bits/sched.h" extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) __attribute__ ((__nothrow__ )); extern cpu_set_t *__sched_cpualloc (size_t __count) __attribute__ ((__nothrow__ )) ; extern void __sched_cpufree (cpu_set_t *__set) __attribute__ ((__nothrow__ )); # 44 "../posix/sched.h" 2 extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) __attribute__ ((__nothrow__ )); extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__ )); extern int sched_setscheduler (__pid_t __pid, int __policy, const struct sched_param *__param) __attribute__ ((__nothrow__ )); extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__ )); extern int sched_yield (void) __attribute__ ((__nothrow__ )); extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__ )); extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__ )); extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__ )); # 118 "../posix/sched.h" extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, const cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )); extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )); # 3 "../include/sched.h" 2 extern int __sched_setparam (__pid_t __pid, const struct sched_param *__param); extern int __sched_getparam (__pid_t __pid, struct sched_param *__param); extern int __sched_setscheduler (__pid_t __pid, int __policy, const struct sched_param *__param); extern int __sched_getscheduler (__pid_t __pid); extern int __sched_yield (void); extern int __sched_get_priority_max (int __algorithm); extern int __sched_get_priority_min (int __algorithm); extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t); extern int __clone (int (*__fn) (void *__arg), void *__child_stack, int __flags, void *__arg, ...); extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base, size_t __child_stack_size, int __flags, void *__arg, ...); # 24 "../nptl/descr.h" 2 # 1 "../include/setjmp.h" 1 # 1 "../setjmp/setjmp.h" 1 # 27 "../setjmp/setjmp.h" # 1 "../sysdeps/x86/bits/setjmp.h" 1 # 26 "../sysdeps/x86/bits/setjmp.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 27 "../sysdeps/x86/bits/setjmp.h" 2 # 35 "../sysdeps/x86/bits/setjmp.h" typedef int __jmp_buf[6]; # 30 "../setjmp/setjmp.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1 # 31 "../setjmp/setjmp.h" 2 struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; }; typedef struct __jmp_buf_tag jmp_buf[1]; extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__)); extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__)); extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__)); extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); typedef struct __jmp_buf_tag sigjmp_buf[1]; # 102 "../setjmp/setjmp.h" extern void siglongjmp (sigjmp_buf __env, int __val) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__)); # 112 "../setjmp/setjmp.h" # 3 "../include/setjmp.h" 2 extern void __longjmp (__jmp_buf __env, int __val) __attribute__ ((__noreturn__)); extern int __sigjmp_save (jmp_buf __env, int __savemask); extern void _longjmp_unwind (jmp_buf env, int val); extern void __libc_siglongjmp (sigjmp_buf env, int val) __attribute__ ((noreturn)); extern void __libc_longjmp (sigjmp_buf env, int val) __attribute__ ((noreturn)); # 25 "../nptl/descr.h" 2 # 1 "../include/sys/types.h" 1 # 27 "../nptl/descr.h" 2 # 1 "../include/list.h" 1 # 34 "../include/list.h" typedef struct list_head { struct list_head *next; struct list_head *prev; } list_t; # 30 "../nptl/descr.h" 2 # 1 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 1 # 22 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" # 1 "../include/stap-probe.h" 1 # 23 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 2 # 1 "../include/time.h" 1 # 1 "../time/time.h" 1 # 29 "../time/time.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 38 "../time/time.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/time.h" 1 # 86 "../sysdeps/unix/sysv/linux/bits/time.h" # 1 "../sysdeps/unix/sysv/linux/bits/timex.h" 1 # 25 "../sysdeps/unix/sysv/linux/bits/timex.h" struct timex { unsigned int modes; __syscall_slong_t offset; __syscall_slong_t freq; __syscall_slong_t maxerror; __syscall_slong_t esterror; int status; __syscall_slong_t constant; __syscall_slong_t precision; __syscall_slong_t tolerance; struct timeval time; __syscall_slong_t tick; __syscall_slong_t ppsfreq; __syscall_slong_t jitter; int shift; __syscall_slong_t stabil; __syscall_slong_t jitcnt; __syscall_slong_t calcnt; __syscall_slong_t errcnt; __syscall_slong_t stbcnt; int tai; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32; }; # 87 "../sysdeps/unix/sysv/linux/bits/time.h" 2 extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __attribute__ ((__nothrow__ )); # 42 "../time/time.h" 2 # 131 "../time/time.h" struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 186 "../time/time.h" extern clock_t clock (void) __attribute__ ((__nothrow__ )); extern time_t time (time_t *__timer) __attribute__ ((__nothrow__ )); extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__ )); extern size_t strftime (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp) __attribute__ ((__nothrow__ )); extern char *strptime (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp) __attribute__ ((__nothrow__ )); # 1 "../include/xlocale.h" 1 # 222 "../time/time.h" 2 extern size_t strftime_l (char *__restrict __s, size_t __maxsize, const char *__restrict __format, const struct tm *__restrict __tp, __locale_t __loc) __attribute__ ((__nothrow__ )); extern char *strptime_l (const char *__restrict __s, const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) __attribute__ ((__nothrow__ )); extern struct tm *gmtime (const time_t *__timer) __attribute__ ((__nothrow__ )); extern struct tm *localtime (const time_t *__timer) __attribute__ ((__nothrow__ )); extern struct tm *gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ )); extern struct tm *localtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp) __attribute__ ((__nothrow__ )); extern char *asctime (const struct tm *__tp) __attribute__ ((__nothrow__ )); extern char *ctime (const time_t *__timer) __attribute__ ((__nothrow__ )); extern char *asctime_r (const struct tm *__restrict __tp, char *__restrict __buf) __attribute__ ((__nothrow__ )); extern char *ctime_r (const time_t *__restrict __timer, char *__restrict __buf) __attribute__ ((__nothrow__ )); extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) __attribute__ ((__nothrow__ )); extern int daylight; extern long int timezone; extern int stime (const time_t *__when) __attribute__ ((__nothrow__ )); # 319 "../time/time.h" extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__ )); extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__ )); extern int dysize (int __year) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 334 "../time/time.h" extern int nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__ )); extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__ )); extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) __attribute__ ((__nothrow__ )); extern int clock_nanosleep (clockid_t __clock_id, int __flags, const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__ )); extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) __attribute__ ((__nothrow__ )); extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__ )); extern int timer_settime (timer_t __timerid, int __flags, const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__ )); extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) __attribute__ ((__nothrow__ )); extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__ )); extern int timespec_get (struct timespec *__ts, int __base) __attribute__ ((__nothrow__ )) ; # 403 "../time/time.h" extern int getdate_err; # 412 "../time/time.h" extern struct tm *getdate (const char *__string); # 426 "../time/time.h" extern int getdate_r (const char *__restrict __string, struct tm *__restrict __resbufp); # 6 "../include/time.h" 2 # 1 "../include/xlocale.h" 1 # 7 "../include/time.h" 2 extern __typeof (strftime_l) __strftime_l; extern __typeof (strptime_l) __strptime_l; extern __typeof (clock_getres) __clock_getres; extern __typeof (clock_gettime) __clock_gettime; extern __typeof (clock_settime) __clock_settime; extern __typeof (clock_nanosleep) __clock_nanosleep; extern __typeof (clock_getcpuclockid) __clock_getcpuclockid; struct tm; extern const unsigned short int __mon_yday[2][13] __attribute__ ((visibility ("hidden"))); extern struct tm _tmbuf __attribute__ ((visibility ("hidden"))); extern char *__tzstring (const char *string); extern size_t __tzname_cur_max __attribute__ ((visibility ("hidden"))); extern int __use_tzfile __attribute__ ((visibility ("hidden"))); extern void __tzfile_read (const char *file, size_t extra, char **extrap); extern void __tzfile_compute (time_t timer, int use_localtime, long int *leap_correct, int *leap_hit, struct tm *tp); extern void __tzfile_default (const char *std, const char *dst, long int stdoff, long int dstoff); extern void __tzset_parse_tz (const char *tz); extern void __tz_compute (time_t timer, struct tm *tm, int use_localtime) __attribute__ ((__nothrow__ )) __attribute__ ((regparm (3), stdcall)); extern time_t __mktime_internal (struct tm *__tp, struct tm *(*__func) (const time_t *, struct tm *), time_t *__offset); extern struct tm *__localtime_r (const time_t *__timer, struct tm *__tp) __attribute__ ((visibility ("hidden"))); extern struct tm *__gmtime_r (const time_t *__restrict __timer, struct tm *__restrict __tp); extern int __offtime (const time_t *__timer, long int __offset, struct tm *__tp); extern char *__asctime_r (const struct tm *__tp, char *__buf); extern void __tzset (void); extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct tm *tp); extern long int __tzname_max (void); extern int __nanosleep (const struct timespec *__requested_time, struct timespec *__remaining); extern int __nanosleep_nocancel (const struct timespec *__requested_time, struct timespec *__remaining) __attribute__ ((visibility ("hidden"))); extern int __getdate_r (const char *__string, struct tm *__resbufp); extern int __getclktck (void); extern char * __strptime_internal (const char *rp, const char *fmt, struct tm *tm, void *statep, __locale_t locparam) __attribute__ ((regparm (3), stdcall)); extern double __difftime (time_t time1, time_t time0); # 26 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 2 # 1 "../include/sys/param.h" 1 # 1 "../misc/sys/param.h" 1 # 23 "../misc/sys/param.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 24 "../misc/sys/param.h" 2 # 1 "../include/sys/types.h" 1 # 26 "../misc/sys/param.h" 2 # 1 "../include/limits.h" 1 # 143 "../include/limits.h" # 1 "../include/bits/posix1_lim.h" 1 # 144 "../include/limits.h" 2 # 1 "../include/bits/posix2_lim.h" 1 # 148 "../include/limits.h" 2 # 27 "../misc/sys/param.h" 2 # 1 "../include/endian.h" 1 # 28 "../misc/sys/param.h" 2 # 1 "../include/signal.h" 1 # 1 "../signal/signal.h" 1 # 30 "../signal/signal.h" # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1 # 102 "../sysdeps/unix/sysv/linux/bits/sigset.h" extern int __sigismember (const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 116 "../sysdeps/unix/sysv/linux/bits/sigset.h" extern __inline __attribute__ ((__gnu_inline__)) int __sigismember (const __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return (__set->__val[__word] & __mask) ? 1 : 0; } extern __inline __attribute__ ((__gnu_inline__)) int __sigaddset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] |= __mask), 0); } extern __inline __attribute__ ((__gnu_inline__)) int __sigdelset ( __sigset_t *__set, int __sig) { unsigned long int __mask = (((unsigned long int) 1) << (((__sig) - 1) % (8 * sizeof (unsigned long int)))); unsigned long int __word = (((__sig) - 1) / (8 * sizeof (unsigned long int))); return ((__set->__val[__word] &= ~__mask), 0); } # 33 "../signal/signal.h" 2 typedef __sig_atomic_t sig_atomic_t; # 57 "../signal/signal.h" # 1 "../sysdeps/unix/sysv/linux/bits/signum.h" 1 # 58 "../signal/signal.h" 2 # 80 "../signal/signal.h" # 1 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" 1 # 24 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 25 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" 2 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 58 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" typedef __clock_t __sigchld_clock_t; typedef struct { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __sigchld_clock_t si_utime; __sigchld_clock_t si_stime; } _sigchld; struct { void *si_addr; short int si_addr_lsb; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; struct { void *_call_addr; int _syscall; unsigned int _arch; } _sigsys; } _sifields; } siginfo_t ; # 153 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR, BUS_MCEERR_AR, BUS_MCEERR_AO }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 313 "../sysdeps/unix/sysv/linux/x86/bits/siginfo.h" typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; __pid_t _tid; struct { void (*_function) (sigval_t); pthread_attr_t *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 81 "../signal/signal.h" 2 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ )); extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ )); extern __sighandler_t signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ )); # 114 "../signal/signal.h" extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ )); extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__ )); extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__ )); extern int raise (int __sig) __attribute__ ((__nothrow__ )); extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) __attribute__ ((__nothrow__ )); extern int gsignal (int __sig) __attribute__ ((__nothrow__ )); extern void psignal (int __sig, const char *__s); extern void psiginfo (const siginfo_t *__pinfo, const char *__s); # 167 "../signal/signal.h" extern int __sigpause (int __sig_or_mask, int __is_sig); extern int sigpause (int __sig) __asm__ ("__xpg_sigpause"); # 189 "../signal/signal.h" extern int sigblock (int __mask) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int sigsetmask (int __mask) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int siggetmask (void) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); # 204 "../signal/signal.h" typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__ )) ; extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__ )) ; extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ )) ; extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__ )) ; extern int sigismember (const sigset_t *__set, int __signo) __attribute__ ((__nothrow__ )) ; extern int sigisemptyset (const sigset_t *__set) __attribute__ ((__nothrow__ )) ; extern int sigandset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ )) ; extern int sigorset (sigset_t *__set, const sigset_t *__left, const sigset_t *__right) __attribute__ ((__nothrow__ )) ; # 1 "../sysdeps/unix/sysv/linux/bits/sigaction.h" 1 # 24 "../sysdeps/unix/sysv/linux/bits/sigaction.h" struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 246 "../signal/signal.h" 2 extern int sigprocmask (int __how, const sigset_t *__restrict __set, sigset_t *__restrict __oset) __attribute__ ((__nothrow__ )); extern int sigsuspend (const sigset_t *__set) ; extern int sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) __attribute__ ((__nothrow__ )); extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__ )) ; extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) ; extern int sigwaitinfo (const sigset_t *__restrict __set, siginfo_t *__restrict __info) ; extern int sigtimedwait (const sigset_t *__restrict __set, siginfo_t *__restrict __info, const struct timespec *__restrict __timeout) ; extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) __attribute__ ((__nothrow__ )); # 303 "../signal/signal.h" extern const char *const _sys_siglist[65]; extern const char *const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 327 "../signal/signal.h" extern int sigvec (int __sig, const struct sigvec *__vec, struct sigvec *__ovec) __attribute__ ((__nothrow__ )); # 1 "../sysdeps/unix/sysv/linux/x86/bits/sigcontext.h" 1 # 29 "../sysdeps/unix/sysv/linux/x86/bits/sigcontext.h" struct _fpx_sw_bytes { __uint32_t magic1; __uint32_t extended_size; __uint64_t xstate_bv; __uint32_t xstate_size; __uint32_t padding[7]; }; struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { __uint32_t element[4]; }; struct _fpstate { __uint32_t cw; __uint32_t sw; __uint32_t tag; __uint32_t ipoff; __uint32_t cssel; __uint32_t dataoff; __uint32_t datasel; struct _fpreg _st[8]; unsigned short status; unsigned short magic; __uint32_t _fxsr_env[6]; __uint32_t mxcsr; __uint32_t reserved; struct _fpxreg _fxsr_st[8]; struct _xmmreg _xmm[8]; __uint32_t padding[56]; }; # 93 "../sysdeps/unix/sysv/linux/x86/bits/sigcontext.h" struct sigcontext { unsigned short gs, __gsh; unsigned short fs, __fsh; unsigned short es, __esh; unsigned short ds, __dsh; unsigned long edi; unsigned long esi; unsigned long ebp; unsigned long esp; unsigned long ebx; unsigned long edx; unsigned long ecx; unsigned long eax; unsigned long trapno; unsigned long err; unsigned long eip; unsigned short cs, __csh; unsigned long eflags; unsigned long esp_at_signal; unsigned short ss, __ssh; struct _fpstate * fpstate; unsigned long oldmask; unsigned long cr2; }; # 175 "../sysdeps/unix/sysv/linux/x86/bits/sigcontext.h" struct _xsave_hdr { __uint64_t xstate_bv; __uint64_t reserved1[2]; __uint64_t reserved2[5]; }; struct _ymmh_state { __uint32_t ymmh_space[64]; }; struct _xstate { struct _fpstate fpstate; struct _xsave_hdr xstate_hdr; struct _ymmh_state ymmh; }; # 333 "../signal/signal.h" 2 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__ )); # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 343 "../signal/signal.h" 2 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__ )); # 1 "../sysdeps/unix/sysv/linux/bits/sigstack.h" 1 # 25 "../sysdeps/unix/sysv/linux/bits/sigstack.h" struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 49 "../sysdeps/unix/sysv/linux/bits/sigstack.h" typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 350 "../signal/signal.h" 2 # 1 "../sysdeps/unix/sysv/linux/x86/sys/ucontext.h" 1 # 22 "../sysdeps/unix/sysv/linux/x86/sys/ucontext.h" # 1 "../include/signal.h" 1 # 23 "../sysdeps/unix/sysv/linux/x86/sys/ucontext.h" 2 # 146 "../sysdeps/unix/sysv/linux/x86/sys/ucontext.h" typedef int greg_t; typedef greg_t gregset_t[19]; enum { REG_GS = 0, REG_FS, REG_ES, REG_DS, REG_EDI, REG_ESI, REG_EBP, REG_ESP, REG_EBX, REG_EDX, REG_ECX, REG_EAX, REG_TRAPNO, REG_ERR, REG_EIP, REG_CS, REG_EFL, REG_UESP, REG_SS }; struct _libc_fpreg { unsigned short int significand[4]; unsigned short int exponent; }; struct _libc_fpstate { unsigned long int cw; unsigned long int sw; unsigned long int tag; unsigned long int ipoff; unsigned long int cssel; unsigned long int dataoff; unsigned long int datasel; struct _libc_fpreg _st[8]; unsigned long int status; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; unsigned long int oldmask; unsigned long int cr2; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 353 "../signal/signal.h" 2 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int sigaltstack (const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__ )); extern int sighold (int __sig) __attribute__ ((__nothrow__ )); extern int sigrelse (int __sig) __attribute__ ((__nothrow__ )); extern int sigignore (int __sig) __attribute__ ((__nothrow__ )); extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__ )); # 1 "../sysdeps/pthread/bits/sigthread.h" 1 # 30 "../sysdeps/pthread/bits/sigthread.h" extern int pthread_sigmask (int __how, const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__ )); extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__ )); extern int pthread_sigqueue (pthread_t __threadid, int __signo, const union sigval __value) __attribute__ ((__nothrow__ )); # 389 "../signal/signal.h" 2 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__ )); extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__ )); # 6 "../include/signal.h" 2 extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler); extern int __kill (__pid_t __pid, int __sig); extern int __sigaction (int __sig, const struct sigaction *__restrict __act, struct sigaction *__restrict __oact); extern int __sigblock (int __mask); extern int __sigsetmask (int __mask); extern int __sigprocmask (int __how, const sigset_t *__set, sigset_t *__oset); extern int __sigsuspend (const sigset_t *__set); extern int __sigsuspend_nocancel (const sigset_t *__set) __attribute__ ((visibility ("hidden"))); extern int __sigwait (const sigset_t *__set, int *__sig); extern int __sigwaitinfo (const sigset_t *__set, siginfo_t *__info); extern int __sigtimedwait (const sigset_t *__set, siginfo_t *__info, const struct timespec *__timeout); extern int __sigqueue (__pid_t __pid, int __sig, const union sigval __val); extern int __sigvec (int __sig, const struct sigvec *__vec, struct sigvec *__ovec); extern int __sigreturn (struct sigcontext *__scp); extern int __sigaltstack (const struct sigaltstack *__ss, struct sigaltstack *__oss); extern int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact); extern int __sigpause (int sig_or_mask, int is_sig); extern int __default_sigpause (int mask); extern int __xpg_sigpause (int sig); # 63 "../include/signal.h" extern int __libc_allocate_rtsig (int __high); # 29 "../misc/sys/param.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/param.h" 1 # 28 "../sysdeps/unix/sysv/linux/bits/param.h" # 1 "/usr/include/linux/param.h" 1 3 4 # 1 "/usr/include/asm/param.h" 1 3 4 # 1 "/usr/include/asm-generic/param.h" 1 3 4 # 1 "/usr/include/asm/param.h" 2 3 4 # 5 "/usr/include/linux/param.h" 2 3 4 # 29 "../sysdeps/unix/sysv/linux/bits/param.h" 2 # 32 "../misc/sys/param.h" 2 # 1 "../include/sys/param.h" 2 # 27 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 29 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 2 # 1 "/suse/schwab/src/libc/i586/tcb-offsets.h" 1 # 30 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" 2 # 305 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" extern int __lll_timedlock_elision (int *futex, short *adapt_count, const struct timespec *timeout, int private) __attribute__ ((visibility ("hidden"))); # 407 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" extern int __lll_timedwait_tid (int *tid, const struct timespec *abstime) __attribute__ ((regparm (2))) __attribute__ ((visibility ("hidden"))); # 421 "../sysdeps/unix/sysv/linux/i386/lowlevellock.h" extern int __lll_lock_elision (int *futex, short *adapt_count, int private) __attribute__ ((visibility ("hidden"))); extern int __lll_unlock_elision(int *lock, int private) __attribute__ ((visibility ("hidden"))); extern int __lll_trylock_elision(int *lock, short *adapt_count) __attribute__ ((visibility ("hidden"))); # 31 "../nptl/descr.h" 2 # 1 "../sysdeps/i386/nptl/pthreaddef.h" 1 # 32 "../nptl/descr.h" 2 # 1 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 1 # 21 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1 # 19 "../sysdeps/unix/sysv/linux/dl-sysdep.h" # 1 "../sysdeps/generic/dl-sysdep.h" 1 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/dl-sysdep.h" extern int _dl_discover_osversion (void) __attribute__ ((visibility ("hidden"))); # 22 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" extern void _dl_sysinfo_int80 (void) __attribute__ ((visibility ("hidden"))); # 33 "../nptl/descr.h" 2 # 1 "../nptl/../nptl_db/thread_db.h" 1 # 25 "../nptl/../nptl_db/thread_db.h" # 1 "../include/pthread.h" 1 # 1 "../sysdeps/nptl/pthread.h" 1 # 22 "../sysdeps/nptl/pthread.h" # 1 "../include/endian.h" 1 # 23 "../sysdeps/nptl/pthread.h" 2 # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 29 "../sysdeps/nptl/pthread.h" 2 enum { PTHREAD_CREATE_JOINABLE, PTHREAD_CREATE_DETACHED }; enum { PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ADAPTIVE_NP , PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP }; enum { PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST }; enum { PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT }; # 116 "../sysdeps/nptl/pthread.h" enum { PTHREAD_RWLOCK_PREFER_READER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NP, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP }; # 157 "../sysdeps/nptl/pthread.h" enum { PTHREAD_INHERIT_SCHED, PTHREAD_EXPLICIT_SCHED }; enum { PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS }; enum { PTHREAD_PROCESS_PRIVATE, PTHREAD_PROCESS_SHARED }; # 192 "../sysdeps/nptl/pthread.h" struct _pthread_cleanup_buffer { void (*__routine) (void *); void *__arg; int __canceltype; struct _pthread_cleanup_buffer *__prev; }; enum { PTHREAD_CANCEL_ENABLE, PTHREAD_CANCEL_DISABLE }; enum { PTHREAD_CANCEL_DEFERRED, PTHREAD_CANCEL_ASYNCHRONOUS }; # 230 "../sysdeps/nptl/pthread.h" extern int pthread_create (pthread_t *__restrict __newthread, const pthread_attr_t *__restrict __attr, void *(*__start_routine) (void *), void *__restrict __arg) __attribute__ ((__nothrow__)) ; extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); extern int pthread_join (pthread_t __th, void **__thread_return); extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __attribute__ ((__nothrow__ )); extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, const struct timespec *__abstime); extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__ )); extern pthread_t pthread_self (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_destroy (pthread_attr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, int *__detachstate) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, int __detachstate) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, size_t *__guardsize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setguardsize (pthread_attr_t *__attr, size_t __guardsize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, struct sched_param *__restrict __param) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, const struct sched_param *__restrict __param) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict __attr, int *__restrict __policy) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict __attr, int *__restrict __inherit) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, int __inherit) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, int *__restrict __scope) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, size_t __cpusetsize, const cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )) ; extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, size_t __cpusetsize, cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )) ; extern int pthread_getattr_default_np (pthread_attr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_setattr_default_np (const pthread_attr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_setschedparam (pthread_t __target_thread, int __policy, const struct sched_param *__param) __attribute__ ((__nothrow__ )) ; extern int pthread_getschedparam (pthread_t __target_thread, int *__restrict __policy, struct sched_param *__restrict __param) __attribute__ ((__nothrow__ )) ; extern int pthread_setschedprio (pthread_t __target_thread, int __prio) __attribute__ ((__nothrow__ )); extern int pthread_getname_np (pthread_t __target_thread, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) ; extern int pthread_setname_np (pthread_t __target_thread, const char *__name) __attribute__ ((__nothrow__ )) ; extern int pthread_getconcurrency (void) __attribute__ ((__nothrow__ )); extern int pthread_setconcurrency (int __level) __attribute__ ((__nothrow__ )); extern int pthread_yield (void) __attribute__ ((__nothrow__ )); extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, const cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )) ; extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, cpu_set_t *__cpuset) __attribute__ ((__nothrow__ )) ; # 496 "../sysdeps/nptl/pthread.h" extern int pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)) ; # 508 "../sysdeps/nptl/pthread.h" extern int pthread_setcancelstate (int __state, int *__oldstate); extern int pthread_setcanceltype (int __type, int *__oldtype); extern int pthread_cancel (pthread_t __th); extern void pthread_testcancel (void); typedef struct { struct { __jmp_buf __cancel_jmp_buf; int __mask_was_saved; } __cancel_jmp_buf[1]; void *__pad[4]; } __pthread_unwind_buf_t __attribute__ ((__aligned__)); # 542 "../sysdeps/nptl/pthread.h" struct __pthread_cleanup_frame { void (*__cancel_routine) (void *); void *__cancel_arg; int __do_it; int __cancel_type; }; # 682 "../sysdeps/nptl/pthread.h" extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 694 "../sysdeps/nptl/pthread.h" extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 717 "../sysdeps/nptl/pthread.h" extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); # 730 "../sysdeps/nptl/pthread.h" extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))) __attribute__ ((__noreturn__)) ; struct __jmp_buf_tag; extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__)); extern int pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutexattr) __attribute__ ((__nothrow__ )) ; extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__ )) ; extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)) ; extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)) ; extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, const struct timespec *__restrict __abstime) __attribute__ ((__nothrow__)) ; extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__)) ; extern int pthread_mutex_getprioceiling (const pthread_mutex_t * __restrict __mutex, int *__restrict __prioceiling) __attribute__ ((__nothrow__ )) ; extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, int __prioceiling, int *__restrict __old_ceiling) __attribute__ ((__nothrow__ )) ; extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__ )) ; extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__ )) ; # 808 "../sysdeps/nptl/pthread.h" extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * __restrict __attr, int *__restrict __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, int __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict __attr, int *__restrict __kind) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * __restrict __attr, int *__restrict __protocol) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, int __protocol) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * __restrict __attr, int *__restrict __prioceiling) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, int __prioceiling) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, int *__robustness) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, int *__robustness) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, int __robustness) __attribute__ ((__nothrow__ )) ; extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, int __robustness) __attribute__ ((__nothrow__ )) ; # 890 "../sysdeps/nptl/pthread.h" extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, const pthread_rwlockattr_t *__restrict __attr) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict __abstime) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, const struct timespec *__restrict __abstime) __attribute__ ((__nothrow__)) ; extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__)) ; extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, int __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * __restrict __attr, int *__restrict __pref) __attribute__ ((__nothrow__ )) ; extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, int __pref) __attribute__ ((__nothrow__ )) ; extern int pthread_cond_init (pthread_cond_t *__restrict __cond, const pthread_condattr_t *__restrict __cond_attr) __attribute__ ((__nothrow__ )) ; extern int pthread_cond_destroy (pthread_cond_t *__cond) __attribute__ ((__nothrow__ )) ; extern int pthread_cond_signal (pthread_cond_t *__cond) __attribute__ ((__nothrow__)) ; extern int pthread_cond_broadcast (pthread_cond_t *__cond) __attribute__ ((__nothrow__)) ; extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex) ; # 1002 "../sysdeps/nptl/pthread.h" extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, pthread_mutex_t *__restrict __mutex, const struct timespec *__restrict __abstime) ; extern int pthread_condattr_init (pthread_condattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_condattr_getpshared (const pthread_condattr_t * __restrict __attr, int *__restrict __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, int __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_condattr_getclock (const pthread_condattr_t * __restrict __attr, __clockid_t *__restrict __clock_id) __attribute__ ((__nothrow__ )) ; extern int pthread_condattr_setclock (pthread_condattr_t *__attr, __clockid_t __clock_id) __attribute__ ((__nothrow__ )) ; # 1046 "../sysdeps/nptl/pthread.h" extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_spin_destroy (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__ )) ; extern int pthread_spin_lock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__)) ; extern int pthread_spin_trylock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__)) ; extern int pthread_spin_unlock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__)) ; extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, const pthread_barrierattr_t *__restrict __attr, unsigned int __count) __attribute__ ((__nothrow__ )) ; extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) __attribute__ ((__nothrow__ )) ; extern int pthread_barrier_wait (pthread_barrier_t *__barrier) __attribute__ ((__nothrow__)) ; extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) __attribute__ ((__nothrow__ )) ; extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * __restrict __attr, int *__restrict __pshared) __attribute__ ((__nothrow__ )) ; extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, int __pshared) __attribute__ ((__nothrow__ )) ; # 1113 "../sysdeps/nptl/pthread.h" extern int pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)) __attribute__ ((__nothrow__ )) ; extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__ )); extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__ )); extern int pthread_setspecific (pthread_key_t __key, const void *__pointer) __attribute__ ((__nothrow__ )) ; extern int pthread_getcpuclockid (pthread_t __thread_id, __clockid_t *__clock_id) __attribute__ ((__nothrow__ )) ; # 1147 "../sysdeps/nptl/pthread.h" extern int pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)) __attribute__ ((__nothrow__ )); extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) pthread_equal (pthread_t __thread1, pthread_t __thread2) { return __thread1 == __thread2; } # 2 "../include/pthread.h" 2 extern void __pthread_initialize (void) __attribute__ ((weak)); # 26 "../nptl/../nptl_db/thread_db.h" 2 # 1 "../include/sys/types.h" 1 # 28 "../nptl/../nptl_db/thread_db.h" 2 # 1 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" 1 # 31 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" # 1 "../include/sys/time.h" 1 # 20 "../include/sys/time.h" # 1 "../time/sys/time.h" 1 # 27 "../time/sys/time.h" # 1 "../sysdeps/unix/sysv/linux/bits/time.h" 1 # 28 "../time/sys/time.h" 2 # 37 "../time/sys/time.h" # 55 "../time/sys/time.h" struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 71 "../time/sys/time.h" extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) __attribute__ ((__nothrow__ )) ; extern int settimeofday (const struct timeval *__tv, const struct timezone *__tz) __attribute__ ((__nothrow__ )); extern int adjtime (const struct timeval *__delta, struct timeval *__olddelta) __attribute__ ((__nothrow__ )); enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) __attribute__ ((__nothrow__ )); extern int setitimer (__itimer_which_t __which, const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((__nothrow__ )); extern int utimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ )) ; extern int lutimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ )) ; extern int futimes (int __fd, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ )); extern int futimesat (int __fd, const char *__file, const struct timeval __tvp[2]) __attribute__ ((__nothrow__ )); # 189 "../time/sys/time.h" # 21 "../include/sys/time.h" 2 extern int __gettimeofday (struct timeval *__tv, struct timezone *__tz); extern int __settimeofday (const struct timeval *__tv, const struct timezone *__tz) __attribute__ ((visibility ("hidden"))); extern int __adjtime (const struct timeval *__delta, struct timeval *__olddelta); extern int __getitimer (enum __itimer_which __which, struct itimerval *__value); extern int __setitimer (enum __itimer_which __which, const struct itimerval *__restrict __new, struct itimerval *__restrict __old) __attribute__ ((visibility ("hidden"))); extern int __utimes (const char *__file, const struct timeval __tvp[2]) __attribute__ ((visibility ("hidden"))); extern int __futimes (int fd, const struct timeval tvp[2]) __attribute__ ((visibility ("hidden"))); # 32 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" 2 # 1 "../include/sys/types.h" 1 # 33 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" 2 # 1 "../sysdeps/unix/sysv/linux/x86/sys/user.h" 1 # 102 "../sysdeps/unix/sysv/linux/x86/sys/user.h" struct user_fpregs_struct { long int cwd; long int swd; long int twd; long int fip; long int fcs; long int foo; long int fos; long int st_space [20]; }; struct user_fpxregs_struct { unsigned short int cwd; unsigned short int swd; unsigned short int twd; unsigned short int fop; long int fip; long int fcs; long int foo; long int fos; long int mxcsr; long int reserved; long int st_space[32]; long int xmm_space[32]; long int padding[56]; }; struct user_regs_struct { long int ebx; long int ecx; long int edx; long int esi; long int edi; long int ebp; long int eax; long int xds; long int xes; long int xfs; long int xgs; long int orig_eax; long int eip; long int xcs; long int eflags; long int esp; long int xss; }; struct user { struct user_regs_struct regs; int u_fpvalid; struct user_fpregs_struct i387; unsigned long int u_tsize; unsigned long int u_dsize; unsigned long int u_ssize; unsigned long int start_code; unsigned long int start_stack; long int signal; int reserved; struct user_regs_struct* u_ar0; struct user_fpregs_struct* u_fpstate; unsigned long int magic; char u_comm [32]; int u_debugreg [8]; }; # 34 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" 2 typedef unsigned long elf_greg_t; typedef elf_greg_t elf_gregset_t[(sizeof (struct user_regs_struct) / sizeof(elf_greg_t))]; typedef struct user_fpregs_struct elf_fpregset_t; typedef struct user_fpxregs_struct elf_fpxregset_t; # 67 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" struct elf_siginfo { int si_signo; int si_code; int si_errno; }; # 82 "../sysdeps/unix/sysv/linux/x86/sys/procfs.h" struct elf_prstatus { struct elf_siginfo pr_info; short int pr_cursig; unsigned long int pr_sigpend; unsigned long int pr_sighold; __pid_t pr_pid; __pid_t pr_ppid; __pid_t pr_pgrp; __pid_t pr_sid; struct timeval pr_utime; struct timeval pr_stime; struct timeval pr_cutime; struct timeval pr_cstime; elf_gregset_t pr_reg; int pr_fpvalid; }; struct elf_prpsinfo { char pr_state; char pr_sname; char pr_zomb; char pr_nice; unsigned long int pr_flag; unsigned short int pr_uid; unsigned short int pr_gid; int pr_pid, pr_ppid, pr_pgrp, pr_sid; char pr_fname[16]; char pr_psargs[(80)]; }; typedef void *psaddr_t; typedef elf_gregset_t prgregset_t; typedef elf_fpregset_t prfpregset_t; typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; typedef struct elf_prpsinfo prpsinfo_t; # 29 "../nptl/../nptl_db/thread_db.h" 2 typedef enum { TD_OK, TD_ERR, TD_NOTHR, TD_NOSV, TD_NOLWP, TD_BADPH, TD_BADTH, TD_BADSH, TD_BADTA, TD_BADKEY, TD_NOMSG, TD_NOFPREGS, TD_NOLIBTHREAD, TD_NOEVENT, TD_NOCAPAB, TD_DBERR, TD_NOAPLIC, TD_NOTSD, TD_MALLOC, TD_PARTIALREG, TD_NOXREGS, TD_TLSDEFER, TD_NOTALLOC = TD_TLSDEFER, TD_VERSION, TD_NOTLS } td_err_e; typedef enum { TD_THR_ANY_STATE, TD_THR_UNKNOWN, TD_THR_STOPPED, TD_THR_RUN, TD_THR_ACTIVE, TD_THR_ZOMBIE, TD_THR_SLEEP, TD_THR_STOPPED_ASLEEP } td_thr_state_e; typedef enum { TD_THR_ANY_TYPE, TD_THR_USER, TD_THR_SYSTEM } td_thr_type_e; typedef struct td_thragent td_thragent_t; typedef struct td_thrhandle { td_thragent_t *th_ta_p; psaddr_t th_unique; } td_thrhandle_t; struct link_map; # 115 "../nptl/../nptl_db/thread_db.h" typedef struct td_thr_events { uint32_t event_bits[2]; } td_thr_events_t; # 154 "../nptl/../nptl_db/thread_db.h" typedef enum { TD_ALL_EVENTS, TD_EVENT_NONE = TD_ALL_EVENTS, TD_READY, TD_SLEEP, TD_SWITCHTO, TD_SWITCHFROM, TD_LOCK_TRY, TD_CATCHSIG, TD_IDLE, TD_CREATE, TD_DEATH, TD_PREEMPT, TD_PRI_INHERIT, TD_REAP, TD_CONCURRENCY, TD_TIMEOUT, TD_MIN_EVENT_NUM = TD_READY, TD_MAX_EVENT_NUM = TD_TIMEOUT, TD_EVENTS_ENABLE = 31 } td_event_e; typedef enum { NOTIFY_BPT, NOTIFY_AUTOBPT, NOTIFY_SYSCALL } td_notify_e; typedef struct td_notify { td_notify_e type; union { psaddr_t bptaddr; int syscallno; } u; } td_notify_t; typedef struct td_event_msg { td_event_e event; const td_thrhandle_t *th_p; union { uintptr_t data; } msg; } td_event_msg_t; typedef struct { td_thr_events_t eventmask; td_event_e eventnum; void *eventdata; } td_eventbuf_t; typedef struct td_ta_stats { int nthreads; int r_concurrency; int nrunnable_num; int nrunnable_den; int a_concurrency_num; int a_concurrency_den; int nlwps_num; int nlwps_den; int nidle_num; int nidle_den; } td_ta_stats_t; typedef pthread_t thread_t; typedef pthread_key_t thread_key_t; typedef int td_thr_iter_f (const td_thrhandle_t *, void *); typedef int td_key_iter_f (thread_key_t, void (*) (void *), void *); struct ps_prochandle; typedef struct td_thrinfo { td_thragent_t *ti_ta_p; unsigned int ti_user_flags; thread_t ti_tid; char *ti_tls; psaddr_t ti_startfunc; psaddr_t ti_stkbase; long int ti_stksize; psaddr_t ti_ro_area; int ti_ro_size; td_thr_state_e ti_state; unsigned char ti_db_suspended; td_thr_type_e ti_type; intptr_t ti_pc; intptr_t ti_sp; short int ti_flags; int ti_pri; lwpid_t ti_lid; sigset_t ti_sigmask; unsigned char ti_traceme; unsigned char ti_preemptflag; unsigned char ti_pirecflag; sigset_t ti_pending; td_thr_events_t ti_events; } td_thrinfo_t; extern td_err_e td_init (void); extern td_err_e td_log (void); extern const char **td_symbol_list (void); extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta); extern td_err_e td_ta_delete (td_thragent_t *__ta); extern td_err_e td_ta_get_nthreads (const td_thragent_t *__ta, int *__np); extern td_err_e td_ta_get_ph (const td_thragent_t *__ta, struct ps_prochandle **__ph); extern td_err_e td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt, td_thrhandle_t *__th); extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid, td_thrhandle_t *__th); extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta, td_thr_iter_f *__callback, void *__cbdata_p, td_thr_state_e __state, int __ti_pri, sigset_t *__ti_sigmask_p, unsigned int __ti_user_flags); extern td_err_e td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki, void *__p); extern td_err_e td_ta_event_addr (const td_thragent_t *__ta, td_event_e __event, td_notify_t *__ptr); extern td_err_e td_ta_set_event (const td_thragent_t *__ta, td_thr_events_t *__event); extern td_err_e td_ta_clear_event (const td_thragent_t *__ta, td_thr_events_t *__event); extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta, td_event_msg_t *__msg); extern td_err_e td_ta_setconcurrency (const td_thragent_t *__ta, int __level); extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable); extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta); extern td_err_e td_ta_get_stats (const td_thragent_t *__ta, td_ta_stats_t *__statsp); extern td_err_e td_thr_validate (const td_thrhandle_t *__th); extern td_err_e td_thr_get_info (const td_thrhandle_t *__th, td_thrinfo_t *__infop); extern td_err_e td_thr_getfpregs (const td_thrhandle_t *__th, prfpregset_t *__regset); extern td_err_e td_thr_getgregs (const td_thrhandle_t *__th, prgregset_t __gregs); extern td_err_e td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs); extern td_err_e td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep); extern td_err_e td_thr_setfpregs (const td_thrhandle_t *__th, const prfpregset_t *__fpregs); extern td_err_e td_thr_setgregs (const td_thrhandle_t *__th, prgregset_t __gregs); extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th, const void *__addr); extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th, unsigned long int __modid, psaddr_t *__base); extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th, psaddr_t __map_address, size_t __offset, psaddr_t *__address); extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event); extern td_err_e td_thr_set_event (const td_thrhandle_t *__th, td_thr_events_t *__event); extern td_err_e td_thr_clear_event (const td_thrhandle_t *__th, td_thr_events_t *__event); extern td_err_e td_thr_event_getmsg (const td_thrhandle_t *__th, td_event_msg_t *__msg); extern td_err_e td_thr_setprio (const td_thrhandle_t *__th, int __prio); extern td_err_e td_thr_setsigpending (const td_thrhandle_t *__th, unsigned char __n, const sigset_t *__ss); extern td_err_e td_thr_sigsetmask (const td_thrhandle_t *__th, const sigset_t *__ss); extern td_err_e td_thr_tsd (const td_thrhandle_t *__th, const thread_key_t __tk, void **__data); extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); # 34 "../nptl/descr.h" 2 # 1 "../sysdeps/generic/unwind.h" 1 # 34 "../sysdeps/generic/unwind.h" typedef unsigned _Unwind_Word __attribute__((__mode__(__word__))); typedef signed _Unwind_Sword __attribute__((__mode__(__word__))); typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__))); typedef unsigned _Unwind_Internal_Ptr __attribute__((__mode__(__pointer__))); typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__))); typedef enum { _URC_NO_REASON = 0, _URC_FOREIGN_EXCEPTION_CAUGHT = 1, _URC_FATAL_PHASE2_ERROR = 2, _URC_FATAL_PHASE1_ERROR = 3, _URC_NORMAL_STOP = 4, _URC_END_OF_STACK = 5, _URC_HANDLER_FOUND = 6, _URC_INSTALL_CONTEXT = 7, _URC_CONTINUE_UNWIND = 8 } _Unwind_Reason_Code; # 71 "../sysdeps/generic/unwind.h" struct _Unwind_Exception; typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code, struct _Unwind_Exception *); struct _Unwind_Exception { _Unwind_Exception_Class exception_class; _Unwind_Exception_Cleanup_Fn exception_cleanup; _Unwind_Word private_1; _Unwind_Word private_2; } __attribute__((__aligned__)); typedef int _Unwind_Action; # 103 "../sysdeps/generic/unwind.h" struct _Unwind_Context; extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *); typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn) (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *, void *); extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *); extern void _Unwind_DeleteException (struct _Unwind_Exception *); extern void _Unwind_Resume (struct _Unwind_Exception *); typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn) (struct _Unwind_Context *, void *); extern _Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void *); extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int); extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word); extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *); extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr); extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *); extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *); extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *); # 166 "../sysdeps/generic/unwind.h" typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn) (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *); struct SjLj_Function_Context; extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *); extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *); extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException (struct _Unwind_Exception *); extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *); extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *); # 207 "../sysdeps/generic/unwind.h" extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *); extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *); extern void * _Unwind_FindEnclosingFunction (void *pc); # 37 "../nptl/descr.h" 2 # 1 "../include/resolv.h" 1 # 12 "../include/resolv.h" # 1 "../resolv/resolv.h" 1 # 56 "../resolv/resolv.h" # 1 "../include/sys/types.h" 1 # 57 "../resolv/resolv.h" 2 # 1 "../include/netinet/in.h" 1 # 1 "../inet/netinet/in.h" 1 # 23 "../inet/netinet/in.h" # 1 "../include/sys/socket.h" 1 # 1 "../socket/sys/socket.h" 1 # 24 "../socket/sys/socket.h" # 1 "../include/sys/uio.h" 1 # 1 "../misc/sys/uio.h" 1 # 23 "../misc/sys/uio.h" # 1 "../include/sys/types.h" 1 # 24 "../misc/sys/uio.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/uio.h" 1 # 25 "../sysdeps/unix/sysv/linux/bits/uio.h" # 1 "../include/sys/types.h" 1 # 26 "../sysdeps/unix/sysv/linux/bits/uio.h" 2 # 43 "../sysdeps/unix/sysv/linux/bits/uio.h" struct iovec { void *iov_base; size_t iov_len; }; # 56 "../sysdeps/unix/sysv/linux/bits/uio.h" extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec, unsigned long int __liovcnt, const struct iovec *__rvec, unsigned long int __riovcnt, unsigned long int __flags) __attribute__ ((__nothrow__ )); extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, unsigned long int __liovcnt, const struct iovec *__rvec, unsigned long int __riovcnt, unsigned long int __flags) __attribute__ ((__nothrow__ )); # 29 "../misc/sys/uio.h" 2 # 39 "../misc/sys/uio.h" extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count) ; # 50 "../misc/sys/uio.h" extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count) ; # 65 "../misc/sys/uio.h" extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count, __off_t __offset) ; # 77 "../misc/sys/uio.h" extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count, __off_t __offset) ; # 103 "../misc/sys/uio.h" extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) ; # 115 "../misc/sys/uio.h" extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count, __off64_t __offset) ; # 3 "../include/sys/uio.h" 2 extern ssize_t __readv (int __fd, const struct iovec *__iovec, int __count); extern ssize_t __libc_readv (int __fd, const struct iovec *__iovec, int __count); extern ssize_t __writev (int __fd, const struct iovec *__iovec, int __count); extern ssize_t __libc_writev (int __fd, const struct iovec *__iovec, int __count); # 27 "../socket/sys/socket.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 29 "../socket/sys/socket.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1 # 32 "../socket/sys/socket.h" 2 # 1 "../sysdeps/unix/sysv/linux/bits/socket.h" 1 # 27 "../sysdeps/unix/sysv/linux/bits/socket.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 28 "../sysdeps/unix/sysv/linux/bits/socket.h" 2 # 1 "../include/sys/types.h" 1 # 30 "../sysdeps/unix/sysv/linux/bits/socket.h" 2 typedef __socklen_t socklen_t; # 1 "../sysdeps/unix/sysv/linux/bits/socket_type.h" 1 # 24 "../sysdeps/unix/sysv/linux/bits/socket_type.h" enum __socket_type { SOCK_STREAM = 1, SOCK_DGRAM = 2, SOCK_RAW = 3, SOCK_RDM = 4, SOCK_SEQPACKET = 5, SOCK_DCCP = 6, SOCK_PACKET = 10, SOCK_CLOEXEC = 02000000, SOCK_NONBLOCK = 00004000 }; # 39 "../sysdeps/unix/sysv/linux/bits/socket.h" 2 # 146 "../sysdeps/unix/sysv/linux/bits/socket.h" # 1 "../bits/sockaddr.h" 1 # 28 "../bits/sockaddr.h" typedef unsigned short int sa_family_t; # 147 "../sysdeps/unix/sysv/linux/bits/socket.h" 2 struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; # 162 "../sysdeps/unix/sysv/linux/bits/socket.h" struct sockaddr_storage { sa_family_t ss_family; unsigned long int __ss_align; char __ss_padding[(128 - (2 * sizeof (unsigned long int)))]; }; enum { MSG_OOB = 0x01, MSG_PEEK = 0x02, MSG_DONTROUTE = 0x04, MSG_TRYHARD = MSG_DONTROUTE, MSG_CTRUNC = 0x08, MSG_PROXY = 0x10, MSG_TRUNC = 0x20, MSG_DONTWAIT = 0x40, MSG_EOR = 0x80, MSG_WAITALL = 0x100, MSG_FIN = 0x200, MSG_SYN = 0x400, MSG_CONFIRM = 0x800, MSG_RST = 0x1000, MSG_ERRQUEUE = 0x2000, MSG_NOSIGNAL = 0x4000, MSG_MORE = 0x8000, MSG_WAITFORONE = 0x10000, MSG_FASTOPEN = 0x20000000, MSG_CMSG_CLOEXEC = 0x40000000 }; struct msghdr { void *msg_name; socklen_t msg_namelen; struct iovec *msg_iov; size_t msg_iovlen; void *msg_control; size_t msg_controllen; int msg_flags; }; struct cmsghdr { size_t cmsg_len; int cmsg_level; int cmsg_type; __extension__ unsigned char __cmsg_data []; }; # 272 "../sysdeps/unix/sysv/linux/bits/socket.h" extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __attribute__ ((__nothrow__ )); extern __inline __attribute__ ((__gnu_inline__)) struct cmsghdr * __attribute__ ((__nothrow__ )) __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) { if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) return (struct cmsghdr *) 0; __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))); if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen) || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) return (struct cmsghdr *) 0; return __cmsg; } enum { SCM_RIGHTS = 0x01 , SCM_CREDENTIALS = 0x02 }; struct ucred { pid_t pid; uid_t uid; gid_t gid; }; # 345 "../sysdeps/unix/sysv/linux/bits/socket.h" # 1 "/usr/include/asm/socket.h" 1 3 4 # 1 "/usr/include/asm-generic/socket.h" 1 3 4 # 1 "/usr/include/asm/sockios.h" 1 3 4 # 1 "/usr/include/asm-generic/sockios.h" 1 3 4 # 1 "/usr/include/asm/sockios.h" 2 3 4 # 5 "/usr/include/asm-generic/socket.h" 2 3 4 # 1 "/usr/include/asm/socket.h" 2 3 4 # 346 "../sysdeps/unix/sysv/linux/bits/socket.h" 2 # 379 "../sysdeps/unix/sysv/linux/bits/socket.h" struct linger { int l_onoff; int l_linger; }; # 39 "../socket/sys/socket.h" 2 struct osockaddr { unsigned short int sa_family; unsigned char sa_data[14]; }; enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; # 90 "../socket/sys/socket.h" typedef union { struct sockaddr *__restrict __sockaddr__; struct sockaddr_at *__restrict __sockaddr_at__; struct sockaddr_ax25 *__restrict __sockaddr_ax25__; struct sockaddr_dl *__restrict __sockaddr_dl__; struct sockaddr_eon *__restrict __sockaddr_eon__; struct sockaddr_in *__restrict __sockaddr_in__; struct sockaddr_in6 *__restrict __sockaddr_in6__; struct sockaddr_inarp *__restrict __sockaddr_inarp__; struct sockaddr_ipx *__restrict __sockaddr_ipx__; struct sockaddr_iso *__restrict __sockaddr_iso__; struct sockaddr_ns *__restrict __sockaddr_ns__; struct sockaddr_un *__restrict __sockaddr_un__; struct sockaddr_x25 *__restrict __sockaddr_x25__; } __SOCKADDR_ARG __attribute__ ((__transparent_union__)); typedef union { const struct sockaddr *__restrict __sockaddr__; const struct sockaddr_at *__restrict __sockaddr_at__; const struct sockaddr_ax25 *__restrict __sockaddr_ax25__; const struct sockaddr_dl *__restrict __sockaddr_dl__; const struct sockaddr_eon *__restrict __sockaddr_eon__; const struct sockaddr_in *__restrict __sockaddr_in__; const struct sockaddr_in6 *__restrict __sockaddr_in6__; const struct sockaddr_inarp *__restrict __sockaddr_inarp__; const struct sockaddr_ipx *__restrict __sockaddr_ipx__; const struct sockaddr_iso *__restrict __sockaddr_iso__; const struct sockaddr_ns *__restrict __sockaddr_ns__; const struct sockaddr_un *__restrict __sockaddr_un__; const struct sockaddr_x25 *__restrict __sockaddr_x25__; } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__)); struct mmsghdr { struct msghdr msg_hdr; unsigned int msg_len; }; extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__ )); extern int socketpair (int __domain, int __type, int __protocol, int __fds[2]) __attribute__ ((__nothrow__ )); extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) __attribute__ ((__nothrow__ )); extern int getsockname (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__ )); # 137 "../socket/sys/socket.h" extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __attribute__ ((__nothrow__ )); extern ssize_t send (int __fd, const void *__buf, size_t __n, int __flags); extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); extern ssize_t sendto (int __fd, const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len); # 174 "../socket/sys/socket.h" extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern ssize_t sendmsg (int __fd, const struct msghdr *__message, int __flags); extern int sendmmsg (int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags, const struct timespec *__tmo); extern int getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) __attribute__ ((__nothrow__ )); extern int setsockopt (int __fd, int __level, int __optname, const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__ )); extern int listen (int __fd, int __n) __attribute__ ((__nothrow__ )); # 243 "../socket/sys/socket.h" extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern int accept4 (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len, int __flags); # 261 "../socket/sys/socket.h" extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__ )); extern int sockatmark (int __fd) __attribute__ ((__nothrow__ )); extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__ )); # 283 "../socket/sys/socket.h" # 3 "../include/sys/socket.h" 2 extern int __socket (int __domain, int __type, int __protocol) __attribute__ ((visibility ("hidden"))); extern int __socketpair (int __domain, int __type, int __protocol, int __fds[2]) __attribute__ ((visibility ("hidden"))); extern int __opensock (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern int __getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__len) __attribute__ ((visibility ("hidden"))); extern ssize_t __libc_send (int __fd, const void *__buf, size_t __n, int __flags); extern ssize_t __send (int __fd, const void *__buf, size_t __n, int __flags); extern ssize_t __libc_recv (int __fd, void *__buf, size_t __n, int __flags); extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len); extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern int __libc_connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern int __connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern ssize_t __recv (int __fd, void *__buf, size_t __n, int __flags) __attribute__ ((visibility ("hidden"))); extern ssize_t __libc_sendto (int __fd, const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len); extern ssize_t __sendto (int __fd, const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len) __attribute__ ((visibility ("hidden"))); extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __attribute__ ((visibility ("hidden"))); extern ssize_t __libc_sendmsg (int __fd, const struct msghdr *__message, int __flags); extern ssize_t __sendmsg (int __fd, const struct msghdr *__message, int __flags) __attribute__ ((visibility ("hidden"))); extern int __sendmmsg (int __fd, struct mmsghdr *__vmessages, unsigned int __vlen, int __flags); extern ssize_t __libc_recvmsg (int __fd, struct msghdr *__message, int __flags); extern ssize_t __recvmsg (int __fd, struct msghdr *__message, int __flags) __attribute__ ((visibility ("hidden"))); extern int __setsockopt (int __fd, int __level, int __optname, const void *__optval, socklen_t __optlen) __attribute__ ((visibility ("hidden"))); extern int __getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) __attribute__ ((visibility ("hidden"))); extern int __getsockname (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) __attribute__ ((visibility ("hidden"))); extern int __bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) __attribute__ ((visibility ("hidden"))); extern int __listen (int __fd, int __n) __attribute__ ((visibility ("hidden"))); extern int __libc_accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) __attribute__ ((__nothrow__ )) __attribute__ ((visibility ("hidden"))); extern int __libc_accept4 (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len, int __flags) __attribute__ ((__nothrow__ )) __attribute__ ((visibility ("hidden"))); extern int __libc_sa_len (sa_family_t __af); extern int __have_sock_cloexec __attribute__ ((visibility ("hidden"))); # 24 "../inet/netinet/in.h" 2 typedef uint32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; # 1 "../sysdeps/unix/sysv/linux/bits/in.h" 1 # 138 "../sysdeps/unix/sysv/linux/bits/in.h" struct ip_opts { struct in_addr ip_dst; char ip_opts[40]; }; struct ip_mreqn { struct in_addr imr_multiaddr; struct in_addr imr_address; int imr_ifindex; }; struct in_pktinfo { int ipi_ifindex; struct in_addr ipi_spec_dst; struct in_addr ipi_addr; }; # 38 "../inet/netinet/in.h" 2 enum { IPPROTO_IP = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_IPIP = 4, IPPROTO_TCP = 6, IPPROTO_EGP = 8, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_TP = 29, IPPROTO_DCCP = 33, IPPROTO_IPV6 = 41, IPPROTO_RSVP = 46, IPPROTO_GRE = 47, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_MTP = 92, IPPROTO_BEETPH = 94, IPPROTO_ENCAP = 98, IPPROTO_PIM = 103, IPPROTO_COMP = 108, IPPROTO_SCTP = 132, IPPROTO_UDPLITE = 136, IPPROTO_RAW = 255, IPPROTO_MAX }; enum { IPPROTO_HOPOPTS = 0, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_MH = 135 }; typedef uint16_t in_port_t; enum { IPPORT_ECHO = 7, IPPORT_DISCARD = 9, IPPORT_SYSTAT = 11, IPPORT_DAYTIME = 13, IPPORT_NETSTAT = 15, IPPORT_FTP = 21, IPPORT_TELNET = 23, IPPORT_SMTP = 25, IPPORT_TIMESERVER = 37, IPPORT_NAMESERVER = 42, IPPORT_WHOIS = 43, IPPORT_MTP = 57, IPPORT_TFTP = 69, IPPORT_RJE = 77, IPPORT_FINGER = 79, IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, IPPORT_EXECSERVER = 512, IPPORT_LOGINSERVER = 513, IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, IPPORT_RESERVED = 1024, IPPORT_USERRESERVED = 5000 }; # 209 "../inet/netinet/in.h" struct in6_addr { union { uint8_t __u6_addr8[16]; uint16_t __u6_addr16[8]; uint32_t __u6_addr32[4]; } __in6_u; }; extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; # 237 "../inet/netinet/in.h" struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; unsigned char sin_zero[sizeof (struct sockaddr) - (sizeof (unsigned short int)) - sizeof (in_port_t) - sizeof (struct in_addr)]; }; struct sockaddr_in6 { sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; }; struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface; }; struct ip_mreq_source { struct in_addr imr_multiaddr; struct in_addr imr_interface; struct in_addr imr_sourceaddr; }; struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; struct group_req { uint32_t gr_interface; struct sockaddr_storage gr_group; }; struct group_source_req { uint32_t gsr_interface; struct sockaddr_storage gsr_group; struct sockaddr_storage gsr_source; }; struct ip_msfilter { struct in_addr imsf_multiaddr; struct in_addr imsf_interface; uint32_t imsf_fmode; uint32_t imsf_numsrc; struct in_addr imsf_slist[1]; }; struct group_filter { uint32_t gf_interface; struct sockaddr_storage gf_group; uint32_t gf_fmode; uint32_t gf_numsrc; struct sockaddr_storage gf_slist[1]; }; # 374 "../inet/netinet/in.h" extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern uint16_t ntohs (uint16_t __netshort) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern uint32_t htonl (uint32_t __hostlong) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern uint16_t htons (uint16_t __hostshort) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); # 1 "../include/endian.h" 1 # 383 "../inet/netinet/in.h" 2 # 1 "../sysdeps/x86/bits/byteswap.h" 1 # 386 "../inet/netinet/in.h" 2 # 501 "../inet/netinet/in.h" extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__ )); extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) __attribute__ ((__nothrow__ )); # 531 "../inet/netinet/in.h" struct cmsghdr; struct in6_pktinfo { struct in6_addr ipi6_addr; unsigned int ipi6_ifindex; }; struct ip6_mtuinfo { struct sockaddr_in6 ip6m_addr; uint32_t ip6m_mtu; }; extern int inet6_option_space (int __nbytes) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp, int __type) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int inet6_option_append (struct cmsghdr *__cmsg, const uint8_t *__typep, int __multx, int __plusy) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen, int __multx, int __plusy) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int inet6_option_next (const struct cmsghdr *__cmsg, uint8_t **__tptrp) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int inet6_option_find (const struct cmsghdr *__cmsg, uint8_t **__tptrp, int __type) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)); extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __attribute__ ((__nothrow__ )); extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset, uint8_t __type, socklen_t __len, uint8_t __align, void **__databufp) __attribute__ ((__nothrow__ )); extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset) __attribute__ ((__nothrow__ )); extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val, socklen_t __vallen) __attribute__ ((__nothrow__ )); extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset, uint8_t *__typep, socklen_t *__lenp, void **__databufp) __attribute__ ((__nothrow__ )); extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset, uint8_t __type, socklen_t *__lenp, void **__databufp) __attribute__ ((__nothrow__ )); extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val, socklen_t __vallen) __attribute__ ((__nothrow__ )); extern socklen_t inet6_rth_space (int __type, int __segments) __attribute__ ((__nothrow__ )); extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type, int __segments) __attribute__ ((__nothrow__ )); extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __attribute__ ((__nothrow__ )); extern int inet6_rth_reverse (const void *__in, void *__out) __attribute__ ((__nothrow__ )); extern int inet6_rth_segments (const void *__bp) __attribute__ ((__nothrow__ )); extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index) __attribute__ ((__nothrow__ )); extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr, struct in_addr __group, uint32_t *__fmode, uint32_t *__numsrc, struct in_addr *__slist) __attribute__ ((__nothrow__ )); extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr, struct in_addr __group, uint32_t __fmode, uint32_t __numsrc, const struct in_addr *__slist) __attribute__ ((__nothrow__ )); extern int getsourcefilter (int __s, uint32_t __interface_addr, const struct sockaddr *__group, socklen_t __grouplen, uint32_t *__fmode, uint32_t *__numsrc, struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ )); extern int setsourcefilter (int __s, uint32_t __interface_addr, const struct sockaddr *__group, socklen_t __grouplen, uint32_t __fmode, uint32_t __numsrc, const struct sockaddr_storage *__slist) __attribute__ ((__nothrow__ )); # 4 "../include/netinet/in.h" 2 # 58 "../resolv/resolv.h" 2 # 71 "../resolv/resolv.h" typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error } res_sendhookact; typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *__ns, const u_char **__query, int *__querylen, u_char *__ans, int __anssiz, int *__resplen); typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *__ns, const u_char *__query, int __querylen, u_char *__ans, int __anssiz, int *__resplen); # 104 "../resolv/resolv.h" struct __res_state { int retrans; int retry; u_long options; int nscount; struct sockaddr_in nsaddr_list[3]; u_short id; char *dnsrch[6 +1]; char defdname[256]; u_long pfcode; unsigned ndots:4; unsigned nsort:4; unsigned ipv6_unavail:1; unsigned unused:23; struct { struct in_addr addr; u_int32_t mask; } sort_list[10]; res_send_qhook qhook; res_send_rhook rhook; int res_h_errno; int _vcsock; u_int _flags; union { char pad[52]; struct { u_int16_t nscount; u_int16_t nsmap[3]; int nssocks[3]; u_int16_t nscount6; u_int16_t nsinit; struct sockaddr_in6 *nsaddrs[3]; unsigned long long int initstamp __attribute__((packed)); } _ext; } _u; }; typedef struct __res_state *res_state; # 13 "../include/resolv.h" 2 # 40 "../nptl/descr.h" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 41 "../nptl/descr.h" 2 # 66 "../nptl/descr.h" struct pthread_unwind_buf { struct { __jmp_buf jmp_buf; int mask_was_saved; } cancel_jmp_buf[1]; union { void *pad[4]; struct { struct pthread_unwind_buf *prev; struct _pthread_cleanup_buffer *cleanup; int canceltype; } data; } priv; }; struct xid_command { int syscall_no; long int id[3]; volatile int cntr; volatile int error; }; struct robust_list_head { void *list; long int futex_offset; void *list_op_pending; }; struct priority_protection_data { int priomax; unsigned int priomap[]; }; struct pthread { union { tcbhead_t header; # 162 "../nptl/descr.h" void *__padding[24]; }; list_t list; pid_t tid; pid_t pid; # 214 "../nptl/descr.h" union { __pthread_slist_t robust_list; struct robust_list_head robust_head; }; # 252 "../nptl/descr.h" struct _pthread_cleanup_buffer *cleanup; struct pthread_unwind_buf *cleanup_jmp_buf; int cancelhandling; # 293 "../nptl/descr.h" int flags; struct pthread_key_data { uintptr_t seq; void *data; } specific_1stblock[32]; struct pthread_key_data *specific[((1024 + 32 - 1) / 32)]; _Bool specific_used; _Bool report_events; _Bool user_stack; _Bool stopped_start; int parent_cancelhandling; int lock; int setxid_futex; # 344 "../nptl/descr.h" struct pthread *joinid; void *result; struct sched_param schedparam; int schedpolicy; void *(*start_routine) (void *); void *arg; td_eventbuf_t eventbuf; struct pthread *nextevent; struct _Unwind_Exception exc; void *stackblock; size_t stackblock_size; size_t guardsize; size_t reported_guardsize; struct priority_protection_data *tpp; struct __res_state res; char end_padding[]; } __attribute ((aligned (64))); # 128 "../sysdeps/i386/nptl/tls.h" 2 # 195 "../sysdeps/i386/nptl/tls.h" static inline void __attribute__ ((unused, always_inline)) tls_fill_user_desc (union user_desc_init *desc, unsigned int entry_number, void *pd) { desc->vals[0] = entry_number; desc->vals[1] = (unsigned long int) pd; desc->vals[2] = 0xfffff; desc->vals[3] = 0x51; } # 28 "../include/errno.h" 2 extern __thread int errno __attribute__ ((tls_model ("initial-exec"))); extern int *__errno_location (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)) ; # 21 "pthread_create.c" 2 # 1 "../include/string.h" 1 # 1 "../include/sys/types.h" 1 # 5 "../include/string.h" 2 extern void *__memccpy (void *__dest, const void *__src, int __c, size_t __n); extern size_t __strnlen (const char *__string, size_t __maxlen) __attribute__ ((__pure__)); extern char *__strsep (char **__stringp, const char *__delim); extern int __strverscmp (const char *__s1, const char *__s2) __attribute__ ((__pure__)); extern int __strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int __strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__pure__)); extern char *__strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__pure__)); extern char *__strdup (const char *__string) __attribute__ ((__malloc__)); extern char *__strndup (const char *__string, size_t __n) __attribute__ ((__malloc__)); extern void *__rawmemchr (const void *__s, int __c) __attribute__ ((__pure__)); extern char *__strchrnul (const char *__s, int __c) __attribute__ ((__pure__)); extern void *__memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern void *__memchr (const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern int __ffs (int __i) __attribute__ ((const)); extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen); # 1 "../string/string.h" 1 # 27 "../string/string.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 33 "../string/string.h" 2 # 44 "../string/string.h" extern void *memcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern void *memmove (void *__dest, const void *__src, size_t __n) __attribute__ ((__nothrow__ )) ; extern void *memccpy (void *__restrict __dest, const void *__restrict __src, int __c, size_t __n) __attribute__ ((__nothrow__ )) ; extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) ; extern int memcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 96 "../string/string.h" extern void *memchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 110 "../string/string.h" extern void *rawmemchr (const void *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 121 "../string/string.h" extern void *memrchr (const void *__s, int __c, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern char *strcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) ; extern char *strncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern char *strcat (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) ; extern char *strncat (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern int strcmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int strncmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int strcoll (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern size_t strxfrm (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; # 1 "../include/xlocale.h" 1 # 164 "../string/string.h" 2 extern int strcoll_l (const char *__s1, const char *__s2, __locale_t __l) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, __locale_t __l) __attribute__ ((__nothrow__ )) ; extern char *strdup (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern char *strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; # 210 "../string/string.h" # 235 "../string/string.h" extern char *strchr (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 262 "../string/string.h" extern char *strrchr (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 276 "../string/string.h" extern char *strchrnul (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern size_t strcspn (const char *__s, const char *__reject) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern size_t strspn (const char *__s, const char *__accept) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 314 "../string/string.h" extern char *strpbrk (const char *__s, const char *__accept) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 341 "../string/string.h" extern char *strstr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern char *strtok (char *__restrict __s, const char *__restrict __delim) __attribute__ ((__nothrow__ )) ; extern char *__strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ )) ; extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, char **__restrict __save_ptr) __attribute__ ((__nothrow__ )) ; # 372 "../string/string.h" extern char *strcasestr (const char *__haystack, const char *__needle) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern void *memmem (const void *__haystack, size_t __haystacklen, const void *__needle, size_t __needlelen) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern void *__mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern void *mempcpy (void *__restrict __dest, const void *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern size_t strlen (const char *__s) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern size_t strnlen (const char *__string, size_t __maxlen) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern char *strerror (int __errnum) __attribute__ ((__nothrow__ )); # 437 "../string/string.h" extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) ; extern char *strerror_l (int __errnum, __locale_t __l) __attribute__ ((__nothrow__ )); extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ )) ; extern void bcopy (const void *__src, void *__dest, size_t __n) __attribute__ ((__nothrow__ )) ; extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__ )) ; extern int bcmp (const void *__s1, const void *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 488 "../string/string.h" extern char *index (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; # 516 "../string/string.h" extern char *rindex (const char *__s, int __c) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int ffs (int __i) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int strcasecmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int strcasecmp_l (const char *__s1, const char *__s2, __locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern int strncasecmp_l (const char *__s1, const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern char *strsep (char **__restrict __stringp, const char *__restrict __delim) __attribute__ ((__nothrow__ )) ; extern char *strsignal (int __sig) __attribute__ ((__nothrow__ )); extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) ; extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) __attribute__ ((__nothrow__ )) ; extern char *__stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern char *stpncpy (char *__restrict __dest, const char *__restrict __src, size_t __n) __attribute__ ((__nothrow__ )) ; extern int strverscmp (const char *__s1, const char *__s2) __attribute__ ((__nothrow__ )) __attribute__ ((__pure__)) ; extern char *strfry (char *__string) __attribute__ ((__nothrow__ )) ; extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__ )) ; # 603 "../string/string.h" extern char *basename (const char *__filename) __attribute__ ((__nothrow__ )) ; # 631 "../string/string.h" # 1 "../sysdeps/x86/bits/string.h" 1 # 632 "../string/string.h" 2 # 1 "../include/bits/string2.h" 1 # 1 "../string/bits/string2.h" 1 # 51 "../string/bits/string2.h" # 1 "../include/endian.h" 1 # 52 "../string/bits/string2.h" 2 # 393 "../string/bits/string2.h" extern void *__rawmemchr (const void *__s, int __c); # 945 "../string/bits/string2.h" extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c1 (const char *__s, int __reject) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, int __reject2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c2 (const char *__s, int __reject1, int __reject2) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, int __reject2, int __reject3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strcspn_c3 (const char *__s, int __reject1, int __reject2, int __reject3) { size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 1021 "../string/bits/string2.h" extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c1 (const char *__s, int __accept) { size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c2 (const char *__s, int __accept1, int __accept2) { size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) size_t __strspn_c3 (const char *__s, int __accept1, int __accept2, int __accept3) { size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1097 "../string/bits/string2.h" extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c2 (const char *__s, int __accept1, int __accept2); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c2 (const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline __attribute__ ((__gnu_inline__)) char *__strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3); extern __inline __attribute__ ((__gnu_inline__)) char * __strpbrk_c3 (const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1147 "../string/bits/string2.h" extern __inline __attribute__ ((__gnu_inline__)) char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline __attribute__ ((__gnu_inline__)) char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } } *__nextp = __s; return __result; } # 1179 "../string/bits/string2.h" extern char *__strsep_g (char **__stringp, const char *__delim); # 1197 "../string/bits/string2.h" extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_1c (char **__s, char __reject); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_1c (char **__s, char __reject) { char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && !__builtin_constant_p (__retval) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : __builtin_strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_2c (char **__s, char __reject1, char __reject2) { char *__retval = *__s; if (__retval != ((void *)0)) { char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline __attribute__ ((__gnu_inline__)) char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline __attribute__ ((__gnu_inline__)) char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { char *__retval = *__s; if (__retval != ((void *)0)) { char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 1278 "../string/bits/string2.h" extern char *__strdup (const char *__string) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)); # 1297 "../string/bits/string2.h" extern char *__strndup (const char *__string, size_t __n) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)); # 1 "../include/bits/string2.h" 2 # 635 "../string/string.h" 2 # 643 "../string/string.h" # 52 "../include/string.h" 2 extern __typeof (strcoll_l) __strcoll_l; extern __typeof (strxfrm_l) __strxfrm_l; extern __typeof (strcasecmp_l) __strcasecmp_l; extern __typeof (strncasecmp_l) __strncasecmp_l; # 73 "../include/string.h" extern char *__strsep_g (char **__stringp, const char *__delim); # 125 "../include/string.h" extern void *__memcpy_chk (void *__restrict __dest, const void *__restrict __src, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); extern void *__memmove_chk (void *__dest, const void *__src, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); extern void *__mempcpy_chk (void *__restrict __dest, const void *__restrict __src, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); extern void *__memset_chk (void *__dest, int __ch, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); extern char *__strcpy_chk (char *__restrict __dest, const char *__restrict __src, size_t __destlen) __attribute__ ((__nothrow__ )); extern char *__stpcpy_chk (char *__restrict __dest, const char *__restrict __src, size_t __destlen) __attribute__ ((__nothrow__ )); extern char *__strncpy_chk (char *__restrict __dest, const char *__restrict __src, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); extern char *__strcat_chk (char *__restrict __dest, const char *__restrict __src, size_t __destlen) __attribute__ ((__nothrow__ )); extern char *__strncat_chk (char *__restrict __dest, const char *__restrict __src, size_t __len, size_t __destlen) __attribute__ ((__nothrow__ )); # 24 "pthread_create.c" 2 # 1 "pthreadP.h" 1 # 22 "pthreadP.h" # 1 "../include/pthread.h" 1 extern void __pthread_initialize (void) __attribute__ ((weak)); # 23 "pthreadP.h" 2 # 1 "descr.h" 1 # 27 "pthreadP.h" 2 # 1 "../sysdeps/nptl/internaltypes.h" 1 # 25 "../sysdeps/nptl/internaltypes.h" struct pthread_attr { struct sched_param schedparam; int schedpolicy; int flags; size_t guardsize; void *stackaddr; size_t stacksize; cpu_set_t *cpuset; size_t cpusetsize; }; # 52 "../sysdeps/nptl/internaltypes.h" struct pthread_mutexattr { int mutexkind; }; struct pthread_condattr { int value; }; # 86 "../sysdeps/nptl/internaltypes.h" struct pthread_rwlockattr { int lockkind; int pshared; }; struct pthread_barrier { unsigned int curr_event; int lock; unsigned int left; unsigned int init_count; int private; }; struct pthread_barrierattr { int pshared; }; struct pthread_key_struct { uintptr_t seq; void (*destr) (void *); }; # 142 "../sysdeps/nptl/internaltypes.h" struct new_sem { unsigned int value; int private; unsigned long int nwaiters; }; struct old_sem { unsigned int value; }; typedef struct { pthread_cond_t *cond; } pthread_cond_2_0_t; # 31 "pthreadP.h" 2 # 1 "../sysdeps/nptl/pthread-functions.h" 1 # 22 "../sysdeps/nptl/pthread-functions.h" # 1 "../include/pthread.h" 1 extern void __pthread_initialize (void) __attribute__ ((weak)); # 23 "../sysdeps/nptl/pthread-functions.h" 2 struct xid_command; struct pthread_functions { int (*ptr_pthread_attr_destroy) (pthread_attr_t *); int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *); int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *); int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *); int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int); int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *); int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int); int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *, struct sched_param *); int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *, const struct sched_param *); int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *); int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int); int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *); int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int); int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *); int (*ptr_pthread_condattr_init) (pthread_condattr_t *); int (*ptr___pthread_cond_broadcast) (pthread_cond_t *); int (*ptr___pthread_cond_destroy) (pthread_cond_t *); int (*ptr___pthread_cond_init) (pthread_cond_t *, const pthread_condattr_t *); int (*ptr___pthread_cond_signal) (pthread_cond_t *); int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *); int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *, const struct timespec *); int (*ptr___pthread_cond_broadcast_2_0) (pthread_cond_2_0_t *); int (*ptr___pthread_cond_destroy_2_0) (pthread_cond_2_0_t *); int (*ptr___pthread_cond_init_2_0) (pthread_cond_2_0_t *, const pthread_condattr_t *); int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *); int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *); int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *, const struct timespec *); int (*ptr_pthread_equal) (pthread_t, pthread_t); void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__)); int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *); int (*ptr_pthread_setschedparam) (pthread_t, int, const struct sched_param *); int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *); int (*ptr_pthread_mutex_init) (pthread_mutex_t *, const pthread_mutexattr_t *); int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); pthread_t (*ptr_pthread_self) (void); int (*ptr_pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer *, void (*) (void *), void *); void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer *, int); unsigned int *ptr_nthreads; void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *) __attribute ((noreturn)) __attribute__ ((__regparm__ (1))); void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); void (*ptr_freeres) (void); void (*ptr_set_robust) (struct pthread *); }; extern struct pthread_functions __libc_pthread_functions __attribute__ ((visibility ("hidden"))); extern int __libc_pthread_functions_init __attribute__ ((visibility ("hidden"))); # 32 "pthreadP.h" 2 # 1 "../include/atomic.h" 1 # 50 "../include/atomic.h" # 1 "../sysdeps/i386/i486/bits/atomic.h" 1 # 23 "../sysdeps/i386/i486/bits/atomic.h" typedef int8_t atomic8_t; typedef uint8_t uatomic8_t; typedef int_fast8_t atomic_fast8_t; typedef uint_fast8_t uatomic_fast8_t; typedef int16_t atomic16_t; typedef uint16_t uatomic16_t; typedef int_fast16_t atomic_fast16_t; typedef uint_fast16_t uatomic_fast16_t; typedef int32_t atomic32_t; typedef uint32_t uatomic32_t; typedef int_fast32_t atomic_fast32_t; typedef uint_fast32_t uatomic_fast32_t; typedef int64_t atomic64_t; typedef uint64_t uatomic64_t; typedef int_fast64_t atomic_fast64_t; typedef uint_fast64_t uatomic_fast64_t; typedef intptr_t atomicptr_t; typedef uintptr_t uatomicptr_t; typedef intmax_t atomic_max_t; typedef uintmax_t uatomic_max_t; # 51 "../include/atomic.h" 2 # 33 "pthreadP.h" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 34 "pthreadP.h" 2 # 61 "pthreadP.h" enum { PTHREAD_MUTEX_KIND_MASK_NP = 3, PTHREAD_MUTEX_ELISION_NP = 256, PTHREAD_MUTEX_NO_ELISION_NP = 512, PTHREAD_MUTEX_ROBUST_NORMAL_NP = 16, PTHREAD_MUTEX_ROBUST_RECURSIVE_NP = PTHREAD_MUTEX_ROBUST_NORMAL_NP | PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_ROBUST_ERRORCHECK_NP = PTHREAD_MUTEX_ROBUST_NORMAL_NP | PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_ROBUST_ADAPTIVE_NP = PTHREAD_MUTEX_ROBUST_NORMAL_NP | PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_MUTEX_PRIO_INHERIT_NP = 32, PTHREAD_MUTEX_PI_NORMAL_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_PI_RECURSIVE_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_PI_ERRORCHECK_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_PI_ADAPTIVE_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_MUTEX_PI_ROBUST_NORMAL_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_NORMAL_NP, PTHREAD_MUTEX_PI_ROBUST_RECURSIVE_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_RECURSIVE_NP, PTHREAD_MUTEX_PI_ROBUST_ERRORCHECK_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_ERRORCHECK_NP, PTHREAD_MUTEX_PI_ROBUST_ADAPTIVE_NP = PTHREAD_MUTEX_PRIO_INHERIT_NP | PTHREAD_MUTEX_ROBUST_ADAPTIVE_NP, PTHREAD_MUTEX_PRIO_PROTECT_NP = 64, PTHREAD_MUTEX_PP_NORMAL_NP = PTHREAD_MUTEX_PRIO_PROTECT_NP | PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_PP_RECURSIVE_NP = PTHREAD_MUTEX_PRIO_PROTECT_NP | PTHREAD_MUTEX_RECURSIVE_NP, PTHREAD_MUTEX_PP_ERRORCHECK_NP = PTHREAD_MUTEX_PRIO_PROTECT_NP | PTHREAD_MUTEX_ERRORCHECK_NP, PTHREAD_MUTEX_PP_ADAPTIVE_NP = PTHREAD_MUTEX_PRIO_PROTECT_NP | PTHREAD_MUTEX_ADAPTIVE_NP, PTHREAD_MUTEX_ELISION_FLAGS_NP = PTHREAD_MUTEX_ELISION_NP | PTHREAD_MUTEX_NO_ELISION_NP, PTHREAD_MUTEX_TIMED_ELISION_NP = PTHREAD_MUTEX_TIMED_NP | PTHREAD_MUTEX_ELISION_NP, PTHREAD_MUTEX_TIMED_NO_ELISION_NP = PTHREAD_MUTEX_TIMED_NP | PTHREAD_MUTEX_NO_ELISION_NP, }; # 166 "pthreadP.h" extern struct pthread_attr __default_pthread_attr __attribute__ ((visibility ("hidden"))); extern int __default_pthread_attr_lock __attribute__ ((visibility ("hidden"))); extern size_t __static_tls_size __attribute__ ((visibility ("hidden"))); extern size_t __static_tls_align_m1 __attribute__ ((visibility ("hidden"))); extern int __is_smp __attribute__ ((visibility ("hidden"))); extern list_t __stack_user; extern __typeof (__stack_user) __stack_user __asm__ ("" "__GI___stack_user") __attribute__ ((visibility ("hidden"))); extern struct pthread_attr *__attr_list __attribute__ ((visibility ("hidden"))); extern int __attr_list_lock __attribute__ ((visibility ("hidden"))); extern int __current_sigrtmin __attribute__ ((visibility ("hidden"))); extern int __current_sigrtmax __attribute__ ((visibility ("hidden"))); extern int __concurrency_level __attribute__ ((visibility ("hidden"))); extern struct pthread_key_struct __pthread_keys[1024]; extern __typeof (__pthread_keys) __pthread_keys __asm__ ("" "__GI___pthread_keys") __attribute__ ((visibility ("hidden"))); extern unsigned int __nptl_nthreads __attribute__ ((visibility ("hidden"))); extern int __sched_fifo_min_prio __attribute__ ((visibility ("hidden"))); extern int __sched_fifo_max_prio __attribute__ ((visibility ("hidden"))); extern void __init_sched_fifo_prio (void) __attribute__ ((visibility ("hidden"))); extern int __pthread_tpp_change_priority (int prev_prio, int new_prio) __attribute__ ((visibility ("hidden"))); extern int __pthread_current_priority (void) __attribute__ ((visibility ("hidden"))); extern int __pthread_debug __attribute__ ((visibility ("hidden"))); # 242 "pthreadP.h" extern void __pthread_unwind (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))) __attribute ((__noreturn__)) ; extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))) __attribute ((__noreturn__)) ; extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __attribute__ ((__regparm__ (1))); extern __typeof (__pthread_unwind) __pthread_unwind __asm__ ("" "__GI___pthread_unwind") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_unwind_next) __pthread_unwind_next __asm__ ("" "__GI___pthread_unwind_next") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_register_cancel) __pthread_register_cancel __asm__ ("" "__GI___pthread_register_cancel") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_unregister_cancel) __pthread_unregister_cancel __asm__ ("" "__GI___pthread_unregister_cancel") __attribute__ ((visibility ("hidden"))); extern void __attribute__ ((visibility ("hidden"))) pthread_cancel_init (void); extern void __unwind_freeres (void); static inline void __attribute ((noreturn, always_inline)) __do_cancel (void) { struct pthread *self = ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); (void) ({ if (sizeof ((self)->cancelhandling) == 4) asm volatile ("lock;" "orl %1, %%gs:%P0" :: "i" (__builtin_offsetof (struct pthread, cancelhandling)), "ir" (1 << (4))); else abort (); }); __pthread_unwind ((__pthread_unwind_buf_t *) ({ __typeof (self->cleanup_jmp_buf) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf)), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf) + 4)); } __value; })); } # 336 "pthreadP.h" extern struct xid_command *__xidcmd __attribute__ ((visibility ("hidden"))); extern struct pthread *__find_in_stack_list (struct pthread *pd) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern void __free_tcb (struct pthread *pd) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern void __deallocate_stack (struct pthread *pd) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern void __reclaim_stacks (void) __attribute__ ((visibility ("hidden"))); extern int __make_stacks_executable (void **stack_endp) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe); extern __typeof (__pthread_cleanup_upto) __pthread_cleanup_upto __asm__ ("" "__GI___pthread_cleanup_upto") __attribute__ ((visibility ("hidden"))); extern int __pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); extern int __pthread_create_2_0 (pthread_t *newthread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); extern int __pthread_attr_init_2_1 (pthread_attr_t *attr); extern int __pthread_attr_init_2_0 (pthread_attr_t *attr); extern void __nptl_create_event (void); extern void __nptl_death_event (void); extern __typeof (__nptl_create_event) __nptl_create_event __asm__ ("" "__GI___nptl_create_event") __attribute__ ((visibility ("hidden"))); extern __typeof (__nptl_death_event) __nptl_death_event __asm__ ("" "__GI___nptl_death_event") __attribute__ ((visibility ("hidden"))); extern void __libc_pthread_init (unsigned long int *ptr, void (*reclaim) (void), const struct pthread_functions *functions) __attribute__ ((regparm (3), stdcall)); # 406 "pthreadP.h" extern struct pthread *__find_thread_by_id (pid_t tid) __attribute__ ((visibility ("hidden"))) ; extern void __pthread_init_static_tls (struct link_map *) __attribute__ ((visibility ("hidden"))); extern size_t __pthread_get_minstack (const pthread_attr_t *attr); extern int __pthread_getschedparam (pthread_t thread_id, int *policy, struct sched_param *param); extern int __pthread_setschedparam (pthread_t thread_id, int policy, const struct sched_param *param); extern int __pthread_setcancelstate (int state, int *oldstate); extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutexattr); extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex); extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex); extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex); extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex, int __decr) __attribute__ ((visibility ("hidden"))) __attribute__ ((regparm (3), stdcall)); extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind); extern int __pthread_attr_destroy (pthread_attr_t *attr); extern int __pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstate); extern int __pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate); extern int __pthread_attr_getinheritsched (const pthread_attr_t *attr, int *inherit); extern int __pthread_attr_setinheritsched (pthread_attr_t *attr, int inherit); extern int __pthread_attr_getschedparam (const pthread_attr_t *attr, struct sched_param *param); extern int __pthread_attr_setschedparam (pthread_attr_t *attr, const struct sched_param *param); extern int __pthread_attr_getschedpolicy (const pthread_attr_t *attr, int *policy); extern int __pthread_attr_setschedpolicy (pthread_attr_t *attr, int policy); extern int __pthread_attr_getscope (const pthread_attr_t *attr, int *scope); extern int __pthread_attr_setscope (pthread_attr_t *attr, int scope); extern int __pthread_attr_getstackaddr (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr); extern int __pthread_attr_setstackaddr (pthread_attr_t *__attr, void *__stackaddr); extern int __pthread_attr_getstacksize (const pthread_attr_t *__restrict __attr, size_t *__restrict __stacksize); extern int __pthread_attr_setstacksize (pthread_attr_t *__attr, size_t __stacksize); extern int __pthread_attr_getstack (const pthread_attr_t *__restrict __attr, void **__restrict __stackaddr, size_t *__restrict __stacksize); extern int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, size_t __stacksize); extern int __pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, const pthread_rwlockattr_t *__restrict __attr); extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_cond_broadcast (pthread_cond_t *cond); extern int __pthread_cond_destroy (pthread_cond_t *cond); extern int __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr); extern int __pthread_cond_signal (pthread_cond_t *cond); extern int __pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex); extern int __pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); extern int __pthread_condattr_destroy (pthread_condattr_t *attr); extern int __pthread_condattr_init (pthread_condattr_t *attr); extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *)); extern void *__pthread_getspecific (pthread_key_t key); extern int __pthread_setspecific (pthread_key_t key, const void *value); extern int __pthread_once (pthread_once_t *once_control, void (*init_routine) (void)); extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void)); extern pthread_t __pthread_self (void); extern int __pthread_equal (pthread_t thread1, pthread_t thread2); extern int __pthread_kill (pthread_t threadid, int signo); extern void __pthread_exit (void *value) __attribute__ ((__noreturn__)); extern int __pthread_setcanceltype (int type, int *oldtype); extern int __pthread_enable_asynccancel (void) __attribute__ ((visibility ("hidden"))); extern void __pthread_disable_asynccancel (int oldtype) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_mutex_init) __pthread_mutex_init __asm__ ("" "__GI___pthread_mutex_init") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_mutex_destroy) __pthread_mutex_destroy __asm__ ("" "__GI___pthread_mutex_destroy") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_mutex_lock) __pthread_mutex_lock __asm__ ("" "__GI___pthread_mutex_lock") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_mutex_unlock) __pthread_mutex_unlock __asm__ ("" "__GI___pthread_mutex_unlock") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_rwlock_rdlock) __pthread_rwlock_rdlock __asm__ ("" "__GI___pthread_rwlock_rdlock") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_rwlock_wrlock) __pthread_rwlock_wrlock __asm__ ("" "__GI___pthread_rwlock_wrlock") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_rwlock_unlock) __pthread_rwlock_unlock __asm__ ("" "__GI___pthread_rwlock_unlock") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_key_create) __pthread_key_create __asm__ ("" "__GI___pthread_key_create") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_getspecific) __pthread_getspecific __asm__ ("" "__GI___pthread_getspecific") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_setspecific) __pthread_setspecific __asm__ ("" "__GI___pthread_setspecific") __attribute__ ((visibility ("hidden"))); extern __typeof (__pthread_once) __pthread_once __asm__ ("" "__GI___pthread_once") __attribute__ ((visibility ("hidden"))); extern int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond); extern int __pthread_cond_destroy_2_0 (pthread_cond_2_0_t *cond); extern int __pthread_cond_init_2_0 (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr); extern int __pthread_cond_signal_2_0 (pthread_cond_2_0_t *cond); extern int __pthread_cond_timedwait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); extern int __pthread_cond_wait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex); extern int __pthread_getaffinity_np (pthread_t th, size_t cpusetsize, cpu_set_t *cpuset); extern int __libc_enable_asynccancel (void) __attribute__ ((visibility ("hidden"))); extern void __libc_disable_asynccancel (int oldtype) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern int __librt_enable_asynccancel (void) __attribute__ ((visibility ("hidden"))); extern void __librt_disable_asynccancel (int oldtype) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg) __attribute__ ((visibility ("hidden"))); extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) __attribute__ ((visibility ("hidden"))); extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void __pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute); extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); extern void __nptl_deallocate_tsd (void) __attribute__ ((visibility ("hidden"))); extern void __nptl_setxid_error (struct xid_command *cmdp, int error) __attribute__ ((visibility ("hidden"))); extern int __nptl_setxid (struct xid_command *cmdp) __attribute__ ((visibility ("hidden"))); extern void __free_stacks (size_t limit) __attribute__ ((visibility ("hidden"))); extern void __wait_lookup_done (void) __attribute__ ((visibility ("hidden"))); # 611 "pthreadP.h" static inline int check_sched_policy_attr (int pol) { if (pol == 0 || pol == 1 || pol == 2) return 0; return 22; } static inline int check_sched_priority_attr (int pr, int pol) { int min = __sched_get_priority_min (pol); int max = __sched_get_priority_max (pol); if (min >= 0 && max >= 0 && pr >= min && pr <= max) return 0; return 22; } static inline int check_stacksize_attr (size_t st) { if (st >= 16384) return 0; return 22; } extern size_t __kernel_cpumask_size __attribute__ ((visibility ("hidden"))); extern int __determine_cpumask_size (pid_t tid); static inline int check_cpuset_attr (const cpu_set_t *cs, const size_t sz) { if (__kernel_cpumask_size == 0) { int res = __determine_cpumask_size (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->tid); if (res) return res; } for (size_t cnt = __kernel_cpumask_size; cnt < sz; ++cnt) if (((char *) cs)[cnt] != '\0') return 22; return 0; } # 26 "pthread_create.c" 2 # 1 "../sysdeps/unix/sysv/linux/ldsodefs.h" 1 # 22 "../sysdeps/unix/sysv/linux/ldsodefs.h" # 1 "../sysdeps/gnu/ldsodefs.h" 1 # 23 "../sysdeps/gnu/ldsodefs.h" # 1 "/suse/schwab/src/libc/i586/libc-abis.h" 1 enum { LIBC_ABI_DEFAULT = 0, LIBC_ABI_UNIQUE, LIBC_ABI_IFUNC, LIBC_ABI_MAX }; # 24 "../sysdeps/gnu/ldsodefs.h" 2 # 46 "../sysdeps/gnu/ldsodefs.h" # 1 "../sysdeps/i386/ldsodefs.h" 1 # 24 "../sysdeps/i386/ldsodefs.h" struct La_i86_regs; struct La_i86_retval; # 38 "../sysdeps/i386/ldsodefs.h" # 1 "../sysdeps/generic/ldsodefs.h" 1 # 27 "../sysdeps/generic/ldsodefs.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 28 "../sysdeps/generic/ldsodefs.h" 2 # 1 "../include/dlfcn.h" 1 # 1 "../dlfcn/dlfcn.h" 1 # 24 "../dlfcn/dlfcn.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 25 "../dlfcn/dlfcn.h" 2 # 1 "../include/bits/dlfcn.h" 1 # 1 "../bits/dlfcn.h" 1 # 57 "../bits/dlfcn.h" extern void _dl_mcount_wrapper_check (void *__selfpc) __attribute__ ((__nothrow__ )); # 2 "../include/bits/dlfcn.h" 2 # 28 "../dlfcn/dlfcn.h" 2 # 44 "../dlfcn/dlfcn.h" typedef long int Lmid_t; extern void *dlopen (const char *__file, int __mode) __attribute__ ((__nothrow__)); extern int dlclose (void *__handle) __attribute__ ((__nothrow__)) ; extern void *dlsym (void *__restrict __handle, const char *__restrict __name) __attribute__ ((__nothrow__ )) ; extern void *dlmopen (Lmid_t __nsid, const char *__file, int __mode) __attribute__ ((__nothrow__)); extern void *dlvsym (void *__restrict __handle, const char *__restrict __name, const char *__restrict __version) __attribute__ ((__nothrow__ )) ; extern char *dlerror (void) __attribute__ ((__nothrow__ )); typedef struct { const char *dli_fname; void *dli_fbase; const char *dli_sname; void *dli_saddr; } Dl_info; extern int dladdr (const void *__address, Dl_info *__info) __attribute__ ((__nothrow__ )) ; extern int dladdr1 (const void *__address, Dl_info *__info, void **__extra_info, int __flags) __attribute__ ((__nothrow__ )) ; enum { RTLD_DL_SYMENT = 1, RTLD_DL_LINKMAP = 2 }; extern int dlinfo (void *__restrict __handle, int __request, void *__restrict __arg) __attribute__ ((__nothrow__ )) ; enum { RTLD_DI_LMID = 1, RTLD_DI_LINKMAP = 2, RTLD_DI_CONFIGADDR = 3, RTLD_DI_SERINFO = 4, RTLD_DI_SERINFOSIZE = 5, RTLD_DI_ORIGIN = 6, RTLD_DI_PROFILENAME = 7, RTLD_DI_PROFILEOUT = 8, RTLD_DI_TLS_MODID = 9, RTLD_DI_TLS_DATA = 10, RTLD_DI_MAX = 10 }; typedef struct { char *dls_name; unsigned int dls_flags; } Dl_serpath; typedef struct { size_t dls_size; unsigned int dls_cnt; Dl_serpath dls_serpath[1]; } Dl_serinfo; # 3 "../include/dlfcn.h" 2 # 1 "../include/link.h" 1 # 32 "../include/link.h" # 1 "../elf/link.h" 1 # 25 "../elf/link.h" # 1 "../include/dlfcn.h" 1 # 26 "../elf/link.h" 2 # 1 "../include/sys/types.h" 1 # 27 "../elf/link.h" 2 # 1 "../bits/elfclass.h" 1 # 9 "../bits/elfclass.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 10 "../bits/elfclass.h" 2 typedef uint32_t Elf_Symndx; # 35 "../elf/link.h" 2 # 1 "../sysdeps/x86/bits/link.h" 1 # 25 "../sysdeps/x86/bits/link.h" typedef struct La_i86_regs { uint32_t lr_edx; uint32_t lr_ecx; uint32_t lr_eax; uint32_t lr_ebp; uint32_t lr_esp; } La_i86_regs; typedef struct La_i86_retval { uint32_t lrv_eax; uint32_t lrv_edx; long double lrv_st0; long double lrv_st1; } La_i86_retval; extern Elf32_Addr la_i86_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, uintptr_t *__refcook, uintptr_t *__defcook, La_i86_regs *__regs, unsigned int *__flags, const char *__symname, long int *__framesizep); extern unsigned int la_i86_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, uintptr_t *__refcook, uintptr_t *__defcook, const La_i86_regs *__inregs, La_i86_retval *__outregs, const char *symname); # 36 "../elf/link.h" 2 struct r_debug { int r_version; struct link_map_public *r_map; Elf32_Addr r_brk; enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state; Elf32_Addr r_ldbase; }; extern struct r_debug _r_debug; # 76 "../elf/link.h" extern Elf32_Dyn _DYNAMIC[]; struct link_map_public { Elf32_Addr l_addr; char *l_name; Elf32_Dyn *l_ld; struct link_map_public *l_next, *l_prev; }; enum { LA_ACT_CONSISTENT, LA_ACT_ADD, LA_ACT_DELETE }; enum { LA_SER_ORIG = 0x01, LA_SER_LIBPATH = 0x02, LA_SER_RUNPATH = 0x04, LA_SER_CONFIG = 0x08, LA_SER_DEFAULT = 0x40, LA_SER_SECURE = 0x80 }; enum { LA_FLG_BINDTO = 0x01, LA_FLG_BINDFROM = 0x02 }; enum { LA_SYMB_NOPLTENTER = 0x01, LA_SYMB_NOPLTEXIT = 0x02, LA_SYMB_STRUCTCALL = 0x04, LA_SYMB_DLSYM = 0x08, LA_SYMB_ALTVALUE = 0x10 }; struct dl_phdr_info { Elf32_Addr dlpi_addr; const char *dlpi_name; const Elf32_Phdr *dlpi_phdr; Elf32_Half dlpi_phnum; __extension__ unsigned long long int dlpi_adds; __extension__ unsigned long long int dlpi_subs; size_t dlpi_tls_modid; void *dlpi_tls_data; }; extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *, size_t, void *), void *__data); extern unsigned int la_version (unsigned int __version); extern void la_activity (uintptr_t *__cookie, unsigned int __flag); extern char *la_objsearch (const char *__name, uintptr_t *__cookie, unsigned int __flag); extern unsigned int la_objopen_wrongproto (struct link_map_public *__map, Lmid_t __lmid, uintptr_t *__cookie); extern void la_preinit (uintptr_t *__cookie); extern uintptr_t la_symbind32 (Elf32_Sym *__sym, unsigned int __ndx, uintptr_t *__refcook, uintptr_t *__defcook, unsigned int *__flags, const char *__symname); extern uintptr_t la_symbind64 (Elf64_Sym *__sym, unsigned int __ndx, uintptr_t *__refcook, uintptr_t *__defcook, unsigned int *__flags, const char *__symname); extern unsigned int la_objclose (uintptr_t *__cookie); # 33 "../include/link.h" 2 struct link_map; extern unsigned int la_objopen (struct link_map *__map, Lmid_t __lmid, uintptr_t *__cookie); # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 42 "../include/link.h" 2 # 1 "../sysdeps/x86/bits/linkmap.h" 1 # 10 "../sysdeps/x86/bits/linkmap.h" struct link_map_machine { Elf32_Addr plt; Elf32_Addr gotplt; void *tlsdesc_table; }; # 43 "../include/link.h" 2 # 1 "../sysdeps/i386/dl-lookupcfg.h" 1 # 21 "../sysdeps/i386/dl-lookupcfg.h" # 1 "../sysdeps/generic/dl-lookupcfg.h" 1 # 22 "../sysdeps/i386/dl-lookupcfg.h" 2 struct link_map; extern void __attribute__ ((regparm (3), stdcall)) _dl_unmap (struct link_map *map); # 44 "../include/link.h" 2 # 1 "../sysdeps/nptl/bits/libc-lock.h" 1 # 22 "../sysdeps/nptl/bits/libc-lock.h" # 1 "../include/pthread.h" 1 extern void __pthread_initialize (void) __attribute__ ((weak)); # 23 "../sysdeps/nptl/bits/libc-lock.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 25 "../sysdeps/nptl/bits/libc-lock.h" 2 typedef struct { int lock; int cnt; void *owner; } __libc_lock_recursive_t; # 150 "../sysdeps/nptl/bits/libc-lock.h" extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); # 184 "../sysdeps/nptl/bits/libc-lock.h" # 1 "../sysdeps/nptl/bits/libc-lockP.h" 1 # 22 "../sysdeps/nptl/bits/libc-lockP.h" # 1 "../include/pthread.h" 1 extern void __pthread_initialize (void) __attribute__ ((weak)); # 23 "../sysdeps/nptl/bits/libc-lockP.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 25 "../sysdeps/nptl/bits/libc-lockP.h" 2 # 41 "../sysdeps/nptl/bits/libc-lockP.h" typedef int __libc_lock_t; typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t; typedef pthread_rwlock_t __libc_rwlock_t; typedef pthread_key_t __libc_key_t; # 256 "../sysdeps/nptl/bits/libc-lockP.h" extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute); extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); # 274 "../sysdeps/nptl/bits/libc-lockP.h" extern __inline __attribute__ ((__gnu_inline__)) void __libc_cleanup_routine (struct __pthread_cleanup_frame *f) { if (f->__do_it) f->__cancel_routine (f->__cancel_arg); } # 311 "../sysdeps/nptl/bits/libc-lockP.h" extern int __register_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void), void *__dso_handle); extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutex_attr); extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex); extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex); extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex); extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr); extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr); extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind); extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr); extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_key_create (pthread_key_t *__key, void (*__destr_function) (void *)); extern int __pthread_setspecific (pthread_key_t __key, const void *__pointer); extern void *__pthread_getspecific (pthread_key_t __key); extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); extern int __pthread_atfork (void (*__prepare) (void), void (*__parent) (void), void (*__child) (void)); # 373 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutex_init # 373 "../sysdeps/nptl/bits/libc-lockP.h" # 374 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutex_destroy # 374 "../sysdeps/nptl/bits/libc-lockP.h" # 375 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutex_lock # 375 "../sysdeps/nptl/bits/libc-lockP.h" # 376 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutex_trylock # 376 "../sysdeps/nptl/bits/libc-lockP.h" # 377 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutex_unlock # 377 "../sysdeps/nptl/bits/libc-lockP.h" # 378 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutexattr_init # 378 "../sysdeps/nptl/bits/libc-lockP.h" # 379 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutexattr_destroy # 379 "../sysdeps/nptl/bits/libc-lockP.h" # 380 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_mutexattr_settype # 380 "../sysdeps/nptl/bits/libc-lockP.h" # 381 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_init # 381 "../sysdeps/nptl/bits/libc-lockP.h" # 382 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_destroy # 382 "../sysdeps/nptl/bits/libc-lockP.h" # 383 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_rdlock # 383 "../sysdeps/nptl/bits/libc-lockP.h" # 384 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_tryrdlock # 384 "../sysdeps/nptl/bits/libc-lockP.h" # 385 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_wrlock # 385 "../sysdeps/nptl/bits/libc-lockP.h" # 386 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_trywrlock # 386 "../sysdeps/nptl/bits/libc-lockP.h" # 387 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_rwlock_unlock # 387 "../sysdeps/nptl/bits/libc-lockP.h" # 388 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_key_create # 388 "../sysdeps/nptl/bits/libc-lockP.h" # 389 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_setspecific # 389 "../sysdeps/nptl/bits/libc-lockP.h" # 390 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_getspecific # 390 "../sysdeps/nptl/bits/libc-lockP.h" # 391 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_once # 391 "../sysdeps/nptl/bits/libc-lockP.h" # 392 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_initialize # 392 "../sysdeps/nptl/bits/libc-lockP.h" # 393 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak __pthread_atfork # 393 "../sysdeps/nptl/bits/libc-lockP.h" # 394 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak _pthread_cleanup_push_defer # 394 "../sysdeps/nptl/bits/libc-lockP.h" # 395 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak _pthread_cleanup_pop_restore # 395 "../sysdeps/nptl/bits/libc-lockP.h" # 396 "../sysdeps/nptl/bits/libc-lockP.h" #pragma weak pthread_setcancelstate # 396 "../sysdeps/nptl/bits/libc-lockP.h" # 185 "../sysdeps/nptl/bits/libc-lock.h" 2 # 46 "../include/link.h" 2 struct libname_list; struct r_found_version; struct r_search_path_elem; struct link_map; struct r_scope_elem { struct link_map **r_list; unsigned int r_nlist; }; struct r_search_path_struct { struct r_search_path_elem **dirs; int malloced; }; # 85 "../include/link.h" struct link_map { Elf32_Addr l_addr; char *l_name; Elf32_Dyn *l_ld; struct link_map *l_next, *l_prev; struct link_map *l_real; Lmid_t l_ns; struct libname_list *l_libname; # 123 "../include/link.h" Elf32_Dyn *l_info[34 + 0 + 16 + 3 + 12 + 11]; const Elf32_Phdr *l_phdr; Elf32_Addr l_entry; Elf32_Half l_phnum; Elf32_Half l_ldnum; struct r_scope_elem l_searchlist; struct r_scope_elem l_symbolic_searchlist; struct link_map *l_loader; struct r_found_version *l_versions; unsigned int l_nversions; Elf_Symndx l_nbuckets; Elf32_Word l_gnu_bitmask_idxbits; Elf32_Word l_gnu_shift; const Elf32_Addr *l_gnu_bitmask; union { const Elf32_Word *l_gnu_buckets; const Elf_Symndx *l_chain; }; union { const Elf32_Word *l_gnu_chain_zero; const Elf_Symndx *l_buckets; }; unsigned int l_direct_opencount; enum { lt_executable, lt_library, lt_loaded } l_type:2; unsigned int l_relocated:1; unsigned int l_init_called:1; unsigned int l_global:1; unsigned int l_reserved:2; unsigned int l_phdr_allocated:1; unsigned int l_soname_added:1; unsigned int l_faked:1; unsigned int l_need_tls_init:1; unsigned int l_auditing:1; unsigned int l_audit_any_plt:1; unsigned int l_removed:1; unsigned int l_contiguous:1; unsigned int l_symbolic_in_local_scope:1; unsigned int l_free_initfini:1; struct r_search_path_struct l_rpath_dirs; struct reloc_result { Elf32_Addr addr; struct link_map *bound; unsigned int boundndx; uint32_t enterexit; unsigned int flags; } *l_reloc_result; Elf32_Versym *l_versyms; const char *l_origin; Elf32_Addr l_map_start, l_map_end; Elf32_Addr l_text_end; struct r_scope_elem *l_scope_mem[4]; size_t l_scope_max; struct r_scope_elem **l_scope; struct r_scope_elem *l_local_scope[2]; dev_t l_dev; ino64_t l_ino; struct r_search_path_struct l_runpath_dirs; struct link_map **l_initfini; struct link_map_reldeps { unsigned int act; struct link_map *list[]; } *l_reldeps; unsigned int l_reldepsmax; unsigned int l_used; Elf32_Word l_feature_1; Elf32_Word l_flags_1; Elf32_Word l_flags; int l_idx; struct link_map_machine l_mach; struct { const Elf32_Sym *sym; int type_class; struct link_map *value; const Elf32_Sym *ret; } l_lookup_cache; void *l_tls_initimage; size_t l_tls_initimage_size; size_t l_tls_blocksize; size_t l_tls_align; size_t l_tls_firstbyte_offset; # 301 "../include/link.h" ptrdiff_t l_tls_offset; size_t l_tls_modid; size_t l_tls_dtor_count; Elf32_Addr l_relro_addr; size_t l_relro_size; unsigned long long int l_serial; struct auditstate { uintptr_t cookie; unsigned int bindflags; } l_audit[0]; }; # 333 "../include/link.h" extern int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info, size_t size, void *data), void *data); # 5 "../include/dlfcn.h" 2 # 20 "../include/dlfcn.h" extern int __dlfcn_argc __attribute__ ((visibility ("hidden"))); extern char **__dlfcn_argv __attribute__ ((visibility ("hidden"))); # 36 "../include/dlfcn.h" extern void *__libc_dlopen_mode (const char *__name, int __mode); extern void *__libc_dlsym (void *__map, const char *__name); extern int __libc_dlclose (void *__map); extern int _dl_addr (const void *address, Dl_info *info, struct link_map **mapp, const Elf32_Sym **symbolp) __attribute__ ((regparm (3), stdcall)); struct link_map; extern void _dl_close (void *map) __attribute__ ((visibility ("hidden"))); extern void _dl_close_worker (struct link_map *map) __attribute__ ((visibility ("hidden"))); extern void *_dl_sym (void *handle, const char *name, void *who) __attribute__ ((regparm (3), stdcall)); extern void *_dl_vsym (void *handle, const char *name, const char *version, void *who) __attribute__ ((regparm (3), stdcall)); # 81 "../include/dlfcn.h" extern int _dl_catch_error (const char **objname, const char **errstring, _Bool *mallocedp, void (*operate) (void *), void *args) __attribute__ ((regparm (3), stdcall)); extern int _dlerror_run (void (*operate) (void *), void *args) __attribute__ ((regparm (3), stdcall)); # 101 "../include/dlfcn.h" struct dlfcn_hook { void *(*dlopen) (const char *file, int mode, void *dl_caller); int (*dlclose) (void *handle); void *(*dlsym) (void *handle, const char *name, void *dl_caller); void *(*dlvsym) (void *handle, const char *name, const char *version, void *dl_caller); char *(*dlerror) (void); int (*dladdr) (const void *address, Dl_info *info); int (*dladdr1) (const void *address, Dl_info *info, void **extra_info, int flags); int (*dlinfo) (void *handle, int request, void *arg, void *dl_caller); void *(*dlmopen) (Lmid_t nsid, const char *file, int mode, void *dl_caller); void *pad[4]; }; extern struct dlfcn_hook *_dlfcn_hook; extern void *__dlopen (const char *file, int mode ) __attribute__ ((visibility ("hidden"))); extern void *__dlmopen (Lmid_t nsid, const char *file, int mode ) __attribute__ ((visibility ("hidden"))); extern int __dlclose (void *handle) __attribute__ ((visibility ("hidden"))); extern void *__dlsym (void *handle, const char *name ) __attribute__ ((visibility ("hidden"))); extern void *__dlvsym (void *handle, const char *name, const char *version ) __attribute__ ((visibility ("hidden"))); extern char *__dlerror (void) __attribute__ ((visibility ("hidden"))); extern int __dladdr (const void *address, Dl_info *info) __attribute__ ((visibility ("hidden"))); extern int __dladdr1 (const void *address, Dl_info *info, void **extra_info, int flags) __attribute__ ((visibility ("hidden"))); extern int __dlinfo (void *handle, int request, void *arg ) __attribute__ ((visibility ("hidden"))); # 33 "../sysdeps/generic/ldsodefs.h" 2 # 1 "../include/fpu_control.h" 1 # 1 "../sysdeps/x86/fpu_control.h" 1 # 91 "../sysdeps/x86/fpu_control.h" typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__HI__))); # 107 "../sysdeps/x86/fpu_control.h" extern fpu_control_t __fpu_control; # 2 "../include/fpu_control.h" 2 extern void __setfpucw (fpu_control_t); # 34 "../sysdeps/generic/ldsodefs.h" 2 # 1 "../include/sys/mman.h" 1 # 1 "../misc/sys/mman.h" 1 # 25 "../misc/sys/mman.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 26 "../misc/sys/mman.h" 2 # 41 "../misc/sys/mman.h" # 1 "../sysdeps/unix/sysv/linux/x86/bits/mman.h" 1 # 45 "../sysdeps/unix/sysv/linux/x86/bits/mman.h" # 1 "../bits/mman-linux.h" 1 # 45 "../sysdeps/unix/sysv/linux/x86/bits/mman.h" 2 # 42 "../misc/sys/mman.h" 2 # 57 "../misc/sys/mman.h" extern void *mmap (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off_t __offset) __attribute__ ((__nothrow__ )); # 70 "../misc/sys/mman.h" extern void *mmap64 (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) __attribute__ ((__nothrow__ )); extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__ )); extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__ )); extern int msync (void *__addr, size_t __len, int __flags); extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ )); extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__ )); extern int mlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ )); extern int munlock (const void *__addr, size_t __len) __attribute__ ((__nothrow__ )); extern int mlockall (int __flags) __attribute__ ((__nothrow__ )); extern int munlockall (void) __attribute__ ((__nothrow__ )); extern int mincore (void *__start, size_t __len, unsigned char *__vec) __attribute__ ((__nothrow__ )); # 133 "../misc/sys/mman.h" extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, int __flags, ...) __attribute__ ((__nothrow__ )); extern int remap_file_pages (void *__start, size_t __size, int __prot, size_t __pgoff, int __flags) __attribute__ ((__nothrow__ )); extern int shm_open (const char *__name, int __oflag, mode_t __mode); extern int shm_unlink (const char *__name); # 3 "../include/sys/mman.h" 2 extern void *__mmap (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off_t __offset); extern void *__mmap64 (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset); extern int __munmap (void *__addr, size_t __len); extern int __mprotect (void *__addr, size_t __len, int __prot); extern int __madvise (void *__addr, size_t __len, int __advice); extern void *__mremap (void *__addr, size_t __old_len, size_t __new_len, int __flags, ...); # 35 "../sysdeps/generic/ldsodefs.h" 2 # 1 "../sysdeps/i386/dl-lookupcfg.h" 1 # 21 "../sysdeps/i386/dl-lookupcfg.h" # 1 "../sysdeps/generic/dl-lookupcfg.h" 1 # 22 "../sysdeps/i386/dl-lookupcfg.h" 2 struct link_map; extern void __attribute__ ((regparm (3), stdcall)) _dl_unmap (struct link_map *map); # 37 "../sysdeps/generic/ldsodefs.h" 2 # 1 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 1 # 21 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1 # 19 "../sysdeps/unix/sysv/linux/dl-sysdep.h" # 1 "../sysdeps/generic/dl-sysdep.h" 1 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/dl-sysdep.h" extern int _dl_discover_osversion (void) __attribute__ ((visibility ("hidden"))); # 22 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" extern void _dl_sysinfo_int80 (void) __attribute__ ((visibility ("hidden"))); # 38 "../sysdeps/generic/ldsodefs.h" 2 # 67 "../sysdeps/generic/ldsodefs.h" typedef struct link_map *lookup_t; # 137 "../sysdeps/generic/ldsodefs.h" struct r_found_version { const char *name; Elf32_Word hash; int hidden; const char *filename; }; enum r_dir_status { unknown, nonexisting, existing }; struct r_search_path_elem { struct r_search_path_elem *next; const char *what; const char *where; const char *dirname; size_t dirnamelen; enum r_dir_status status[0]; }; struct r_strlenpair { const char *str; size_t len; }; struct libname_list { const char *name; struct libname_list *next; int dont_free; }; enum allowmask { allow_libc = 1, allow_libdl = 2, allow_libpthread = 4, allow_ldso = 8 }; struct audit_ifaces { void (*activity) (uintptr_t *, unsigned int); char *(*objsearch) (const char *, uintptr_t *, unsigned int); unsigned int (*objopen) (struct link_map *, Lmid_t, uintptr_t *); void (*preinit) (uintptr_t *); union { uintptr_t (*symbind32) (Elf32_Sym *, unsigned int, uintptr_t *, uintptr_t *, unsigned int *, const char *); uintptr_t (*symbind64) (Elf64_Sym *, unsigned int, uintptr_t *, uintptr_t *, unsigned int *, const char *); }; union { Elf32_Addr (*i86_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *, uintptr_t *, struct La_i86_regs *, unsigned int *, const char *name, long int *framesizep); }; union { unsigned int (*i86_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *, uintptr_t *, const struct La_i86_regs *, struct La_i86_retval *, const char *); }; unsigned int (*objclose) (uintptr_t *); struct audit_ifaces *next; }; extern int _dl_name_match_p (const char *__name, const struct link_map *__map) __attribute__ ((regparm (3), stdcall)); extern unsigned long int _dl_higher_prime_number (unsigned long int n) __attribute__ ((regparm (3), stdcall)); typedef void (*receiver_fct) (int, const char *, const char *); # 258 "../sysdeps/generic/ldsodefs.h" struct rtld_global { # 270 "../sysdeps/generic/ldsodefs.h" struct link_namespaces { struct link_map *_ns_loaded; unsigned int _ns_nloaded; struct r_scope_elem *_ns_main_searchlist; size_t _ns_global_scope_alloc; struct unique_sym_table { __rtld_lock_recursive_t lock; struct unique_sym { uint32_t hashval; const char *name; const Elf32_Sym *sym; const struct link_map *map; } *entries; size_t size; size_t n_elements; void (*free) (void *); } _ns_unique_sym_table; struct r_debug _ns_debug; } _dl_ns[16]; size_t _dl_nns; # 310 "../sysdeps/generic/ldsodefs.h" __rtld_lock_recursive_t _dl_load_lock; __rtld_lock_recursive_t _dl_load_write_lock; unsigned long long _dl_load_adds; struct link_map *_dl_initfirst; struct link_map *_dl_profile_map; unsigned long int _dl_num_relocations; unsigned long int _dl_num_cache_relocations; struct r_search_path_elem *_dl_all_dirs; void **(*_dl_error_catch_tsd) (void) __attribute__ ((const)); struct link_map _dl_rtld_map; struct auditstate audit_data[16]; void (*_dl_rtld_lock_recursive) (void *); void (*_dl_rtld_unlock_recursive) (void *); int (*_dl_make_stack_executable_hook) (void **) __attribute__ ((regparm (3), stdcall)); Elf32_Word _dl_stack_flags; _Bool _dl_tls_dtv_gaps; size_t _dl_tls_max_dtv_idx; struct dtv_slotinfo_list { size_t len; struct dtv_slotinfo_list *next; struct dtv_slotinfo { size_t gen; struct link_map *map; } slotinfo[0]; } *_dl_tls_dtv_slotinfo_list; size_t _dl_tls_static_nelem; size_t _dl_tls_static_size; size_t _dl_tls_static_used; size_t _dl_tls_static_align; # 395 "../sysdeps/generic/ldsodefs.h" void *_dl_initial_dtv; size_t _dl_tls_generation; void (*_dl_init_static_tls) (struct link_map *); void (*_dl_wait_lookup_done) (void); struct dl_scope_free_list { size_t count; void *list[50]; } *_dl_scope_free_list; }; # 424 "../sysdeps/generic/ldsodefs.h" extern struct rtld_global _rtld_global ; # 436 "../sysdeps/generic/ldsodefs.h" struct rtld_global_ro { int _dl_debug_mask; # 457 "../sysdeps/generic/ldsodefs.h" unsigned int _dl_osversion; const char *_dl_platform; size_t _dl_platformlen; size_t _dl_pagesize; int _dl_inhibit_cache; struct r_scope_elem _dl_initial_searchlist; int _dl_clktck; int _dl_verbose; int _dl_debug_fd; int _dl_lazy; int _dl_bind_not; int _dl_dynamic_weak; fpu_control_t _dl_fpu_control; int _dl_correct_cache_id; uint64_t _dl_hwcap; uint64_t _dl_hwcap_mask; Elf32_auxv_t *_dl_auxv; # 1 "../sysdeps/i386/dl-procinfo.c" 1 # 49 "../sysdeps/i386/dl-procinfo.c" const char _dl_x86_cap_flags[32][8] # 60 "../sysdeps/i386/dl-procinfo.c" ; const char _dl_x86_platforms[4][5] ; # 511 "../sysdeps/generic/ldsodefs.h" 2 const char *_dl_inhibit_rpath; const char *_dl_origin_path; Elf32_Addr _dl_use_load_bias; const char *_dl_profile; const char *_dl_profile_output; const char *_dl_trace_prelink; struct link_map *_dl_trace_prelink_map; struct r_search_path_elem *_dl_init_all_dirs; uintptr_t _dl_sysinfo; const Elf32_Ehdr *_dl_sysinfo_dso; struct link_map *_dl_sysinfo_map; uint64_t _dl_hwcap2; void (*_dl_debug_printf) (const char *, ...) __attribute__ ((__format__ (__printf__, 1, 2))); int (__attribute__ ((regparm (3), stdcall)) *_dl_catch_error) (const char **, const char **, _Bool *, void (*) (void *), void *); void (__attribute__ ((regparm (3), stdcall)) *_dl_signal_error) (int, const char *, const char *, const char *); void (*_dl_mcount) (Elf32_Addr frompc, Elf32_Addr selfpc); lookup_t (__attribute__ ((regparm (3), stdcall)) *_dl_lookup_symbol_x) (const char *, struct link_map *, const Elf32_Sym **, struct r_scope_elem *[], const struct r_found_version *, int, int, struct link_map *); int (*_dl_check_caller) (const void *, enum allowmask); void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen, Lmid_t nsid, int argc, char *argv[], char *env[]); void (*_dl_close) (void *map); void *(*_dl_tls_get_addr_soft) (struct link_map *); int (*_dl_discover_osversion) (void); struct audit_ifaces *_dl_audit; unsigned int _dl_naudit; int _dl_pointer_guard; }; # 600 "../sysdeps/generic/ldsodefs.h" extern const struct rtld_global_ro _rtld_global_ro __attribute__ ((section (".data.rel.ro"))) ; # 622 "../sysdeps/generic/ldsodefs.h" extern int _dl_make_stack_executable (void **stack_endp) __attribute__ ((regparm (3), stdcall)); extern void *__libc_stack_end __attribute__ ((section (".data.rel.ro"))) ; extern int _dl_argc __attribute__ ((visibility ("hidden"))) __attribute__ ((section (".data.rel.ro"))); extern char **_dl_argv __attribute__ ((section (".data.rel.ro"))) ; # 666 "../sysdeps/generic/ldsodefs.h" extern int _dl_starting_up; # 667 "../sysdeps/generic/ldsodefs.h" #pragma weak _dl_starting_up # 667 "../sysdeps/generic/ldsodefs.h" extern void *_dl_random __attribute__ ((visibility ("hidden"))) __attribute__ ((section (".data.rel.ro"))); extern int _dl_sysdep_open_zero_fill (void); extern void _dl_debug_printf (const char *fmt, ...) __attribute__ ((__format__ (__printf__, 1, 2))) __attribute__ ((visibility ("hidden"))); extern void _dl_debug_printf_c (const char *fmt, ...) __attribute__ ((__format__ (__printf__, 1, 2))); extern void _dl_dprintf (int fd, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((visibility ("hidden"))); # 724 "../sysdeps/generic/ldsodefs.h" extern void _dl_signal_error (int errcode, const char *object, const char *occurred, const char *errstring) __attribute__ ((regparm (3), stdcall)) __attribute__ ((__noreturn__)) __attribute__ ((visibility ("hidden"))); extern void _dl_signal_cerror (int errcode, const char *object, const char *occation, const char *errstring) __attribute__ ((regparm (3), stdcall)); extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args) __attribute__ ((regparm (3), stdcall)); extern struct link_map *_dl_map_object (struct link_map *loader, const char *name, int type, int trace_mode, int mode, Lmid_t nsid) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_map_object_deps (struct link_map *map, struct link_map **preloads, unsigned int npreloads, int trace_mode, int open_mode) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_setup_hash (struct link_map *map) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_rtld_di_serinfo (struct link_map *loader, Dl_serinfo *si, _Bool counting) __attribute__ ((regparm (3), stdcall)); # 786 "../sysdeps/generic/ldsodefs.h" enum { DL_LOOKUP_ADD_DEPENDENCY = 1, DL_LOOKUP_RETURN_NEWEST = 2, DL_LOOKUP_GSCOPE_LOCK = 4, }; extern lookup_t _dl_lookup_symbol_x (const char *undef, struct link_map *undef_map, const Elf32_Sym **sym, struct r_scope_elem *symbol_scope[], const struct r_found_version *version, int type_class, int flags, struct link_map *skip_map) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern Elf32_Addr _dl_symbol_value (struct link_map *map, const char *name) __attribute__ ((regparm (3), stdcall)); extern void _dl_add_to_namespace_list (struct link_map *new, Lmid_t nsid) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern struct link_map *_dl_new_object (char *realname, const char *libname, int type, struct link_map *loader, int mode, Lmid_t nsid) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_relocate_object (struct link_map *map, struct r_scope_elem *scope[], int reloc_mode, int consider_profiling) __attribute__ ((visibility ("hidden"))); extern void _dl_protect_relro (struct link_map *map) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_reloc_bad_type (struct link_map *map, unsigned int type, int plt) __attribute__ ((regparm (3), stdcall)) __attribute__ ((__noreturn__)); extern void _dl_resolve_conflicts (struct link_map *l, Elf32_Rela *conflict, Elf32_Rela *conflictend); extern int _dl_check_all_versions (struct link_map *map, int verbose, int trace_mode) __attribute__ ((regparm (3), stdcall)); extern int _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode) __attribute__ ((regparm (3), stdcall)); extern void _dl_init (struct link_map *main_map, int argc, char **argv, char **env) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_fini (void) __attribute__ ((regparm (3), stdcall)); extern void _dl_sort_fini (struct link_map **maps, size_t nmaps, char *used, Lmid_t ns) __attribute__ ((regparm (3), stdcall)); extern void _dl_debug_state (void); extern struct r_debug *_dl_debug_initialize (Elf32_Addr ldbase, Lmid_t ns) __attribute__ ((regparm (3), stdcall)); extern void _dl_init_paths (const char *library_path) __attribute__ ((regparm (3), stdcall)); extern void _dl_start_profile (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_mcount (Elf32_Addr frompc, Elf32_Addr selfpc); extern void _dl_mcount_internal (Elf32_Addr frompc, Elf32_Addr selfpc) __attribute__ ((visibility ("hidden"))); extern void _dl_mcount_wrapper (void *selfpc); extern void _dl_show_auxv (void) __attribute__ ((regparm (3), stdcall)); extern char *_dl_next_ld_env_entry (char ***position) __attribute__ ((regparm (3), stdcall)); extern const struct r_strlenpair *_dl_important_hwcaps (const char *platform, size_t paltform_len, size_t *sz, size_t *max_capstrlen) __attribute__ ((regparm (3), stdcall)); extern const char *_dl_load_cache_lookup (const char *name) __attribute__ ((regparm (3), stdcall)); extern void _dl_unload_cache (void) __attribute__ ((visibility ("hidden"))); extern void *_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern Elf32_Addr _dl_sysdep_start (void **start_argptr, void (*dl_main) (const Elf32_Phdr *phdr, Elf32_Word phnum, Elf32_Addr *user_entry, Elf32_auxv_t *auxv)) __attribute__ ((visibility ("hidden"))); extern void _dl_sysdep_start_cleanup (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern size_t _dl_next_tls_modid (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern size_t _dl_count_modids (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_determine_tlsoffset (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern int _dl_tls_setup (void) __attribute__ ((regparm (3), stdcall)); extern void *_dl_allocate_tls (void *mem) __attribute__ ((regparm (3), stdcall)); extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp) __attribute__ ((regparm (3), stdcall)); extern void _dl_allocate_static_tls (struct link_map *map) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void *_dl_allocate_tls_storage (void) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void *_dl_allocate_tls_init (void *) __attribute__ ((regparm (3), stdcall)); extern void _dl_deallocate_tls (void *tcb, _Bool dealloc_tcb) __attribute__ ((regparm (3), stdcall)); extern void _dl_nothread_init_static_tls (struct link_map *) __attribute__ ((visibility ("hidden"))); extern const char *_dl_get_origin (void) __attribute__ ((visibility ("hidden"))); extern size_t _dl_dst_count (const char *name, int is_path) __attribute__ ((visibility ("hidden"))); extern char *_dl_dst_substitute (struct link_map *l, const char *name, char *result, int is_path) __attribute__ ((visibility ("hidden"))); extern int _dl_check_caller (const void *caller, enum allowmask mask) __attribute__ ((visibility ("hidden"))); extern void *_dl_open (const char *name, int mode, const void *caller, Lmid_t nsid, int argc, char *argv[], char *env[]) __attribute__ ((visibility ("hidden"))); extern int _dl_scope_free (void *) __attribute__ ((visibility ("hidden"))); extern void _dl_add_to_slotinfo (struct link_map *l) __attribute__ ((visibility ("hidden"))); extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid); extern void *_dl_tls_get_addr_soft (struct link_map *l) __attribute__ ((visibility ("hidden"))); extern int _dl_addr_inside_object (struct link_map *l, const Elf32_Addr addr) __attribute__ ((regparm (3), stdcall)) __attribute__ ((visibility ("hidden"))); extern void _dl_show_scope (struct link_map *new, int from); extern struct link_map *_dl_find_dso_for_object (const Elf32_Addr addr) __attribute__ ((regparm (3), stdcall)); extern void _dl_non_dynamic_init (void) __attribute__ ((regparm (3), stdcall)); extern void _dl_aux_init (Elf32_auxv_t *av) __attribute__ ((regparm (3), stdcall)); # 39 "../sysdeps/i386/ldsodefs.h" 2 # 47 "../sysdeps/gnu/ldsodefs.h" 2 # 23 "../sysdeps/unix/sysv/linux/ldsodefs.h" 2 # 28 "pthread_create.c" 2 # 1 "../include/resolv.h" 1 # 12 "../include/resolv.h" # 1 "../resolv/resolv.h" 1 # 56 "../resolv/resolv.h" # 1 "../include/sys/types.h" 1 # 57 "../resolv/resolv.h" 2 # 1 "../include/sys/param.h" 1 # 63 "../resolv/resolv.h" 2 # 1 "../include/stdio.h" 1 # 1 "../libio/stdio.h" 1 # 29 "../libio/stdio.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 34 "../libio/stdio.h" 2 # 44 "../libio/stdio.h" struct _IO_FILE; typedef struct _IO_FILE FILE; # 64 "../libio/stdio.h" typedef struct _IO_FILE __FILE; # 74 "../libio/stdio.h" # 1 "../include/libio.h" 1 # 1 "../libio/libio.h" 1 # 31 "../libio/libio.h" # 1 "../sysdeps/unix/sysv/linux/_G_config.h" 1 # 15 "../sysdeps/unix/sysv/linux/_G_config.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 16 "../sysdeps/unix/sysv/linux/_G_config.h" 2 # 1 "../include/wchar.h" 1 # 1 "../wcsmbs/wchar.h" 1 # 51 "../wcsmbs/wchar.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 353 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 3 4 typedef unsigned int wint_t; # 52 "../wcsmbs/wchar.h" 2 # 82 "../wcsmbs/wchar.h" typedef struct { int __count; union { unsigned int __wch; char __wchb[4]; } __value; } __mbstate_t; # 3 "../include/wchar.h" 2 # 21 "../sysdeps/unix/sysv/linux/_G_config.h" 2 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 1 "../include/gconv.h" 1 # 1 "../iconv/gconv.h" 1 # 28 "../iconv/gconv.h" # 1 "../include/wchar.h" 1 # 1 "../wcsmbs/wchar.h" 1 # 51 "../wcsmbs/wchar.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 52 "../wcsmbs/wchar.h" 2 # 3 "../include/wchar.h" 2 # 29 "../iconv/gconv.h" 2 # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 32 "../iconv/gconv.h" 2 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002, __GCONV_SWAP = 0x0004 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, const unsigned char **, const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, const unsigned char *, const unsigned char **, const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, const unsigned char *, const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (const char *, const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 1 "../include/gconv.h" 2 # 33 "../sysdeps/unix/sysv/linux/_G_config.h" 2 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; # 32 "../libio/libio.h" 2 # 49 "../libio/libio.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stdarg.h" 1 3 4 # 40 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 50 "../libio/libio.h" 2 # 144 "../libio/libio.h" struct _IO_jump_t; struct _IO_FILE; # 154 "../libio/libio.h" typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 177 "../libio/libio.h" }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; struct _IO_codecvt { void (*__codecvt_destr) (struct _IO_codecvt *); enum __codecvt_result (*__codecvt_do_out) (struct _IO_codecvt *, __mbstate_t *, const wchar_t *, const wchar_t *, const wchar_t **, char *, char *, char **); enum __codecvt_result (*__codecvt_do_unshift) (struct _IO_codecvt *, __mbstate_t *, char *, char *, char **); enum __codecvt_result (*__codecvt_do_in) (struct _IO_codecvt *, __mbstate_t *, const char *, const char *, const char **, wchar_t *, wchar_t *, wchar_t **); int (*__codecvt_do_encoding) (struct _IO_codecvt *); int (*__codecvt_do_always_noconv) (struct _IO_codecvt *); int (*__codecvt_do_length) (struct _IO_codecvt *, __mbstate_t *, const char *, const char *, size_t); int (*__codecvt_do_max_length) (struct _IO_codecvt *); _G_iconv_t __cd_in; _G_iconv_t __cd_out; }; struct _IO_wide_data { wchar_t *_IO_read_ptr; wchar_t *_IO_read_end; wchar_t *_IO_read_base; wchar_t *_IO_write_base; wchar_t *_IO_write_ptr; wchar_t *_IO_write_end; wchar_t *_IO_buf_base; wchar_t *_IO_buf_end; wchar_t *_IO_save_base; wchar_t *_IO_backup_base; wchar_t *_IO_save_end; __mbstate_t _IO_state; __mbstate_t _IO_last_state; struct _IO_codecvt _codecvt; wchar_t _shortbuf[1]; const struct _IO_jump_t *_wide_vtable; }; struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 293 "../libio/libio.h" __off64_t _offset; struct _IO_codecvt *_codecvt; struct _IO_wide_data *_wide_data; struct _IO_FILE *_freeres_list; void *_freeres_buf; size_t _freeres_size; int _mode; char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; extern _IO_FILE *_IO_stdin __attribute__ ((visibility ("hidden"))); extern _IO_FILE *_IO_stdout __attribute__ ((visibility ("hidden"))); extern _IO_FILE *_IO_stderr __attribute__ ((visibility ("hidden"))); typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern int __underflow (_IO_FILE *); extern int __uflow (_IO_FILE *); extern int __overflow (_IO_FILE *, int); extern wint_t __wunderflow (_IO_FILE *); extern wint_t __wuflow (_IO_FILE *); extern wint_t __woverflow (_IO_FILE *, wint_t); # 434 "../libio/libio.h" extern int _IO_getc (_IO_FILE *__fp); extern int _IO_putc (int __c, _IO_FILE *__fp); extern int _IO_feof (_IO_FILE *__fp) __attribute__ ((__nothrow__ )); extern int _IO_ferror (_IO_FILE *__fp) __attribute__ ((__nothrow__ )); extern int _IO_peekc_locked (_IO_FILE *__fp); extern void _IO_flockfile (_IO_FILE *) __attribute__ ((__nothrow__ )); extern void _IO_funlockfile (_IO_FILE *) __attribute__ ((__nothrow__ )); extern int _IO_ftrylockfile (_IO_FILE *) __attribute__ ((__nothrow__ )); # 464 "../libio/libio.h" extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list); extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); extern void _IO_free_backup_area (_IO_FILE *) __attribute__ ((__nothrow__ )); extern wint_t _IO_getwc (_IO_FILE *__fp); extern wint_t _IO_putwc (wchar_t __wc, _IO_FILE *__fp); extern int _IO_fwide (_IO_FILE *__fp, int __mode) __attribute__ ((__nothrow__ )); # 1 "../include/shlib-compat.h" 1 # 24 "../include/shlib-compat.h" # 1 "/suse/schwab/src/libc/i586/abi-versions.h" 1 # 25 "../include/shlib-compat.h" 2 # 485 "../libio/libio.h" 2 # 513 "../libio/libio.h" extern int _IO_vfwscanf (_IO_FILE * __restrict, const wchar_t * __restrict, __gnuc_va_list, int *__restrict); extern int _IO_vfwprintf (_IO_FILE *__restrict, const wchar_t *__restrict, __gnuc_va_list); extern __ssize_t _IO_wpadn (_IO_FILE *, wint_t, __ssize_t); extern void _IO_free_wbackup_area (_IO_FILE *) __attribute__ ((__nothrow__ )); # 2 "../include/libio.h" 2 # 75 "../libio/stdio.h" 2 typedef __gnuc_va_list va_list; # 108 "../libio/stdio.h" typedef _G_fpos_t fpos_t; typedef _G_fpos64_t fpos64_t; # 164 "../libio/stdio.h" # 1 "/suse/schwab/src/libc/i586/bits/stdio_lim.h" 1 # 165 "../libio/stdio.h" 2 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (const char *__filename) __attribute__ ((__nothrow__ )); extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ )); extern int renameat (int __oldfd, const char *__old, int __newfd, const char *__new) __attribute__ ((__nothrow__ )); extern FILE *tmpfile (void) ; # 205 "../libio/stdio.h" extern FILE *tmpfile64 (void) ; extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ )) ; extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ )) ; # 227 "../libio/stdio.h" extern char *tempnam (const char *__dir, const char *__pfx) __attribute__ ((__nothrow__ )) __attribute__ ((__malloc__)) ; extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 252 "../libio/stdio.h" extern int fflush_unlocked (FILE *__stream); # 262 "../libio/stdio.h" extern int fcloseall (void); extern FILE *fopen (const char *__restrict __filename, const char *__restrict __modes) ; extern FILE *freopen (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; # 295 "../libio/stdio.h" extern FILE *fopen64 (const char *__restrict __filename, const char *__restrict __modes) ; extern FILE *freopen64 (const char *__restrict __filename, const char *__restrict __modes, FILE *__restrict __stream) ; extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ )) ; extern FILE *fopencookie (void *__restrict __magic_cookie, const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) __attribute__ ((__nothrow__ )) ; extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) __attribute__ ((__nothrow__ )) ; extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ )) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ )); extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) __attribute__ ((__nothrow__ )); extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) __attribute__ ((__nothrow__ )); extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ )); extern int fprintf (FILE *__restrict __stream, const char *__restrict __format, ...); extern int printf (const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__)); extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)); extern int snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))) ; extern int __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))) ; extern int vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int scanf (const char *__restrict __format, ...) ; extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ )); # 463 "../libio/stdio.h" extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))) ; extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))) ; extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ )) __attribute__ ((__format__ (__scanf__, 2, 0))); # 522 "../libio/stdio.h" extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 550 "../libio/stdio.h" extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 561 "../libio/stdio.h" extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 594 "../libio/stdio.h" extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 640 "../libio/stdio.h" # 649 "../libio/stdio.h" extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) ; # 665 "../libio/stdio.h" extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream) ; extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream) ; extern int fputs (const char *__restrict __s, FILE *__restrict __stream); extern int puts (const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 726 "../libio/stdio.h" extern int fputs_unlocked (const char *__restrict __s, FILE *__restrict __stream); # 737 "../libio/stdio.h" extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) ; extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream) ; extern void rewind (FILE *__stream); # 773 "../libio/stdio.h" extern int fseeko (FILE *__stream, __off_t __off, int __whence); extern __off_t ftello (FILE *__stream) ; # 792 "../libio/stdio.h" extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, const fpos_t *__pos); # 815 "../libio/stdio.h" extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream) ; extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ )); extern int feof (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )); extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void perror (const char *__s); # 1 "../sysdeps/unix/sysv/linux/bits/sys_errlist.h" 1 # 26 "../sysdeps/unix/sysv/linux/bits/sys_errlist.h" extern int sys_nerr; extern const char *const sys_errlist[]; extern int _sys_nerr; extern const char *const _sys_errlist[]; # 854 "../libio/stdio.h" 2 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ )) ; # 872 "../libio/stdio.h" extern FILE *popen (const char *__command, const char *__modes) ; extern int pclose (FILE *__stream); extern char *ctermid (char *__s) __attribute__ ((__nothrow__ )); extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __format, ...) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ )); extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ )) ; extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ )); # 933 "../libio/stdio.h" # 1 "../libio/bits/stdio.h" 1 # 35 "../libio/bits/stdio.h" extern __inline __attribute__ ((__gnu_inline__)) int vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline __attribute__ ((__gnu_inline__)) int getchar (void) { return _IO_getc (stdin); } extern __inline __attribute__ ((__gnu_inline__)) int fgetc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getc_unlocked (FILE *__fp) { return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int getchar_unlocked (void) { return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); } extern __inline __attribute__ ((__gnu_inline__)) int putchar (int __c) { return _IO_putc (__c, stdout); } extern __inline __attribute__ ((__gnu_inline__)) int fputc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putc_unlocked (int __c, FILE *__stream) { return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) int putchar_unlocked (int __c) { return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); } extern __inline __attribute__ ((__gnu_inline__)) __ssize_t getline (char **__lineptr, size_t *__n, FILE *__stream) { return __getdelim (__lineptr, __n, '\n', __stream); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) feof_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x10) != 0); } extern __inline __attribute__ ((__gnu_inline__)) int __attribute__ ((__nothrow__ )) ferror_unlocked (FILE *__stream) { return (((__stream)->_flags & 0x20) != 0); } # 934 "../libio/stdio.h" 2 # 942 "../libio/stdio.h" # 6 "../include/stdio.h" 2 extern int __fcloseall (void); extern int __snprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int __vsnprintf (char *__restrict __s, size_t __maxlen, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int __vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int __vscanf (const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))); extern __ssize_t __getline (char **__lineptr, size_t *__n, FILE *__stream); extern int __vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int __sprintf_chk (char *, int, size_t, const char *, ...) __attribute__ ((__nothrow__ )); extern int __snprintf_chk (char *, size_t, int, size_t, const char *, ...) __attribute__ ((__nothrow__ )); extern int __vsprintf_chk (char *, int, size_t, const char *, __gnuc_va_list) __attribute__ ((__nothrow__ )); extern int __vsnprintf_chk (char *, size_t, int, size_t, const char *, __gnuc_va_list) __attribute__ ((__nothrow__ )); extern int __printf_chk (int, const char *, ...); extern int __fprintf_chk (FILE *, int, const char *, ...); extern int __vprintf_chk (int, const char *, __gnuc_va_list); extern int __vfprintf_chk (FILE *, int, const char *, __gnuc_va_list); extern char *__fgets_unlocked_chk (char *buf, size_t size, int n, FILE *fp); extern char *__fgets_chk (char *buf, size_t size, int n, FILE *fp); extern int __asprintf_chk (char **, int, const char *, ...) __attribute__ ((__nothrow__ )); extern int __vasprintf_chk (char **, int, const char *, __gnuc_va_list) __attribute__ ((__nothrow__ )); extern int __dprintf_chk (int, int, const char *, ...); extern int __vdprintf_chk (int, int, const char *, __gnuc_va_list); extern int __obstack_printf_chk (struct obstack *, int, const char *, ...) __attribute__ ((__nothrow__ )); extern int __obstack_vprintf_chk (struct obstack *, int, const char *, __gnuc_va_list) __attribute__ ((__nothrow__ )); extern int __isoc99_fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) ; extern int __isoc99_scanf (const char *__restrict __format, ...) ; extern int __isoc99_sscanf (const char *__restrict __s, const char *__restrict __format, ...) __attribute__ ((__nothrow__ )); extern int __isoc99_vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) ; extern int __isoc99_vscanf (const char *__restrict __format, __gnuc_va_list __arg) ; extern int __isoc99_vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__nothrow__ )); extern FILE *__new_tmpfile (void); extern FILE *__old_tmpfile (void); # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 80 "../include/stdio.h" 2 extern int __path_search (char *__tmpl, size_t __tmpl_len, const char *__dir, const char *__pfx, int __try_tempdir); extern int __gen_tempname (char *__tmpl, int __suffixlen, int __flags, int __kind); extern void __libc_fatal (const char *__message) __attribute__ ((__noreturn__)); extern void __libc_message (int do_abort, const char *__fnt, ...); extern void __fortify_fail (const char *msg) __attribute__ ((__noreturn__)) __attribute__ ((regparm (3), stdcall)); extern void __flockfile (FILE *__stream); extern void __funlockfile (FILE *__stream); extern int __ftrylockfile (FILE *__stream); extern int __getc_unlocked (FILE *__fp); extern wint_t __getwc_unlocked (FILE *__fp); extern int __fxprintf (FILE *__fp, const char *__fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern const char *const _sys_errlist_internal[] __attribute__ ((visibility ("hidden"))); extern int _sys_nerr_internal __attribute__ ((visibility ("hidden"))); # 136 "../include/stdio.h" extern char *gets (char *__s); # 183 "../include/stdio.h" # 65 "../resolv/resolv.h" 2 # 1 "../include/arpa/nameser.h" 1 # 1 "../resolv/arpa/nameser.h" 1 # 59 "../resolv/arpa/nameser.h" # 1 "../include/sys/param.h" 1 # 60 "../resolv/arpa/nameser.h" 2 # 1 "../include/sys/bitypes.h" 1 # 1 "../resolv/sys/bitypes.h" 1 # 1 "../include/sys/types.h" 1 # 3 "../resolv/sys/bitypes.h" 2 # 1 "../include/sys/bitypes.h" 2 # 62 "../resolv/arpa/nameser.h" 2 # 98 "../resolv/arpa/nameser.h" typedef enum __ns_sect { ns_s_qd = 0, ns_s_zn = 0, ns_s_an = 1, ns_s_pr = 1, ns_s_ns = 2, ns_s_ud = 2, ns_s_ar = 3, ns_s_max = 4 } ns_sect; typedef struct __ns_msg { const u_char *_msg, *_eom; u_int16_t _id, _flags, _counts[ns_s_max]; const u_char *_sections[ns_s_max]; ns_sect _sect; int _rrnum; const u_char *_msg_ptr; } ns_msg; struct _ns_flagdata { int mask, shift; }; extern const struct _ns_flagdata _ns_flagdata[]; # 138 "../resolv/arpa/nameser.h" typedef struct __ns_rr { char name[1025]; u_int16_t type; u_int16_t rr_class; u_int32_t ttl; u_int16_t rdlength; const u_char * rdata; } ns_rr; # 160 "../resolv/arpa/nameser.h" typedef enum __ns_flag { ns_f_qr, ns_f_opcode, ns_f_aa, ns_f_tc, ns_f_rd, ns_f_ra, ns_f_z, ns_f_ad, ns_f_cd, ns_f_rcode, ns_f_max } ns_flag; typedef enum __ns_opcode { ns_o_query = 0, ns_o_iquery = 1, ns_o_status = 2, ns_o_notify = 4, ns_o_update = 5, ns_o_max = 6 } ns_opcode; typedef enum __ns_rcode { ns_r_noerror = 0, ns_r_formerr = 1, ns_r_servfail = 2, ns_r_nxdomain = 3, ns_r_notimpl = 4, ns_r_refused = 5, ns_r_yxdomain = 6, ns_r_yxrrset = 7, ns_r_nxrrset = 8, ns_r_notauth = 9, ns_r_notzone = 10, ns_r_max = 11, ns_r_badvers = 16, ns_r_badsig = 16, ns_r_badkey = 17, ns_r_badtime = 18 } ns_rcode; typedef enum __ns_update_operation { ns_uop_delete = 0, ns_uop_add = 1, ns_uop_max = 2 } ns_update_operation; struct ns_tsig_key { char name[1025], alg[1025]; unsigned char *data; int len; }; typedef struct ns_tsig_key ns_tsig_key; struct ns_tcp_tsig_state { int counter; struct dst_key *key; void *ctx; unsigned char sig[512]; int siglen; }; typedef struct ns_tcp_tsig_state ns_tcp_tsig_state; # 252 "../resolv/arpa/nameser.h" typedef enum __ns_type { ns_t_invalid = 0, ns_t_a = 1, ns_t_ns = 2, ns_t_md = 3, ns_t_mf = 4, ns_t_cname = 5, ns_t_soa = 6, ns_t_mb = 7, ns_t_mg = 8, ns_t_mr = 9, ns_t_null = 10, ns_t_wks = 11, ns_t_ptr = 12, ns_t_hinfo = 13, ns_t_minfo = 14, ns_t_mx = 15, ns_t_txt = 16, ns_t_rp = 17, ns_t_afsdb = 18, ns_t_x25 = 19, ns_t_isdn = 20, ns_t_rt = 21, ns_t_nsap = 22, ns_t_nsap_ptr = 23, ns_t_sig = 24, ns_t_key = 25, ns_t_px = 26, ns_t_gpos = 27, ns_t_aaaa = 28, ns_t_loc = 29, ns_t_nxt = 30, ns_t_eid = 31, ns_t_nimloc = 32, ns_t_srv = 33, ns_t_atma = 34, ns_t_naptr = 35, ns_t_kx = 36, ns_t_cert = 37, ns_t_a6 = 38, ns_t_dname = 39, ns_t_sink = 40, ns_t_opt = 41, ns_t_apl = 42, ns_t_tkey = 249, ns_t_tsig = 250, ns_t_ixfr = 251, ns_t_axfr = 252, ns_t_mailb = 253, ns_t_maila = 254, ns_t_any = 255, ns_t_zxfr = 256, ns_t_max = 65536 } ns_type; # 321 "../resolv/arpa/nameser.h" typedef enum __ns_class { ns_c_invalid = 0, ns_c_in = 1, ns_c_2 = 2, ns_c_chaos = 3, ns_c_hs = 4, ns_c_none = 254, ns_c_any = 255, ns_c_max = 65536 } ns_class; typedef enum __ns_key_types { ns_kt_rsa = 1, ns_kt_dh = 2, ns_kt_dsa = 3, ns_kt_private = 254 } ns_key_types; typedef enum __ns_cert_types { cert_t_pkix = 1, cert_t_spki = 2, cert_t_pgp = 3, cert_t_url = 253, cert_t_oid = 254 } ns_cert_types; # 471 "../resolv/arpa/nameser.h" int ns_msg_getflag (ns_msg, int) __attribute__ ((__nothrow__ )); u_int ns_get16 (const u_char *) __attribute__ ((__nothrow__ )); u_long ns_get32 (const u_char *) __attribute__ ((__nothrow__ )); void ns_put16 (u_int, u_char *) __attribute__ ((__nothrow__ )); void ns_put32 (u_long, u_char *) __attribute__ ((__nothrow__ )); int ns_initparse (const u_char *, int, ns_msg *) __attribute__ ((__nothrow__ )); int ns_skiprr (const u_char *, const u_char *, ns_sect, int) __attribute__ ((__nothrow__ )); int ns_parserr (ns_msg *, ns_sect, int, ns_rr *) __attribute__ ((__nothrow__ )); int ns_sprintrr (const ns_msg *, const ns_rr *, const char *, const char *, char *, size_t) __attribute__ ((__nothrow__ )); int ns_sprintrrf (const u_char *, size_t, const char *, ns_class, ns_type, u_long, const u_char *, size_t, const char *, const char *, char *, size_t) __attribute__ ((__nothrow__ )); int ns_format_ttl (u_long, char *, size_t) __attribute__ ((__nothrow__ )); int ns_parse_ttl (const char *, u_long *) __attribute__ ((__nothrow__ )); u_int32_t ns_datetosecs (const char *, int *) __attribute__ ((__nothrow__ )); int ns_name_ntol (const u_char *, u_char *, size_t) __attribute__ ((__nothrow__ )); int ns_name_ntop (const u_char *, char *, size_t) __attribute__ ((__nothrow__ )); int ns_name_pton (const char *, u_char *, size_t) __attribute__ ((__nothrow__ )); int ns_name_unpack (const u_char *, const u_char *, const u_char *, u_char *, size_t) __attribute__ ((__nothrow__ )); int ns_name_pack (const u_char *, u_char *, int, const u_char **, const u_char **) __attribute__ ((__nothrow__ )); int ns_name_uncompress (const u_char *, const u_char *, const u_char *, char *, size_t) __attribute__ ((__nothrow__ )); int ns_name_compress (const char *, u_char *, size_t, const u_char **, const u_char **) __attribute__ ((__nothrow__ )); int ns_name_skip (const u_char **, const u_char *) __attribute__ ((__nothrow__ )); void ns_name_rollback (const u_char *, const u_char **, const u_char **) __attribute__ ((__nothrow__ )); int ns_sign (u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t) __attribute__ ((__nothrow__ )); int ns_sign2 (u_char *, int *, int, int, void *, const u_char *, int, u_char *, int *, time_t, u_char **, u_char **) __attribute__ ((__nothrow__ )); int ns_sign_tcp (u_char *, int *, int, int, ns_tcp_tsig_state *, int) __attribute__ ((__nothrow__ )); int ns_sign_tcp2 (u_char *, int *, int, int, ns_tcp_tsig_state *, int, u_char **, u_char **) __attribute__ ((__nothrow__ )); int ns_sign_tcp_init (void *, const u_char *, int, ns_tcp_tsig_state *) __attribute__ ((__nothrow__ )); u_char *ns_find_tsig (u_char *, u_char *) __attribute__ ((__nothrow__ )); int ns_verify (u_char *, int *, void *, const u_char *, int, u_char *, int *, time_t *, int) __attribute__ ((__nothrow__ )); int ns_verify_tcp (u_char *, int *, ns_tcp_tsig_state *, int) __attribute__ ((__nothrow__ )); int ns_verify_tcp_init (void *, const u_char *, int, ns_tcp_tsig_state *) __attribute__ ((__nothrow__ )); int ns_samedomain (const char *, const char *) __attribute__ ((__nothrow__ )); int ns_subdomain (const char *, const char *) __attribute__ ((__nothrow__ )); int ns_makecanon (const char *, char *, size_t) __attribute__ ((__nothrow__ )); int ns_samename (const char *, const char *) __attribute__ ((__nothrow__ )); # 1 "../include/arpa/nameser_compat.h" 1 # 1 "../resolv/arpa/nameser_compat.h" 1 # 39 "../resolv/arpa/nameser_compat.h" # 1 "../include/endian.h" 1 # 40 "../resolv/arpa/nameser_compat.h" 2 # 48 "../resolv/arpa/nameser_compat.h" typedef struct { unsigned id :16; # 66 "../resolv/arpa/nameser_compat.h" unsigned rd :1; unsigned tc :1; unsigned aa :1; unsigned opcode :4; unsigned qr :1; unsigned rcode :4; unsigned cd: 1; unsigned ad: 1; unsigned unused :1; unsigned ra :1; unsigned qdcount :16; unsigned ancount :16; unsigned nscount :16; unsigned arcount :16; } HEADER; # 3 "../include/arpa/nameser_compat.h" 2 # 532 "../resolv/arpa/nameser.h" 2 # 4 "../include/arpa/nameser.h" 2 # 12 "../include/arpa/nameser.h" extern const struct _ns_flagdata _ns_flagdata[] __attribute__ ((visibility ("hidden"))); # 50 "../include/arpa/nameser.h" extern u_int __ns_get16 (const u_char *) __attribute__ ((__nothrow__ )); extern u_long __ns_get32 (const u_char *) __attribute__ ((__nothrow__ )); # 66 "../resolv/resolv.h" 2 # 176 "../resolv/resolv.h" struct res_sym { int number; char * name; char * humanname; }; # 248 "../resolv/resolv.h" extern struct __res_state *__res_state(void) __attribute__ ((__const__)); # 267 "../resolv/resolv.h" void __fp_nquery (const u_char *, int, FILE *) __attribute__ ((__nothrow__ )); void __fp_query (const u_char *, FILE *) __attribute__ ((__nothrow__ )); const char * __hostalias (const char *) __attribute__ ((__nothrow__ )); void __p_query (const u_char *) __attribute__ ((__nothrow__ )); void __res_close (void) __attribute__ ((__nothrow__ )); int __res_init (void) __attribute__ ((__nothrow__ )); int __res_isourserver (const struct sockaddr_in *) __attribute__ ((__nothrow__ )); int __res_mkquery (int, const char *, int, int, const u_char *, int, const u_char *, u_char *, int) __attribute__ ((__nothrow__ )); int __res_query (const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_querydomain (const char *, const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_search (const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_send (const u_char *, int, u_char *, int) __attribute__ ((__nothrow__ )); # 327 "../resolv/resolv.h" int __res_hnok (const char *) __attribute__ ((__nothrow__ )); int __res_ownok (const char *) __attribute__ ((__nothrow__ )); int __res_mailok (const char *) __attribute__ ((__nothrow__ )); int __res_dnok (const char *) __attribute__ ((__nothrow__ )); int __sym_ston (const struct res_sym *, const char *, int *) __attribute__ ((__nothrow__ )); const char * __sym_ntos (const struct res_sym *, int, int *) __attribute__ ((__nothrow__ )); const char * __sym_ntop (const struct res_sym *, int, int *) __attribute__ ((__nothrow__ )); int __b64_ntop (u_char const *, size_t, char *, size_t) __attribute__ ((__nothrow__ )); int __b64_pton (char const *, u_char *, size_t) __attribute__ ((__nothrow__ )); int __loc_aton (const char *__ascii, u_char *__binary) __attribute__ ((__nothrow__ )); const char * __loc_ntoa (const u_char *__binary, char *__ascii) __attribute__ ((__nothrow__ )); int __dn_skipname (const u_char *, const u_char *) __attribute__ ((__nothrow__ )); void __putlong (u_int32_t, u_char *) __attribute__ ((__nothrow__ )); void __putshort (u_int16_t, u_char *) __attribute__ ((__nothrow__ )); const char * __p_class (int) __attribute__ ((__nothrow__ )); const char * __p_time (u_int32_t) __attribute__ ((__nothrow__ )); const char * __p_type (int) __attribute__ ((__nothrow__ )); const char * __p_rcode (int) __attribute__ ((__nothrow__ )); const u_char * __p_cdnname (const u_char *, const u_char *, int, FILE *) __attribute__ ((__nothrow__ )); const u_char * __p_cdname (const u_char *, const u_char *, FILE *) __attribute__ ((__nothrow__ )); const u_char * __p_fqnname (const u_char *__cp, const u_char *__msg, int, char *, int) __attribute__ ((__nothrow__ )); const u_char * __p_fqname (const u_char *, const u_char *, FILE *) __attribute__ ((__nothrow__ )); const char * __p_option (u_long __option) __attribute__ ((__nothrow__ )); char * __p_secstodate (u_long) __attribute__ ((__nothrow__ )); int __dn_count_labels (const char *) __attribute__ ((__nothrow__ )); int __dn_comp (const char *, u_char *, int, u_char **, u_char **) __attribute__ ((__nothrow__ )); int __dn_expand (const u_char *, const u_char *, const u_char *, char *, int) __attribute__ ((__nothrow__ )); u_int __res_randomid (void) __attribute__ ((__nothrow__ )); int __res_nameinquery (const char *, int, int, const u_char *, const u_char *) __attribute__ ((__nothrow__ )); int __res_queriesmatch (const u_char *, const u_char *, const u_char *, const u_char *) __attribute__ ((__nothrow__ )); const char * __p_section (int __section, int __opcode) __attribute__ ((__nothrow__ )); int __res_ninit (res_state) __attribute__ ((__nothrow__ )); int __res_nisourserver (const res_state, const struct sockaddr_in *) __attribute__ ((__nothrow__ )); void __fp_resstat (const res_state, FILE *) __attribute__ ((__nothrow__ )); void __res_npquery (const res_state, const u_char *, int, FILE *) __attribute__ ((__nothrow__ )); const char * __res_hostalias (const res_state, const char *, char *, size_t) __attribute__ ((__nothrow__ )); int __res_nquery (res_state, const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_nsearch (res_state, const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_nquerydomain (res_state, const char *, const char *, int, int, u_char *, int) __attribute__ ((__nothrow__ )); int __res_nmkquery (res_state, int, const char *, int, int, const u_char *, int, const u_char *, u_char *, int) __attribute__ ((__nothrow__ )); int __res_nsend (res_state, const u_char *, int, u_char *, int) __attribute__ ((__nothrow__ )); void __res_nclose (res_state) __attribute__ ((__nothrow__ )); # 13 "../include/resolv.h" 2 extern __thread struct __res_state *__resp __attribute__ ((tls_model ("initial-exec"))); extern int __res_vinit (res_state, int); extern int __res_maybe_init (res_state, int); extern void _sethtent (int); extern void _endhtent (void); extern struct hostent *_gethtent (void); extern struct hostent *_gethtbyname (const char *__name); extern struct hostent *_gethtbyname2 (const char *__name, int __af); struct hostent *_gethtbyaddr (const char *addr, size_t __len, int __af); extern u_int32_t _getlong (const u_char *__src); extern u_int16_t _getshort (const u_char *__src); extern void res_pquery (const res_state __statp, const u_char *__msg, int __len, FILE *__file); extern void res_send_setqhook (res_send_qhook __hook); extern void res_send_setrhook (res_send_rhook __hook); extern int res_ourserver_p (const res_state __statp, const struct sockaddr_in6 *__inp); extern void __res_iclose (res_state statp, _Bool free_addr); extern int __res_nopt(res_state statp, int n0, u_char *buf, int buflen, int anslen); int __libc_res_nquery (res_state, const char *, int, int, u_char *, int, u_char **, u_char **, int *, int *, int *); int __libc_res_nsearch (res_state, const char *, int, int, u_char *, int, u_char **, u_char **, int *, int *, int *); int __libc_res_nsend (res_state, const u_char *, int, const u_char *, int, u_char *, int, u_char **, u_char **, int *, int *, int *) __attribute__ ((visibility ("hidden"))); extern const char *_res_opcodes[]; # 31 "pthread_create.c" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 32 "pthread_create.c" 2 # 1 "../sysdeps/unix/sysv/linux/exit-thread.h" 1 # 25 "../sysdeps/unix/sysv/linux/exit-thread.h" static inline void __attribute__ ((noreturn, always_inline, unused)) __exit_thread (void) { while (1) { do { } while (0); ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (1) , "cd" (0) : "memory", "cc"); (int) resultvar; }); } } # 33 "pthread_create.c" 2 static int start_thread (void *arg); int __pthread_debug; static td_thr_events_t __nptl_threads_events __attribute__ ((__used__)); static struct pthread *__nptl_last_event __attribute__ ((__used__)); unsigned int __nptl_nthreads = 1; # 1 "allocatestack.c" 1 # 19 "allocatestack.c" # 1 "../include/assert.h" 1 # 1 "../assert/assert.h" 1 # 64 "../assert/assert.h" extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert (const char *__assertion, const char *__file, int __line) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); # 2 "../include/assert.h" 2 extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_fail_base (const char *fmt, const char *assertion, const char *file, unsigned int line, const char *function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); # 20 "allocatestack.c" 2 # 1 "../include/unistd.h" 1 # 1 "../posix/unistd.h" 1 # 27 "../posix/unistd.h" # 202 "../posix/unistd.h" # 1 "../sysdeps/unix/sysv/linux/bits/posix_opt.h" 1 # 203 "../posix/unistd.h" 2 # 1 "../sysdeps/unix/sysv/linux/x86/bits/environments.h" 1 # 22 "../sysdeps/unix/sysv/linux/x86/bits/environments.h" # 1 "../sysdeps/x86/bits/wordsize.h" 1 # 23 "../sysdeps/unix/sysv/linux/x86/bits/environments.h" 2 # 207 "../posix/unistd.h" 2 # 226 "../posix/unistd.h" # 1 "/usr/lib64/gcc/x86_64-suse-linux/4.8/include/stddef.h" 1 3 4 # 227 "../posix/unistd.h" 2 # 287 "../posix/unistd.h" extern int access (const char *__name, int __type) __attribute__ ((__nothrow__ )) ; extern int euidaccess (const char *__name, int __type) __attribute__ ((__nothrow__ )) ; extern int eaccess (const char *__name, int __type) __attribute__ ((__nothrow__ )) ; extern int faccessat (int __fd, const char *__file, int __type, int __flag) __attribute__ ((__nothrow__ )) ; # 334 "../posix/unistd.h" extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__ )); # 345 "../posix/unistd.h" extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) __attribute__ ((__nothrow__ )); extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; extern ssize_t write (int __fd, const void *__buf, size_t __n) ; # 376 "../posix/unistd.h" extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) ; extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset) ; # 404 "../posix/unistd.h" extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) ; extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) ; extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__ )) ; extern int pipe2 (int __pipedes[2], int __flags) __attribute__ ((__nothrow__ )) ; # 432 "../posix/unistd.h" extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__ )); # 444 "../posix/unistd.h" extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) __attribute__ ((__nothrow__ )); extern int usleep (__useconds_t __useconds); # 469 "../posix/unistd.h" extern int pause (void); extern int chown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ )) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ )) ; extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__ )) ; extern int fchownat (int __fd, const char *__file, __uid_t __owner, __gid_t __group, int __flag) __attribute__ ((__nothrow__ )) ; extern int chdir (const char *__path) __attribute__ ((__nothrow__ )) ; extern int fchdir (int __fd) __attribute__ ((__nothrow__ )) ; # 511 "../posix/unistd.h" extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__ )) ; extern char *get_current_dir_name (void) __attribute__ ((__nothrow__ )); extern char *getwd (char *__buf) __attribute__ ((__nothrow__ )) __attribute__ ((__deprecated__)) ; extern int dup (int __fd) __attribute__ ((__nothrow__ )) ; extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__ )); extern int dup3 (int __fd, int __fd2, int __flags) __attribute__ ((__nothrow__ )); extern char **__environ; extern char **environ; extern int execve (const char *__path, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ )) ; extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ )) ; extern int execv (const char *__path, char *const __argv[]) __attribute__ ((__nothrow__ )) ; extern int execle (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ )) ; extern int execl (const char *__path, const char *__arg, ...) __attribute__ ((__nothrow__ )) ; extern int execvp (const char *__file, char *const __argv[]) __attribute__ ((__nothrow__ )) ; extern int execlp (const char *__file, const char *__arg, ...) __attribute__ ((__nothrow__ )) ; extern int execvpe (const char *__file, char *const __argv[], char *const __envp[]) __attribute__ ((__nothrow__ )) ; extern int nice (int __inc) __attribute__ ((__nothrow__ )) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "../bits/confname.h" 1 # 24 "../bits/confname.h" enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG, _SC_LEVEL1_ICACHE_SIZE, _SC_LEVEL1_ICACHE_ASSOC, _SC_LEVEL1_ICACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE, _SC_LEVEL1_DCACHE_ASSOC, _SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL2_CACHE_SIZE, _SC_LEVEL2_CACHE_ASSOC, _SC_LEVEL2_CACHE_LINESIZE, _SC_LEVEL3_CACHE_SIZE, _SC_LEVEL3_CACHE_ASSOC, _SC_LEVEL3_CACHE_LINESIZE, _SC_LEVEL4_CACHE_SIZE, _SC_LEVEL4_CACHE_ASSOC, _SC_LEVEL4_CACHE_LINESIZE, _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, _SC_RAW_SOCKETS, _SC_V7_ILP32_OFF32, _SC_V7_ILP32_OFFBIG, _SC_V7_LP64_OFF64, _SC_V7_LPBIG_OFFBIG, _SC_SS_REPL_MAX, _SC_TRACE_EVENT_NAME_MAX, _SC_TRACE_NAME_MAX, _SC_TRACE_SYS_MAX, _SC_TRACE_USER_EVENT_MAX, _SC_XOPEN_STREAMS, _SC_THREAD_ROBUST_PRIO_INHERIT, _SC_THREAD_ROBUST_PRIO_PROTECT }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_V5_WIDTH_RESTRICTED_ENVS, _CS_V7_WIDTH_RESTRICTED_ENVS, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V7_ILP32_OFF32_CFLAGS, _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, _CS_POSIX_V7_ILP32_OFF32_LIBS, _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V7_ILP32_OFFBIG_LIBS, _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V7_LP64_OFF64_CFLAGS, _CS_POSIX_V7_LP64_OFF64_LDFLAGS, _CS_POSIX_V7_LP64_OFF64_LIBS, _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, _CS_V6_ENV, _CS_V7_ENV }; # 610 "../posix/unistd.h" 2 extern long int pathconf (const char *__path, int __name) __attribute__ ((__nothrow__ )) ; extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__ )); extern long int sysconf (int __name) __attribute__ ((__nothrow__ )); extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__ )); extern __pid_t getpid (void) __attribute__ ((__nothrow__ )); extern __pid_t getppid (void) __attribute__ ((__nothrow__ )); extern __pid_t getpgrp (void) __attribute__ ((__nothrow__ )); extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__ )); extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__ )); extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__ )); # 660 "../posix/unistd.h" extern int setpgrp (void) __attribute__ ((__nothrow__ )); extern __pid_t setsid (void) __attribute__ ((__nothrow__ )); extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__ )); extern __uid_t getuid (void) __attribute__ ((__nothrow__ )); extern __uid_t geteuid (void) __attribute__ ((__nothrow__ )); extern __gid_t getgid (void) __attribute__ ((__nothrow__ )); extern __gid_t getegid (void) __attribute__ ((__nothrow__ )); extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__ )) ; extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__ )); extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__ )) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__ )) ; extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__ )) ; extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__ )) ; extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__ )) ; extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__ )) ; extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) __attribute__ ((__nothrow__ )); extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) __attribute__ ((__nothrow__ )); extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) __attribute__ ((__nothrow__ )) ; extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) __attribute__ ((__nothrow__ )) ; extern __pid_t fork (void) __attribute__ ((__nothrow__)); extern __pid_t vfork (void) __attribute__ ((__nothrow__ )); extern char *ttyname (int __fd) __attribute__ ((__nothrow__ )); extern int ttyname_r (int __fd, char *__buf, size_t __buflen) __attribute__ ((__nothrow__ )) ; extern int isatty (int __fd) __attribute__ ((__nothrow__ )); extern int ttyslot (void) __attribute__ ((__nothrow__ )); extern int link (const char *__from, const char *__to) __attribute__ ((__nothrow__ )) ; extern int linkat (int __fromfd, const char *__from, int __tofd, const char *__to, int __flags) __attribute__ ((__nothrow__ )) ; extern int symlink (const char *__from, const char *__to) __attribute__ ((__nothrow__ )) ; extern ssize_t readlink (const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int symlinkat (const char *__from, int __tofd, const char *__to) __attribute__ ((__nothrow__ )) ; extern ssize_t readlinkat (int __fd, const char *__restrict __path, char *__restrict __buf, size_t __len) __attribute__ ((__nothrow__ )) ; extern int unlink (const char *__name) __attribute__ ((__nothrow__ )) ; extern int unlinkat (int __fd, const char *__name, int __flag) __attribute__ ((__nothrow__ )) ; extern int rmdir (const char *__path) __attribute__ ((__nothrow__ )) ; extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__ )); extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__ )); extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len) ; extern int setlogin (const char *__name) __attribute__ ((__nothrow__ )) ; # 871 "../posix/unistd.h" # 1 "../include/getopt.h" 1 # 1 "../posix/getopt.h" 1 # 57 "../posix/getopt.h" extern char *optarg; # 71 "../posix/getopt.h" extern int optind; extern int opterr; extern int optopt; # 150 "../posix/getopt.h" extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) __attribute__ ((__nothrow__ )); # 5 "../include/getopt.h" 2 # 872 "../posix/unistd.h" 2 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__ )) ; extern int sethostname (const char *__name, size_t __len) __attribute__ ((__nothrow__ )) ; extern int sethostid (long int __id) __attribute__ ((__nothrow__ )) ; extern int getdomainname (char *__name, size_t __len) __attribute__ ((__nothrow__ )) ; extern int setdomainname (const char *__name, size_t __len) __attribute__ ((__nothrow__ )) ; extern int vhangup (void) __attribute__ ((__nothrow__ )); extern int revoke (const char *__file) __attribute__ ((__nothrow__ )) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) __attribute__ ((__nothrow__ )) ; extern int acct (const char *__name) __attribute__ ((__nothrow__ )); extern char *getusershell (void) __attribute__ ((__nothrow__ )); extern void endusershell (void) __attribute__ ((__nothrow__ )); extern void setusershell (void) __attribute__ ((__nothrow__ )); extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__ )) ; extern int chroot (const char *__path) __attribute__ ((__nothrow__ )) ; extern char *getpass (const char *__prompt) ; extern int fsync (int __fd); extern int syncfs (int __fd) __attribute__ ((__nothrow__ )); extern long int gethostid (void); extern void sync (void) __attribute__ ((__nothrow__ )); extern int getpagesize (void) __attribute__ ((__nothrow__ )) __attribute__ ((__const__)); extern int getdtablesize (void) __attribute__ ((__nothrow__ )); # 993 "../posix/unistd.h" extern int truncate (const char *__file, __off_t __length) __attribute__ ((__nothrow__ )) ; # 1005 "../posix/unistd.h" extern int truncate64 (const char *__file, __off64_t __length) __attribute__ ((__nothrow__ )) ; # 1016 "../posix/unistd.h" extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__ )) ; # 1026 "../posix/unistd.h" extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__ )) ; # 1037 "../posix/unistd.h" extern int brk (void *__addr) __attribute__ ((__nothrow__ )) ; extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__ )); # 1058 "../posix/unistd.h" extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__ )); # 1081 "../posix/unistd.h" extern int lockf (int __fd, int __cmd, __off_t __len) ; # 1091 "../posix/unistd.h" extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; # 1112 "../posix/unistd.h" extern int fdatasync (int __fildes); extern char *crypt (const char *__key, const char *__salt) __attribute__ ((__nothrow__ )) ; extern void encrypt (char *__glibc_block, int __edflag) __attribute__ ((__nothrow__ )) ; extern void swab (const void *__restrict __from, void *__restrict __to, ssize_t __n) __attribute__ ((__nothrow__ )) ; # 1151 "../posix/unistd.h" # 3 "../include/unistd.h" 2 extern int __access (const char *__name, int __type); extern int __euidaccess (const char *__name, int __type); extern __off64_t __lseek64 (int __fd, __off64_t __offset, int __whence); extern __off_t __lseek (int __fd, __off_t __offset, int __whence); extern __off_t __libc_lseek (int __fd, __off_t __offset, int __whence); extern __off64_t __libc_lseek64 (int __fd, __off64_t __offset, int __whence); extern ssize_t __pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset); extern ssize_t __libc_pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset); extern ssize_t __pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t __pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset); extern ssize_t __libc_pwrite (int __fd, const void *__buf, size_t __n, __off_t __offset); extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset); extern ssize_t __libc_pwrite64 (int __fd, const void *__buf, size_t __n, __off64_t __offset) __attribute__ ((visibility ("hidden"))); extern ssize_t __libc_read (int __fd, void *__buf, size_t __n); extern ssize_t __libc_write (int __fd, const void *__buf, size_t __n); extern int __pipe (int __pipedes[2]); extern int __pipe2 (int __pipedes[2], int __flags); extern unsigned int __sleep (unsigned int __seconds); extern int __chown (const char *__file, __uid_t __owner, __gid_t __group); extern int __fchown (int __fd, __uid_t __owner, __gid_t __group); extern int __lchown (const char *__file, __uid_t __owner, __gid_t __group); extern int __chdir (const char *__path); extern int __fchdir (int __fd); extern char *__getcwd (char *__buf, size_t __size); extern int __rmdir (const char *__path); extern int __execvpe (const char *file, char *const argv[], char *const envp[]); char *__canonicalize_directory_name_internal (const char *__thisdir, char *__buf, size_t __size) __attribute__ ((visibility ("hidden"))); extern int __dup (int __fd); extern int __dup2 (int __fd, int __fd2); extern int __dup3 (int __fd, int __fd2, int flags); extern int __execve (const char *__path, char *const __argv[], char *const __envp[]); extern long int __pathconf (const char *__path, int __name); extern long int __fpathconf (int __fd, int __name); extern long int __sysconf (int __name); extern __pid_t __getpid (void); extern __pid_t __getppid (void); extern __pid_t __setsid (void); extern __uid_t __getuid (void); extern __uid_t __geteuid (void); extern __gid_t __getgid (void); extern __gid_t __getegid (void); extern int __getgroups (int __size, __gid_t __list[]); extern int __group_member (__gid_t __gid); extern int __setuid (__uid_t __uid); extern int __setreuid (__uid_t __ruid, __uid_t __euid); extern int __setgid (__gid_t __gid); extern int __setpgid (__pid_t __pid, __pid_t __pgid); extern int __setregid (__gid_t __rgid, __gid_t __egid); extern int __getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid); extern int __getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid); extern int __setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid); extern int __setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid); extern __pid_t __vfork (void); extern int __ttyname_r (int __fd, char *__buf, size_t __buflen); extern int __isatty (int __fd); extern int __link (const char *__from, const char *__to); extern int __symlink (const char *__from, const char *__to); extern ssize_t __readlink (const char *__path, char *__buf, size_t __len); extern int __unlink (const char *__name); extern int __gethostname (char *__name, size_t __len); extern int __profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale); extern int __getdtablesize (void); extern int __brk (void *__addr); extern int __close (int __fd); extern int __libc_close (int __fd); extern ssize_t __read (int __fd, void *__buf, size_t __nbytes); extern ssize_t __write (int __fd, const void *__buf, size_t __n); extern __pid_t __fork (void); extern int __getpagesize (void) __attribute__ ((__const__)); extern int __ftruncate (int __fd, __off_t __length); extern int __ftruncate64 (int __fd, __off64_t __length); extern int __truncate (const char *path, __off_t __length); extern void *__sbrk (intptr_t __delta); extern int __libc_enable_secure __attribute__ ((section (".data.rel.ro"))); extern int __libc_enable_secure_decided; extern void __libc_check_standard_fds (void); extern __pid_t __libc_fork (void); extern int __libc_pause (void); extern int __pause_nocancel (void) __attribute__ ((visibility ("hidden"))); extern int __have_sock_cloexec __attribute__ ((visibility ("hidden"))); extern int __have_pipe2 __attribute__ ((visibility ("hidden"))); extern int __have_dup3 __attribute__ ((visibility ("hidden"))); extern int __getlogin_r_loginuid (char *name, size_t namesize) __attribute__ ((visibility ("hidden"))); # 25 "allocatestack.c" 2 # 1 "../include/sys/param.h" 1 # 27 "allocatestack.c" 2 # 1 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 1 # 21 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1 # 19 "../sysdeps/unix/sysv/linux/dl-sysdep.h" # 1 "../sysdeps/generic/dl-sysdep.h" 1 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/dl-sysdep.h" extern int _dl_discover_osversion (void) __attribute__ ((visibility ("hidden"))); # 22 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" 2 # 31 "../sysdeps/unix/sysv/linux/i386/dl-sysdep.h" extern void _dl_sysinfo_int80 (void) __attribute__ ((visibility ("hidden"))); # 28 "allocatestack.c" 2 # 1 "../sysdeps/i386/dl-tls.h" 1 # 21 "../sysdeps/i386/dl-tls.h" typedef struct dl_tls_index { unsigned long int ti_module; unsigned long int ti_offset; } tls_index; extern void *___tls_get_addr (tls_index *ti) __attribute__ ((__regparm__ (1))); extern void *___tls_get_addr_internal (tls_index *ti) __attribute__ ((__regparm__ (1))) __attribute__ ((visibility ("hidden"))); # 29 "allocatestack.c" 2 # 1 "../include/list.h" 1 # 57 "../include/list.h" static inline void list_add (list_t *newp, list_t *head) { newp->next = head->next; newp->prev = head; head->next->prev = newp; __asm ("" ::: "memory"); head->next = newp; } static inline void list_del (list_t *elem) { elem->next->prev = elem->prev; elem->prev->next = elem->next; } static inline void list_splice (list_t *add, list_t *head) { if (add != add->next) { add->next->prev = head; add->prev->next = head->next; head->next->prev = add->prev; head->next = add->next; } } # 31 "allocatestack.c" 2 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1 # 33 "allocatestack.c" 2 # 1 "./stack-aliasing.h" 1 # 34 "allocatestack.c" 2 # 105 "allocatestack.c" static size_t stack_cache_maxsize = 40 * 1024 * 1024; static size_t stack_cache_actsize; static int stack_cache_lock = (0); static list_t stack_cache = { &(stack_cache), &(stack_cache) }; static list_t stack_used = { &(stack_used), &(stack_used) }; static uintptr_t in_flight_stack; list_t __stack_user __attribute__ ((nocommon)); extern __typeof (__stack_user) __EI___stack_user __asm__("" "__stack_user"); extern __typeof (__stack_user) __EI___stack_user __attribute__((alias ("" "__GI___stack_user"))); # 137 "allocatestack.c" static void stack_list_del (list_t *elem) { in_flight_stack = (uintptr_t) elem; __asm ("" ::: "memory"); list_del (elem); __asm ("" ::: "memory"); in_flight_stack = 0; } static void stack_list_add (list_t *elem, list_t *list) { in_flight_stack = (uintptr_t) elem | 1; __asm ("" ::: "memory"); list_add (elem, list); __asm ("" ::: "memory"); in_flight_stack = 0; } # 173 "allocatestack.c" static struct pthread * get_cached_stack (size_t *sizep, void **memp) { size_t size = *sizep; struct pthread *result = ((void *)0); list_t *entry; (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); for (entry = (&stack_cache)->next; entry != (&stack_cache); entry = entry->next) { struct pthread *curr; curr = ((struct pthread *) ((char *) (entry) - (unsigned long) (&((struct pthread *) 0)->list))); if (((curr)->tid <= 0) && curr->stackblock_size >= size) { if (curr->stackblock_size == size) { result = curr; break; } if (result == ((void *)0) || result->stackblock_size > curr->stackblock_size) result = curr; } } if (__builtin_expect (result == ((void *)0), 0) || __builtin_expect (result->stackblock_size > 4 * size, 0)) { (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); return ((void *)0); } result->setxid_futex = -1; stack_list_del (&result->list); stack_list_add (&result->list, &stack_used); stack_cache_actsize -= result->stackblock_size; (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); *sizep = result->stackblock_size; *memp = result->stackblock; result->cancelhandling = 0; result->cleanup = ((void *)0); result->nextevent = ((void *)0); dtv_t *dtv = (((tcbhead_t *) ((result)))->dtv); for (size_t cnt = 0; cnt < dtv[-1].counter; ++cnt) if (! dtv[1 + cnt].pointer.is_static && dtv[1 + cnt].pointer.val != ((void *) -1l)) free (dtv[1 + cnt].pointer.val); memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t)); _dl_allocate_tls_init ((result)); return result; } void __free_stacks (size_t limit) { list_t *entry; list_t *prev; for (entry = (&stack_cache)->prev, prev = entry->prev; entry != (&stack_cache); entry = prev, prev = entry->prev) { struct pthread *curr; curr = ((struct pthread *) ((char *) (entry) - (unsigned long) (&((struct pthread *) 0)->list))); if (((curr)->tid <= 0)) { stack_list_del (entry); stack_cache_actsize -= curr->stackblock_size; _dl_deallocate_tls ((curr), 0); if (munmap (curr->stackblock, curr->stackblock_size) != 0) abort (); if (stack_cache_actsize <= limit) break; } } } static inline void __attribute ((always_inline)) queue_stack (struct pthread *stack) { stack_list_add (&stack->list, &stack_cache); stack_cache_actsize += stack->stackblock_size; if (__builtin_expect ((stack_cache_actsize > stack_cache_maxsize), 0)) __free_stacks (stack_cache_maxsize); } static int __attribute__ ((regparm (3), stdcall)) change_stack_perm (struct pthread *pd ) { void *stack = pd->stackblock + pd->guardsize; size_t len = pd->stackblock_size - pd->guardsize; if (mprotect (stack, len, 0x1 | 0x2 | 0x4) != 0) return errno; return 0; } static int allocate_stack (const struct pthread_attr *attr, struct pthread **pdp, void **stack) { struct pthread *pd; size_t size; size_t pagesize_m1 = __getpagesize () - 1; void *stacktop; ((((((pagesize_m1 + 1) - 1) & (pagesize_m1 + 1)) == 0)) ? (void) (0) : __assert_fail ("((((pagesize_m1 + 1) - 1) & (pagesize_m1 + 1)) == 0)", "allocatestack.c", 357, __PRETTY_FUNCTION__)); ((64 >= 16) ? (void) (0) : __assert_fail ("64 >= 16", "allocatestack.c", 358, __PRETTY_FUNCTION__)); if (attr->stacksize != 0) size = attr->stacksize; else { (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (__default_pthread_attr_lock) : "0" (0), "1" (1), "m" (__default_pthread_attr_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (__default_pthread_attr_lock), "=&d" (ignore3) : "1" (1), "m" (__default_pthread_attr_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); size = __default_pthread_attr.stacksize; (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore) : "m" (__default_pthread_attr_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (__default_pthread_attr_lock), "g" ((int) (0)) : "memory"); } }); } if (__builtin_expect ((attr->flags & 0x0008), 0)) { uintptr_t adj; if (attr->stacksize != 0 && attr->stacksize < (__static_tls_size + 2048)) return 22; adj = ((uintptr_t) attr->stackaddr - sizeof (struct pthread)) & __static_tls_align_m1; ((size > adj + sizeof (struct pthread)) ? (void) (0) : __assert_fail ("size > adj + sizeof (struct pthread)", "allocatestack.c", 386, __PRETTY_FUNCTION__)); # 398 "allocatestack.c" pd = (struct pthread *) ((uintptr_t) attr->stackaddr - sizeof (struct pthread) - adj); memset (pd, '\0', sizeof (struct pthread)); pd->specific[0] = pd->specific_1stblock; pd->stackblock = (char *) attr->stackaddr - size; pd->stackblock_size = size; pd->user_stack = 1; pd->header.multiple_threads = 1; # 434 "allocatestack.c" ((pd)->header.sysinfo) = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.sysinfo) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo)), "i" (__builtin_offsetof (struct pthread, header.sysinfo) + 4)); } __value; }); pd->pid = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->pid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, pid))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, pid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, pid)), "i" (__builtin_offsetof (struct pthread, pid) + 4)); } __value; }); pd->setxid_futex = -1; if (_dl_allocate_tls ((pd)) == ((void *)0)) { ((errno == 12) ? (void) (0) : __assert_fail ("errno == 12", "allocatestack.c", 447, __PRETTY_FUNCTION__)); return errno; } (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); list_add (&pd->list, &__stack_user); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); } else { size_t guardsize; size_t reqsize; void *mem; const int prot = (0x1 | 0x2 | ((_rtld_global._dl_stack_flags & (1 << 0)) ? 0x4 : 0)); # 478 "allocatestack.c" size &= ~__static_tls_align_m1; ((size != 0) ? (void) (0) : __assert_fail ("size != 0", "allocatestack.c", 479, __PRETTY_FUNCTION__)); guardsize = (attr->guardsize + pagesize_m1) & ~pagesize_m1; if (__builtin_expect (size < ((guardsize + __static_tls_size + 2048 + pagesize_m1) & ~pagesize_m1), 0)) return 22; reqsize = size; pd = get_cached_stack (&size, &mem); if (pd == ((void *)0)) { # 505 "allocatestack.c" mem = mmap (((void *)0), size, prot, 0x02 | 0x20 | 0x20000, -1, 0); if (__builtin_expect ((mem == ((void *) -1)), 0)) return errno; ((mem != ((void *)0)) ? (void) (0) : __assert_fail ("mem != ((void *)0)", "allocatestack.c", 513, __PRETTY_FUNCTION__)); # 540 "allocatestack.c" pd = (struct pthread *) ((char *) mem + size - 0) - 1; # 549 "allocatestack.c" pd->stackblock = mem; pd->stackblock_size = size; pd->specific[0] = pd->specific_1stblock; pd->header.multiple_threads = 1; # 571 "allocatestack.c" ((pd)->header.sysinfo) = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.sysinfo) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo)), "i" (__builtin_offsetof (struct pthread, header.sysinfo) + 4)); } __value; }); pd->setxid_futex = -1; pd->pid = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->pid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, pid))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, pid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, pid)), "i" (__builtin_offsetof (struct pthread, pid) + 4)); } __value; }); if (_dl_allocate_tls ((pd)) == ((void *)0)) { ((errno == 12) ? (void) (0) : __assert_fail ("errno == 12", "allocatestack.c", 584, __PRETTY_FUNCTION__)); (void) munmap (mem, size); return errno; } (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); stack_list_add (&pd->list, &stack_used); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); if (__builtin_expect ((_rtld_global._dl_stack_flags & (1 << 0)) != 0 && (prot & 0x4) == 0, 0)) { int err = change_stack_perm (pd ); if (err != 0) { (void) munmap (mem, size); return err; } } # 630 "allocatestack.c" } if (__builtin_expect ((guardsize > pd->guardsize), 0)) { char *guard = mem; if (mprotect (guard, guardsize, 0x0) != 0) { mprot_error: (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); stack_list_del (&pd->list); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); _dl_deallocate_tls ((pd), 0); (void) munmap (mem, size); return errno; } pd->guardsize = guardsize; } else if (__builtin_expect (pd->guardsize - guardsize > size - reqsize, 0)) { # 685 "allocatestack.c" if (mprotect ((char *) mem + guardsize, pd->guardsize - guardsize, prot) != 0) goto mprot_error; pd->guardsize = guardsize; } pd->reported_guardsize = guardsize; } pd->lock = (0); pd->robust_head.futex_offset = (__builtin_offsetof (pthread_mutex_t, __data.__lock) - __builtin_offsetof (pthread_mutex_t, __data.__list.__next) ); pd->robust_head.list_op_pending = ((void *)0); pd->robust_head.list = &pd->robust_head; *pdp = pd; stacktop = ((char *) (pd + 1) - __static_tls_size); # 732 "allocatestack.c" *stack = stacktop; return 0; } void __attribute__ ((regparm (3), stdcall)) __deallocate_stack (struct pthread *pd) { (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); stack_list_del (&pd->list); if (__builtin_expect ((! pd->user_stack), 1)) (void) queue_stack (pd); else _dl_deallocate_tls ((pd), 0); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); } int __attribute__ ((regparm (3), stdcall)) __make_stacks_executable (void **stack_endp) { int err = _dl_make_stack_executable (stack_endp); if (err != 0) return err; (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); list_t *runp; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { err = change_stack_perm (((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))) ); if (err != 0) break; } if (err == 0) for (runp = (&stack_cache)->next; runp != (&stack_cache); runp = runp->next) { err = change_stack_perm (((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))) ); if (err != 0) break; } (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); return err; } void __reclaim_stacks (void) { struct pthread *self = (struct pthread *) ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); if (in_flight_stack != 0) { _Bool add_p = in_flight_stack & 1; list_t *elem = (list_t *) (in_flight_stack & ~(uintptr_t) 1); if (add_p) { list_t *l = ((void *)0); if (stack_used.next->prev != &stack_used) l = &stack_used; else if (stack_cache.next->prev != &stack_cache) l = &stack_cache; if (l != ((void *)0)) { ((l->next->prev == elem) ? (void) (0) : __assert_fail ("l->next->prev == elem", "allocatestack.c", 846, __PRETTY_FUNCTION__)); elem->next = l->next; elem->prev = l; l->next = elem; } } else { elem->next->prev = elem->prev; elem->prev->next = elem->next; } } list_t *runp; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { struct pthread *curp = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (curp != self) { curp->tid = 0; curp->pid = self->pid; stack_cache_actsize += curp->stackblock_size; if (curp->specific_used) { memset (curp->specific_1stblock, '\0', sizeof (curp->specific_1stblock)); curp->specific_used = 0; for (size_t cnt = 1; cnt < ((1024 + 32 - 1) / 32); ++cnt) if (curp->specific[cnt] != ((void *)0)) { memset (curp->specific[cnt], '\0', sizeof (curp->specific_1stblock)); curp->specific_used = 1; } } } } for (runp = (&stack_cache)->next; runp != (&stack_cache); runp = runp->next) { struct pthread *curp = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); curp->pid = self->pid; } list_splice (&stack_used, &stack_cache); stack_list_del (&self->list); (&stack_used)->next = (&stack_used)->prev = (&stack_used); (&__stack_user)->next = (&__stack_user)->prev = (&__stack_user); if (__builtin_expect ((({ __typeof (self->user_stack) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, user_stack))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, user_stack))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, user_stack)), "i" (__builtin_offsetof (struct pthread, user_stack) + 4)); } __value; })), 0)) list_add (&self->list, &__stack_user); else list_add (&self->list, &stack_used); __nptl_nthreads = 1; in_flight_stack = 0; stack_cache_lock = (0); __default_pthread_attr_lock = (0); } # 981 "allocatestack.c" static void __attribute__ ((regparm (3), stdcall)) setxid_mark_thread (struct xid_command *cmdp, struct pthread *t) { int ch; if (t->setxid_futex == -1 && ! (! __sync_bool_compare_and_swap (&t->setxid_futex, -1, -2))) do ({ int __status; register __typeof (-2) _val asm ("edx") = (-2); __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&t->setxid_futex), "S" (((void *)0)), "c" ((((0) | 128) ^ (0))), "d" (_val), "i" (__builtin_offsetof (tcbhead_t, sysinfo)) : "memory"); __status; }); while (t->setxid_futex == -2); t->setxid_futex = 0; do { ch = t->cancelhandling; if ((ch & (0x01 << 4)) != 0) { if ((ch & (0x01 << 6)) == 0) { t->setxid_futex = 1; ({ int __status; register __typeof (1) _nr asm ("edx") = (1); ; __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&t->setxid_futex), "c" ((((1) | 128) ^ (0))), "d" (_nr), "i" (0) , "i" (__builtin_offsetof (tcbhead_t, sysinfo))); __status; }); } return; } } while ((! __sync_bool_compare_and_swap (&t->cancelhandling, ch, ch | (0x01 << 6))) ); } static void __attribute__ ((regparm (3), stdcall)) setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t) { int ch; do { ch = t->cancelhandling; if ((ch & (0x01 << 6)) == 0) return; } while ((! __sync_bool_compare_and_swap (&t->cancelhandling, ch, ch & ~(0x01 << 6))) ); t->setxid_futex = 1; ({ int __status; register __typeof (1) _nr asm ("edx") = (1); ; __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&t->setxid_futex), "c" ((((1) | 128) ^ (0))), "d" (_nr), "i" (0) , "i" (__builtin_offsetof (tcbhead_t, sysinfo))); __status; }); } static int __attribute__ ((regparm (3), stdcall)) setxid_signal_thread (struct xid_command *cmdp, struct pthread *t) { if ((t->cancelhandling & (0x01 << 6)) == 0) return 0; int val; do { } while (0); val = ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "i" (270) , "D" (({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->pid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, pid))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, pid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, pid)), "i" (__builtin_offsetof (struct pthread, pid) + 4)); } __value; })), "c" (t->tid), "d" ((32 + 1)) : "memory", "cc"); (int) resultvar; }) ; if (!((unsigned int) (val) >= 0xfffff001u)) { do { if (sizeof (*&cmdp->cntr) == 1) __asm __volatile ("lock;" "incb %b0" : "=m" (*&cmdp->cntr) : "m" (*&cmdp->cntr), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&cmdp->cntr) == 2) __asm __volatile ("lock;" "incw %w0" : "=m" (*&cmdp->cntr) : "m" (*&cmdp->cntr), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&cmdp->cntr) == 4) __asm __volatile ("lock;" "incl %0" : "=m" (*&cmdp->cntr) : "m" (*&cmdp->cntr), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else { __typeof (&cmdp->cntr) __memp = (&cmdp->cntr); __typeof (*&cmdp->cntr) __oldval = *__memp; __typeof (*&cmdp->cntr) __tmpval; do __tmpval = __oldval; while ((__oldval = ({ __typeof (*__memp) ret = *(__memp); abort (); ret = (__oldval + 1); ret = (__oldval); ret; })) == __tmpval); } } while (0); return 1; } else return 0; } void __attribute__ ((visibility ("hidden"))) __nptl_setxid_error (struct xid_command *cmdp, int error) { do { int olderror = cmdp->error; if (olderror == error) break; if (olderror != -1) abort (); } while ((! __sync_bool_compare_and_swap (&cmdp->error, -1, error))); } int __attribute__ ((visibility ("hidden"))) __nptl_setxid (struct xid_command *cmdp) { int signalled; int result; (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); __xidcmd = cmdp; cmdp->cntr = 0; cmdp->error = -1; struct pthread *self = ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); list_t *runp; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; setxid_mark_thread (cmdp, t); } for (runp = (&__stack_user)->next; runp != (&__stack_user); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; setxid_mark_thread (cmdp, t); } do { signalled = 0; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; signalled += setxid_signal_thread (cmdp, t); } for (runp = (&__stack_user)->next; runp != (&__stack_user); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; signalled += setxid_signal_thread (cmdp, t); } int cur = cmdp->cntr; while (cur != 0) { ({ int __status; register __typeof (cur) _val asm ("edx") = (cur); __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&cmdp->cntr), "S" (((void *)0)), "c" ((((0) | 128) ^ (0))), "d" (_val), "i" (__builtin_offsetof (tcbhead_t, sysinfo)) : "memory"); __status; }); cur = cmdp->cntr; } } while (signalled != 0); for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; setxid_unmark_thread (cmdp, t); } for (runp = (&__stack_user)->next; runp != (&__stack_user); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self) continue; setxid_unmark_thread (cmdp, t); } do { } while (0); result = ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "0" (cmdp->syscall_no) , "D" (cmdp->id[0]), "c" (cmdp->id[1]), "d" (cmdp->id[2]) : "memory", "cc"); (int) resultvar; }) ; int error = 0; if (__builtin_expect ((((unsigned int) (result) >= 0xfffff001u)), 0)) { error = (-(result)); (errno = (error)); result = -1; } __nptl_setxid_error (cmdp, error); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); return result; } static inline void __attribute__((always_inline)) init_one_static_tls (struct pthread *curp, struct link_map *map) { dtv_t *dtv = (((tcbhead_t *) ((curp)))->dtv); void *dest = (char *) curp - map->l_tls_offset; dtv[map->l_tls_modid].pointer.val = dest; dtv[map->l_tls_modid].pointer.is_static = 1; memset (__builtin_mempcpy (dest, map->l_tls_initimage, map->l_tls_initimage_size), '\0', map->l_tls_blocksize - map->l_tls_initimage_size); } void __attribute__ ((visibility ("hidden"))) __pthread_init_static_tls (struct link_map *map) { (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); list_t *runp; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) init_one_static_tls (((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))), map); for (runp = (&__stack_user)->next; runp != (&__stack_user); runp = runp->next) init_one_static_tls (((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))), map); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); } void __attribute__ ((visibility ("hidden"))) __wait_lookup_done (void) { (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); struct pthread *self = ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); list_t *runp; for (runp = (&stack_used)->next; runp != (&stack_used); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self || t->header.gscope_flag == 0) continue; int *const gscope_flagp = &t->header.gscope_flag; if ((! __sync_bool_compare_and_swap (gscope_flagp, 1, 2)) ) continue; do ({ int __status; register __typeof (2) _val asm ("edx") = (2); __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (gscope_flagp), "S" (((void *)0)), "c" ((((0) | 128) ^ (0))), "d" (_val), "i" (__builtin_offsetof (tcbhead_t, sysinfo)) : "memory"); __status; }); while (*gscope_flagp == 2); } for (runp = (&__stack_user)->next; runp != (&__stack_user); runp = runp->next) { struct pthread *t = ((struct pthread *) ((char *) (runp) - (unsigned long) (&((struct pthread *) 0)->list))); if (t == self || t->header.gscope_flag == 0) continue; int *const gscope_flagp = &t->header.gscope_flag; if ((! __sync_bool_compare_and_swap (gscope_flagp, 1, 2)) ) continue; do ({ int __status; register __typeof (2) _val asm ("edx") = (2); __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (gscope_flagp), "S" (((void *)0)), "c" ((((0) | 128) ^ (0))), "d" (_val), "i" (__builtin_offsetof (tcbhead_t, sysinfo)) : "memory"); __status; }); while (*gscope_flagp == 2); } (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); } # 58 "pthread_create.c" 2 # 1 "./createthread.c" 1 # 56 "./createthread.c" static int do_clone (struct pthread *pd, const struct pthread_attr *attr, int clone_flags, int (*fct) (void *), void *stackaddr, int stopped) { union user_desc_init _segdescr; tls_fill_user_desc (&_segdescr, ({ int __seg; __asm ("movw %%gs, %w0" : "=q" (__seg)); __seg & 0xffff; }) >> 3, pd); const struct user_desc *tp = &_segdescr.desc; if (__builtin_expect ((stopped != 0), 0)) (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (pd->lock) : "0" (0), "1" (1), "m" (pd->lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (pd->lock), "=&d" (ignore3) : "1" (1), "m" (pd->lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); # 77 "./createthread.c" do { if (sizeof (*&__nptl_nthreads) == 1) __asm __volatile ("lock;" "incb %b0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&__nptl_nthreads) == 2) __asm __volatile ("lock;" "incw %w0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&__nptl_nthreads) == 4) __asm __volatile ("lock;" "incl %0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else { __typeof (&__nptl_nthreads) __memp = (&__nptl_nthreads); __typeof (*&__nptl_nthreads) __oldval = *__memp; __typeof (*&__nptl_nthreads) __tmpval; do __tmpval = __oldval; while ((__oldval = ({ __typeof (*__memp) ret = *(__memp); abort (); ret = (__oldval + 1); ret = (__oldval); ret; })) == __tmpval); } } while (0); int rc = __clone (fct, stackaddr, clone_flags, pd, &pd->tid, tp, &pd->tid); if (__builtin_expect ((rc == -1), 0)) { do { if (sizeof (*&__nptl_nthreads) == 1) __asm __volatile ("lock;" "decb %b0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&__nptl_nthreads) == 2) __asm __volatile ("lock;" "decw %w0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else if (sizeof (*&__nptl_nthreads) == 4) __asm __volatile ("lock;" "decl %0" : "=m" (*&__nptl_nthreads) : "m" (*&__nptl_nthreads), "i" (__builtin_offsetof (tcbhead_t, multiple_threads))); else { __typeof (&__nptl_nthreads) __memp = (&__nptl_nthreads); __typeof (*&__nptl_nthreads) __oldval = *__memp; __typeof (*&__nptl_nthreads) __tmpval; do __tmpval = __oldval; while ((__oldval = ({ __typeof (*__memp) ret = *(__memp); abort (); ret = (__oldval - 1); ret = (__oldval); ret; })) == __tmpval); } } while (0); if (__builtin_expect (({ __typeof (*&pd->setxid_futex) result; if (sizeof (*&pd->setxid_futex) == 1) __asm __volatile ("xchgb %b0, %1" : "=q" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 2) __asm __volatile ("xchgw %w0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 4) __asm __volatile ("xchgl %0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else { result = 0; abort (); } result; }) == -2, 0)) ({ int __status; register __typeof (1) _nr asm ("edx") = (1); ; __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&pd->setxid_futex), "c" ((((1) | 128) ^ (0))), "d" (_nr), "i" (0) , "i" (__builtin_offsetof (tcbhead_t, sysinfo))); __status; }); __deallocate_stack (pd); return errno == 12 ? 11 : errno; } if (__builtin_expect ((stopped != 0), 0)) { do { } while (0); int res = 0; if (attr->cpuset != ((void *)0)) { res = ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "i" (241) , "D" (pd->tid), "c" (attr->cpusetsize), "d" (attr->cpuset) : "memory", "cc"); (int) resultvar; }) ; if (__builtin_expect ((((unsigned int) (res) >= 0xfffff001u)), 0)) { do { } while (0); err_out: (void) ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "i" (270) , "D" (({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->pid) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, pid))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, pid))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, pid)), "i" (__builtin_offsetof (struct pthread, pid) + 4)); } __value; })), "c" (pd->tid), "d" (32) : "memory", "cc"); (int) resultvar; }) ; return (((unsigned int) (res) >= 0xfffff001u) ? (-(res)) : 0); } } if ((attr->flags & 0x0002) != 0) { res = ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "i" (156) , "D" (pd->tid), "c" (pd->schedpolicy), "d" (&pd->schedparam) : "memory", "cc"); (int) resultvar; }) ; if (__builtin_expect ((((unsigned int) (res) >= 0xfffff001u)), 0)) goto err_out; } } ({ if (sizeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.multiple_threads) == 1) asm volatile ("movb %b0,%%gs:%P1" : : "iq" (1), "i" (__builtin_offsetof (struct pthread, header.multiple_threads))); else if (sizeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.multiple_threads) == 4) asm volatile ("movl %0,%%gs:%P1" : : "ir" (1), "i" (__builtin_offsetof (struct pthread, header.multiple_threads))); else { if (sizeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.multiple_threads) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1\n\t" "movl %%edx,%%gs:%P2" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (1)) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (1)) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (1)) 0) == 5))))) 0))) (1))), "i" (__builtin_offsetof (struct pthread, header.multiple_threads)), "i" (__builtin_offsetof (struct pthread, header.multiple_threads) + 4)); }}); return 0; } static int create_thread (struct pthread *pd, const struct pthread_attr *attr, void *stackaddr) { ((pd->header.tcb != ((void *)0)) ? (void) (0) : __assert_fail ("pd->header.tcb != ((void *)0)", "./createthread.c", 155, __PRETTY_FUNCTION__)); # 185 "./createthread.c" int clone_flags = (0x00000100 | 0x00000200 | 0x00000400 | (0x00000800 | 0x00010000) | 0x00080000 | 0x00100000 | 0x00200000 | 0x00040000 | 0); if (__builtin_expect ((({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->report_events) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, report_events))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, report_events))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, report_events)), "i" (__builtin_offsetof (struct pthread, report_events) + 4)); } __value; })), 0)) { const int _idx = (((TD_CREATE) - 1U) >> 5); const uint32_t _mask = (1U << (((TD_CREATE) - 1) & ((1 << 5) - 1))); if ((_mask & (__nptl_threads_events.event_bits[_idx] | pd->eventbuf.eventmask.event_bits[_idx])) != 0) { pd->stopped_start = 1; int res = do_clone (pd, attr, clone_flags, start_thread, stackaddr, 1); if (res == 0) { pd->eventbuf.eventnum = TD_CREATE; pd->eventbuf.eventdata = pd; do pd->nextevent = __nptl_last_event; while ((! __sync_bool_compare_and_swap (&__nptl_last_event, pd->nextevent, pd)) != 0); __nptl_create_event (); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (pd->lock), "=&a" (ignore) : "m" (pd->lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (pd->lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (pd->lock), "g" ((int) (0)) : "memory"); } }); } return res; } } ((({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.sysinfo) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, header.sysinfo)), "i" (__builtin_offsetof (struct pthread, header.sysinfo) + 4)); } __value; }) == ((pd)->header.sysinfo)) ? (void) (0) : __assert_fail ("({ __typeof (({ struct pthread *__self; asm (\"movl %%gs:%c1,%0\" : \"=r\" (__self) : \"i\" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.sysinfo) __value; if (sizeof (__value) == 1) asm volatile (\"movb %%gs:%P2,%b0\" : \"=q\" (__value) : \"0\" (0), \"i\" (__builtin_offsetof (struct pthread, header.sysinfo))); else if (sizeof (__value) == 4) asm volatile (\"movl %%gs:%P1,%0\" : \"=r\" (__value) : \"i\" (__builtin_offsetof (struct pthread, header.sysinfo))); else { if (sizeof (__value) != 8) abort (); asm volatile (\"movl %%gs:%P1,%%eax\\n\\t\" \"movl %%gs:%P2,%%edx\" : \"=A\" (__value) : \"i\" (__builtin_offsetof (struct pthread, header.sysinfo)), \"i\" (__builtin_offsetof (struct pthread, header.sysinfo) + 4)); } __value; }) == ((pd)->header.sysinfo)", "./createthread.c", 235, __PRETTY_FUNCTION__)); _Bool stopped = 0; if (attr != ((void *)0) && (attr->cpuset != ((void *)0) || (attr->flags & 0x0002) != 0)) stopped = 1; pd->stopped_start = stopped; pd->parent_cancelhandling = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->cancelhandling) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, cancelhandling))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, cancelhandling))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, cancelhandling)), "i" (__builtin_offsetof (struct pthread, cancelhandling) + 4)); } __value; }); int res = do_clone (pd, attr, clone_flags, start_thread, stackaddr, stopped); if (res == 0 && stopped) (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (pd->lock), "=&a" (ignore) : "m" (pd->lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (pd->lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (pd->lock), "g" ((int) (0)) : "memory"); } }); return res; } # 61 "pthread_create.c" 2 struct pthread * __attribute__ ((regparm (3), stdcall)) __find_in_stack_list (pd) struct pthread *pd; { list_t *entry; struct pthread *result = ((void *)0); (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock) : "0" (0), "1" (1), "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (stack_cache_lock), "=&d" (ignore3) : "1" (1), "m" (stack_cache_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); for (entry = (&stack_used)->next; entry != (&stack_used); entry = entry->next) { struct pthread *curp; curp = ((struct pthread *) ((char *) (entry) - (unsigned long) (&((struct pthread *) 0)->list))); if (curp == pd) { result = curp; break; } } if (result == ((void *)0)) for (entry = (&__stack_user)->next; entry != (&__stack_user); entry = entry->next) { struct pthread *curp; curp = ((struct pthread *) ((char *) (entry) - (unsigned long) (&((struct pthread *) 0)->list))); if (curp == pd) { result = curp; break; } } (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore) : "m" (stack_cache_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (stack_cache_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (stack_cache_lock), "g" ((int) (0)) : "memory"); } }); return result; } void __attribute__ ((visibility ("hidden"))) __nptl_deallocate_tsd (void) { struct pthread *self = ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); if (({ __typeof (self->specific_used) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, specific_used))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, specific_used)), "i" (__builtin_offsetof (struct pthread, specific_used) + 4)); } __value; })) { size_t round; size_t cnt; round = 0; do { size_t idx; ({ if (sizeof (self->specific_used) == 1) asm volatile ("movb %b0,%%gs:%P1" : : "iq" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else if (sizeof (self->specific_used) == 4) asm volatile ("movl %0,%%gs:%P1" : : "ir" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else { if (sizeof (self->specific_used) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1\n\t" "movl %%edx,%%gs:%P2" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (0)) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (0)) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (0)) 0) == 5))))) 0))) (0))), "i" (__builtin_offsetof (struct pthread, specific_used)), "i" (__builtin_offsetof (struct pthread, specific_used) + 4)); }}); for (cnt = idx = 0; cnt < ((1024 + 32 - 1) / 32); ++cnt) { struct pthread_key_data *level2; level2 = ({ __typeof (self->specific[0]) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2(%3),%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1(,%2,4),%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1(,%2,8),%%eax\n\t" "movl %%gs:4+%P1(,%2,8),%%edx" : "=&A" (__value) : "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); } __value; }); if (level2 != ((void *)0)) { size_t inner; for (inner = 0; inner < 32; ++inner, ++idx) { void *data = level2[inner].data; if (data != ((void *)0)) { level2[inner].data = ((void *)0); if (level2[inner].seq == __pthread_keys[idx].seq && __pthread_keys[idx].destr != ((void *)0)) __pthread_keys[idx].destr (data); } } } else idx += ((1024 + 32 - 1) / 32); } if (({ __typeof (self->specific_used) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, specific_used))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, specific_used)), "i" (__builtin_offsetof (struct pthread, specific_used) + 4)); } __value; }) == 0) goto just_free; } while (__builtin_expect (++round < 4, 0)); memset (&({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->specific_1stblock, '\0', sizeof (self->specific_1stblock)); just_free: for (cnt = 1; cnt < ((1024 + 32 - 1) / 32); ++cnt) { struct pthread_key_data *level2; level2 = ({ __typeof (self->specific[0]) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2(%3),%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1(,%2,4),%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1(,%2,8),%%eax\n\t" "movl %%gs:4+%P1(,%2,8),%%edx" : "=&A" (__value) : "i" (__builtin_offsetof (struct pthread, specific[0])), "r" (cnt)); } __value; }); if (level2 != ((void *)0)) { free (level2); ({ if (sizeof (self->specific[0]) == 1) asm volatile ("movb %b0,%%gs:%P1(%2)" : : "iq" (((void *)0)), "i" (__builtin_offsetof (struct pthread, specific)), "r" (cnt)); else if (sizeof (self->specific[0]) == 4) asm volatile ("movl %0,%%gs:%P1(,%2,4)" : : "ir" (((void *)0)), "i" (__builtin_offsetof (struct pthread, specific)), "r" (cnt)); else { if (sizeof (self->specific[0]) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1(,%2,8)\n\t" "movl %%edx,%%gs:4+%P1(,%2,8)" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (((void *)0))) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (((void *)0))) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (((void *)0))) 0) == 5))))) 0))) (((void *)0)))), "i" (__builtin_offsetof (struct pthread, specific)), "r" (cnt)); }}); } } ({ if (sizeof (self->specific_used) == 1) asm volatile ("movb %b0,%%gs:%P1" : : "iq" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else if (sizeof (self->specific_used) == 4) asm volatile ("movl %0,%%gs:%P1" : : "ir" (0), "i" (__builtin_offsetof (struct pthread, specific_used))); else { if (sizeof (self->specific_used) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1\n\t" "movl %%edx,%%gs:%P2" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (0)) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (0)) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (0)) 0) == 5))))) 0))) (0))), "i" (__builtin_offsetof (struct pthread, specific_used)), "i" (__builtin_offsetof (struct pthread, specific_used) + 4)); }}); } } void __attribute__ ((regparm (3), stdcall)) __free_tcb (struct pthread *pd) { if (__builtin_expect (({ unsigned char __result; if (sizeof (*&pd->cancelhandling) == 1) __asm __volatile ("lock;" "btsb %3, %1; setc %0" : "=q" (__result), "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "ir" (5)); else if (sizeof (*&pd->cancelhandling) == 2) __asm __volatile ("lock;" "btsw %3, %1; setc %0" : "=q" (__result), "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "ir" (5)); else if (sizeof (*&pd->cancelhandling) == 4) __asm __volatile ("lock;" "btsl %3, %1; setc %0" : "=q" (__result), "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "ir" (5)); else abort (); __result; }) == 0, 1)) { if (0 && __find_in_stack_list (pd) == ((void *)0)) abort (); if (__builtin_expect ((pd->tpp != ((void *)0)), 0)) { struct priority_protection_data *tpp = pd->tpp; pd->tpp = ((void *)0); free (tpp); } __deallocate_stack (pd); } } static int start_thread (void *arg) { struct pthread *pd = (struct pthread *) arg; # 244 "pthread_create.c" __resp = &pd->res; __ctype_init (); if (__builtin_expect ((({ __typeof (*&pd->setxid_futex) result; if (sizeof (*&pd->setxid_futex) == 1) __asm __volatile ("xchgb %b0, %1" : "=q" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 2) __asm __volatile ("xchgw %w0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 4) __asm __volatile ("xchgl %0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else { result = 0; abort (); } result; }) == -2), 0)) ({ int __status; register __typeof (1) _nr asm ("edx") = (1); ; __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&pd->setxid_futex), "c" ((((1) | 128) ^ (0))), "d" (_nr), "i" (0) , "i" (__builtin_offsetof (tcbhead_t, sysinfo))); __status; }); { do { } while (0); ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (311) , "d" (&pd->robust_head), "c" (sizeof (struct robust_list_head)) : "memory", "cc"); (int) resultvar; }) ; } if (__builtin_expect ((pd->parent_cancelhandling & (0x01 << 2)), 0)) { do { } while (0); sigset_t mask; ({ __builtin_memset (&mask, '\0', sizeof (sigset_t)); 0; }); __sigaddset (&mask, 32); (void) ({ register unsigned int resultvar; asm volatile ( "xchgl %%ebx, %%edi\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "xchgl %%edi, %%ebx\n\t" : "=a" (resultvar) : "i" (175) , "D" (1), "c" (&mask), "d" (((void *)0)), "S" (65 / 8) : "memory", "cc"); (int) resultvar; }) ; } struct pthread_unwind_buf unwind_buf; unwind_buf.priv.data.prev = ((void *)0); unwind_buf.priv.data.cleanup = ((void *)0); int not_first_call; not_first_call = _setjmp ((struct __jmp_buf_tag *) unwind_buf.cancel_jmp_buf); if (__builtin_expect ((! not_first_call), 1)) { ({ if (sizeof (pd->cleanup_jmp_buf) == 1) asm volatile ("movb %b0,%%gs:%P1" : : "iq" (&unwind_buf), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf))); else if (sizeof (pd->cleanup_jmp_buf) == 4) asm volatile ("movl %0,%%gs:%P1" : : "ir" (&unwind_buf), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf))); else { if (sizeof (pd->cleanup_jmp_buf) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1\n\t" "movl %%edx,%%gs:%P2" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (&unwind_buf)) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (&unwind_buf)) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (&unwind_buf)) 0) == 5))))) 0))) (&unwind_buf))), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf)), "i" (__builtin_offsetof (struct pthread, cleanup_jmp_buf) + 4)); }}); if (__builtin_expect ((pd->stopped_start), 0)) { int oldtype = __pthread_enable_asynccancel (); (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (pd->lock) : "0" (0), "1" (1), "m" (pd->lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (pd->lock), "=&d" (ignore3) : "1" (1), "m" (pd->lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (pd->lock), "=&a" (ignore) : "m" (pd->lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (pd->lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (pd->lock), "g" ((int) (0)) : "memory"); } }); __pthread_disable_asynccancel (oldtype); } ; ({ if (sizeof (pd->result) == 1) asm volatile ("movb %b0,%%gs:%P1" : : "iq" (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; })), "i" (__builtin_offsetof (struct pthread, result))); else if (sizeof (pd->result) == 4) asm volatile ("movl %0,%%gs:%P1" : : "ir" (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; })), "i" (__builtin_offsetof (struct pthread, result))); else { if (sizeof (pd->result) != 8) abort (); asm volatile ("movl %%eax,%%gs:%P1\n\t" "movl %%edx,%%gs:%P2" : : "A" ((uint64_t) ((__typeof__ (*(0 ? (__typeof__ (0 ? (__typeof__ ((__typeof__ (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; }))) 0) *) 0 : (void *) ((__builtin_classify_type ((__typeof__ (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; }))) 0) == 5)))) 0 : (__typeof__ (0 ? (__intptr_t *) 0 : (void *) (!((__builtin_classify_type ((__typeof__ (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; }))) 0) == 5))))) 0))) (({ void *__res; int __ignore1, __ignore2; asm volatile ("pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%eax\n\t" "pushl %%gs:%P4\n\t" "call *%%gs:%P3\n\t" "addl $16, %%esp" : "=a" (__res), "=c" (__ignore1), "=d" (__ignore2) : "i" (__builtin_offsetof (struct pthread, start_routine)), "i" (__builtin_offsetof (struct pthread, arg))); __res; })))), "i" (__builtin_offsetof (struct pthread, result)), "i" (__builtin_offsetof (struct pthread, result) + 4)); }}); } __call_tls_dtors (); __nptl_deallocate_tsd (); __libc_thread_freeres (); if (__builtin_expect ((({ unsigned char __result; if (sizeof (*&__nptl_nthreads) == 1) __asm __volatile ("lock;" "decb %b0; sete %1" : "=m" (*&__nptl_nthreads), "=qm" (__result) : "m" (*&__nptl_nthreads)); else if (sizeof (*&__nptl_nthreads) == 2) __asm __volatile ("lock;" "decw %w0; sete %1" : "=m" (*&__nptl_nthreads), "=qm" (__result) : "m" (*&__nptl_nthreads)); else if (sizeof (*&__nptl_nthreads) == 4) __asm __volatile ("lock;" "decl %0; sete %1" : "=m" (*&__nptl_nthreads), "=qm" (__result) : "m" (*&__nptl_nthreads)); else abort (); __result; })), 0)) exit (0); if (__builtin_expect ((pd->report_events), 0)) { const int idx = (((TD_DEATH) - 1U) >> 5); const uint32_t mask = (1U << (((TD_DEATH) - 1) & ((1 << 5) - 1))); if ((mask & (__nptl_threads_events.event_bits[idx] | pd->eventbuf.eventmask.event_bits[idx])) != 0) { if (pd->nextevent == ((void *)0)) { pd->eventbuf.eventnum = TD_DEATH; pd->eventbuf.eventdata = pd; do pd->nextevent = __nptl_last_event; while ((! __sync_bool_compare_and_swap (&__nptl_last_event, pd->nextevent, pd)) ); } __nptl_death_event (); } } do { if (sizeof (*&pd->cancelhandling) == 1) __asm __volatile ("lock;" "orb %b2, %0" : "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "iq" (1 << (4))); else if (sizeof (*&pd->cancelhandling) == 2) __asm __volatile ("lock;" "orw %w2, %0" : "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "ir" (1 << (4))); else if (sizeof (*&pd->cancelhandling) == 4) __asm __volatile ("lock;" "orl %2, %0" : "=m" (*&pd->cancelhandling) : "m" (*&pd->cancelhandling), "ir" (1 << (4))); else abort (); } while (0); # 402 "pthread_create.c" size_t pagesize_m1 = __getpagesize () - 1; char *sp = __builtin_frame_address (0); size_t freesize = (sp - (char *) pd->stackblock) & ~pagesize_m1; ((freesize < pd->stackblock_size) ? (void) (0) : __assert_fail ("freesize < pd->stackblock_size", "pthread_create.c", 409, __PRETTY_FUNCTION__)); if (freesize > 16384) __madvise (pd->stackblock, freesize - 16384, 4); if (((pd)->joinid == (pd))) __free_tcb (pd); else if (__builtin_expect ((pd->cancelhandling & (0x01 << 6)), 0)) { do ({ int __status; register __typeof (0) _val asm ("edx") = (0); __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&pd->setxid_futex), "S" (((void *)0)), "c" ((((0) | 128) ^ (0))), "d" (_val), "i" (__builtin_offsetof (tcbhead_t, sysinfo)) : "memory"); __status; }); while (pd->cancelhandling & (0x01 << 6)); pd->setxid_futex = 0; } # 437 "pthread_create.c" __exit_thread (); return 0; } int __pthread_create_2_1 (newthread, attr, start_routine, arg) pthread_t *newthread; const pthread_attr_t *attr; void *(*start_routine) (void *); void *arg; { void *stackaddr = ((void *)0); const struct pthread_attr *iattr = (struct pthread_attr *) attr; struct pthread_attr default_attr; _Bool free_cpuset = 0; if (iattr == ((void *)0)) { (void) ({ int ignore1, ignore2; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%ecx\n" "2:\tcall __lll_lock_wait_private\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (__default_pthread_attr_lock) : "0" (0), "1" (1), "m" (__default_pthread_attr_lock), "i" (12) : "memory"); else { int ignore3; __asm __volatile ("lock;" "cmpxchgl %1, %2\n\t" "jz 18f\n\t" "1:\tleal %2, %%edx\n" "0:\tmovl %8, %%ecx\n" "2:\tcall __lll_lock_wait\n" "18:" : "=a" (ignore1), "=c" (ignore2), "=m" (__default_pthread_attr_lock), "=&d" (ignore3) : "1" (1), "m" (__default_pthread_attr_lock), "i" (12), "0" (0), "g" ((int) (0)) : "memory"); } }); default_attr = __default_pthread_attr; size_t cpusetsize = default_attr.cpusetsize; if (cpusetsize > 0) { cpu_set_t *cpuset; if (__builtin_expect ((__libc_use_alloca (cpusetsize)), 1)) cpuset = __builtin_alloca (cpusetsize); else { cpuset = malloc (cpusetsize); if (cpuset == ((void *)0)) { (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore) : "m" (__default_pthread_attr_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (__default_pthread_attr_lock), "g" ((int) (0)) : "memory"); } }); return 12; } free_cpuset = 1; } memcpy (cpuset, default_attr.cpuset, cpusetsize); default_attr.cpuset = cpuset; } (void) ({ int ignore; if (__builtin_constant_p (0) && (0) == 0) __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "2:\tcall __lll_unlock_wake_private\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore) : "m" (__default_pthread_attr_lock), "i" (12) : "memory"); else { int ignore2; __asm __volatile ("lock;" "subl $1, %0\n\t" "je 18f\n\t" "1:\tleal %0, %%eax\n" "0:\tmovl %5, %%ecx\n" "2:\tcall __lll_unlock_wake\n" "18:" : "=m" (__default_pthread_attr_lock), "=&a" (ignore), "=&c" (ignore2) : "i" (12), "m" (__default_pthread_attr_lock), "g" ((int) (0)) : "memory"); } }); iattr = &default_attr; } struct pthread *pd = ((void *)0); int err = allocate_stack (iattr, &pd, &stackaddr); int retval = 0; if (__builtin_expect ((err != 0), 0)) { retval = err == 12 ? 11 : err; goto out; } # 503 "pthread_create.c" pd->header.self = pd; pd->header.tcb = pd; pd->start_routine = start_routine; pd->arg = arg; struct pthread *self = ({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;}); pd->flags = ((iattr->flags & ~(0x0020 | 0x0040)) | (self->flags & (0x0020 | 0x0040))); pd->joinid = iattr->flags & 0x0001 ? pd : ((void *)0); pd->eventbuf = self->eventbuf; pd->schedpolicy = self->schedpolicy; pd->schedparam = self->schedparam; ((pd)->header.stack_guard = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.stack_guard) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, header.stack_guard))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, header.stack_guard))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, header.stack_guard)), "i" (__builtin_offsetof (struct pthread, header.stack_guard) + 4)); } __value; })); ((pd)->header.pointer_guard = ({ __typeof (({ struct pthread *__self; asm ("movl %%gs:%c1,%0" : "=r" (__self) : "i" (__builtin_offsetof (struct pthread, header.self))); __self;})->header.pointer_guard) __value; if (sizeof (__value) == 1) asm volatile ("movb %%gs:%P2,%b0" : "=q" (__value) : "0" (0), "i" (__builtin_offsetof (struct pthread, header.pointer_guard))); else if (sizeof (__value) == 4) asm volatile ("movl %%gs:%P1,%0" : "=r" (__value) : "i" (__builtin_offsetof (struct pthread, header.pointer_guard))); else { if (sizeof (__value) != 8) abort (); asm volatile ("movl %%gs:%P1,%%eax\n\t" "movl %%gs:%P2,%%edx" : "=A" (__value) : "i" (__builtin_offsetof (struct pthread, header.pointer_guard)), "i" (__builtin_offsetof (struct pthread, header.pointer_guard) + 4)); } __value; })); if (__builtin_expect ((iattr->flags & 0x0002) != 0, 0) && (iattr->flags & (0x0020 | 0x0040)) != 0) { do { } while (0); if (iattr->flags & 0x0040) pd->schedpolicy = iattr->schedpolicy; else if ((pd->flags & 0x0040) == 0) { pd->schedpolicy = ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (157) , "cd" (0) : "memory", "cc"); (int) resultvar; }); pd->flags |= 0x0040; } if (iattr->flags & 0x0020) memcpy (&pd->schedparam, &iattr->schedparam, sizeof (struct sched_param)); else if ((pd->flags & 0x0020) == 0) { ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (155) , "d" (0), "c" (&pd->schedparam) : "memory", "cc"); (int) resultvar; }); pd->flags |= 0x0020; } int minprio = ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (160) , "cd" (iattr->schedpolicy) : "memory", "cc"); (int) resultvar; }) ; int maxprio = ({ register unsigned int resultvar; asm volatile ( "bpushl .L__X'%k2, %k2\n\t" "movl %1, %%eax\n\t" "int $0x80\n\t" "bpopl .L__X'%k2, %k2\n\t" : "=a" (resultvar) : "i" (159) , "cd" (iattr->schedpolicy) : "memory", "cc"); (int) resultvar; }) ; if (pd->schedparam.__sched_priority < minprio || pd->schedparam.__sched_priority > maxprio) { if (__builtin_expect (({ __typeof (*&pd->setxid_futex) result; if (sizeof (*&pd->setxid_futex) == 1) __asm __volatile ("xchgb %b0, %1" : "=q" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 2) __asm __volatile ("xchgw %w0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else if (sizeof (*&pd->setxid_futex) == 4) __asm __volatile ("xchgl %0, %1" : "=r" (result), "=m" (*&pd->setxid_futex) : "0" (0), "m" (*&pd->setxid_futex)); else { result = 0; abort (); } result; }) == -2, 0)) ({ int __status; register __typeof (1) _nr asm ("edx") = (1); ; __asm __volatile ("xchgl %2, %%ebx\n" "int $0x80\n\t" "xchgl %2, %%ebx\n" : "=a" (__status) : "0" (240), "D" (&pd->setxid_futex), "c" ((((1) | 128) ^ (0))), "d" (_nr), "i" (0) , "i" (__builtin_offsetof (tcbhead_t, sysinfo))); __status; }); __deallocate_stack (pd); retval = 22; goto out; } } *newthread = (pthread_t) pd; ; retval = create_thread (pd, iattr, stackaddr); out: if (__builtin_expect ((free_cpuset), 0)) free (default_attr.cpuset); return retval; } __asm__ (".symver " "__pthread_create_2_1" "," "pthread_create" "@@" "GLIBC_2.1"); int __pthread_create_2_0 (newthread, attr, start_routine, arg) pthread_t *newthread; const pthread_attr_t *attr; void *(*start_routine) (void *); void *arg; { struct pthread_attr new_attr; if (attr != ((void *)0)) { struct pthread_attr *iattr = (struct pthread_attr *) attr; size_t ps = __getpagesize (); new_attr.schedparam = iattr->schedparam; new_attr.schedpolicy = iattr->schedpolicy; new_attr.flags = iattr->flags; new_attr.guardsize = ps; new_attr.stackaddr = ((void *)0); new_attr.stacksize = 0; new_attr.cpuset = ((void *)0); attr = (pthread_attr_t *) &new_attr; } return __pthread_create_2_1 (newthread, attr, start_routine, arg); } __asm__ (".symver " "__pthread_create_2_0" "," "pthread_create" "@" "GLIBC_2.0") ; # 1 "../nptl_db/db_info.c" 1 # 22 "../nptl_db/db_info.c" # 1 "../nptl_db/thread_dbP.h" 1 # 27 "../nptl_db/thread_dbP.h" # 1 "../include/assert.h" 1 # 1 "../assert/assert.h" 1 # 64 "../assert/assert.h" extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert (const char *__assertion, const char *__file, int __line) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); # 2 "../include/assert.h" 2 extern void __assert_fail (const char *__assertion, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_perror_fail (int __errnum, const char *__file, unsigned int __line, const char *__function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); extern void __assert_fail_base (const char *fmt, const char *assertion, const char *file, unsigned int line, const char *function) __attribute__ ((__nothrow__ )) __attribute__ ((__noreturn__)); # 28 "../nptl_db/thread_dbP.h" 2 # 1 "../nptl_db/proc_service.h" 1 # 23 "../nptl_db/proc_service.h" typedef enum { PS_OK, PS_ERR, PS_BADPID, PS_BADLID, PS_BADADDR, PS_NOSYM, PS_NOFREGS } ps_err_e; struct ps_prochandle; extern ps_err_e ps_pdread (struct ps_prochandle *, psaddr_t, void *, size_t); extern ps_err_e ps_pdwrite (struct ps_prochandle *, psaddr_t, const void *, size_t); extern ps_err_e ps_ptread (struct ps_prochandle *, psaddr_t, void *, size_t); extern ps_err_e ps_ptwrite (struct ps_prochandle *, psaddr_t, const void *, size_t); extern ps_err_e ps_lgetregs (struct ps_prochandle *, lwpid_t, prgregset_t); extern ps_err_e ps_lsetregs (struct ps_prochandle *, lwpid_t, const prgregset_t); extern ps_err_e ps_lgetfpregs (struct ps_prochandle *, lwpid_t, prfpregset_t *); extern ps_err_e ps_lsetfpregs (struct ps_prochandle *, lwpid_t, const prfpregset_t *); extern pid_t ps_getpid (struct ps_prochandle *); extern ps_err_e ps_get_thread_area (const struct ps_prochandle *, lwpid_t, int, psaddr_t *); extern ps_err_e ps_pglobal_lookup (struct ps_prochandle *, const char *object_name, const char *sym_name, psaddr_t *sym_addr); extern ps_err_e ps_pstop (const struct ps_prochandle *); extern ps_err_e ps_pcontinue (const struct ps_prochandle *); extern ps_err_e ps_lstop (const struct ps_prochandle *, lwpid_t); extern ps_err_e ps_lcontinue (const struct ps_prochandle *, lwpid_t); # 29 "../nptl_db/thread_dbP.h" 2 # 1 "../nptl_db/thread_db.h" 1 # 30 "../nptl_db/thread_dbP.h" 2 # 1 "../nptl_db/../nptl/pthreadP.h" 1 # 31 "../nptl_db/thread_dbP.h" 2 enum { # 1 "../nptl_db/structs.def" 1 # 25 "../nptl_db/structs.def" SYM_SIZEOF_pthread, SYM_pthread_FIELD_list, SYM_pthread_FIELD_report_events, SYM_pthread_FIELD_tid, SYM_pthread_FIELD_pid, SYM_pthread_FIELD_start_routine, SYM_pthread_FIELD_cancelhandling, SYM_pthread_FIELD_schedpolicy, SYM_pthread_FIELD_schedparam_sched_priority, SYM_pthread_FIELD_specific, SYM_pthread_FIELD_eventbuf, SYM_pthread_FIELD_eventbuf_eventmask, SYM_pthread_FIELD_eventbuf_eventmask_event_bits, SYM_pthread_FIELD_nextevent, SYM_SIZEOF_list_t, SYM_list_t_FIELD_next, SYM_list_t_FIELD_prev, SYM_SIZEOF_td_thr_events_t, SYM_td_thr_events_t_FIELD_event_bits, SYM_SIZEOF_td_eventbuf_t, SYM_td_eventbuf_t_FIELD_eventnum, SYM_td_eventbuf_t_FIELD_eventdata, SYM_stack_used, SYM___stack_user, SYM_nptl_version, SYM___nptl_create_event, SYM___nptl_death_event, SYM___nptl_threads_events, SYM___nptl_nthreads, SYM_DESC___nptl_nthreads, SYM___nptl_last_event, SYM_DESC___nptl_last_event, SYM___nptl_initial_report_events, SYM_DESC___nptl_initial_report_events, SYM___pthread_keys, SYM_DESC___pthread_keys, SYM_SIZEOF_pthread_key_struct, SYM_pthread_key_struct_FIELD_seq, SYM_pthread_key_struct_FIELD_destr, SYM_SIZEOF_pthread_key_data, SYM_pthread_key_data_FIELD_seq, SYM_pthread_key_data_FIELD_data, SYM_SIZEOF_pthread_key_data_level2, SYM_pthread_key_data_level2_FIELD_data, SYM_link_map_FIELD_l_tls_modid, SYM_dtv_FIELD_dtv, SYM_dtv_t_FIELD_pointer_val, SYM_pthread_FIELD_dtvp, # 42 "../nptl_db/thread_dbP.h" 2 SYM_TH_UNIQUE_CONST_THREAD_AREA, SYM_TH_UNIQUE_REGISTER64, SYM_TH_UNIQUE_REGISTER32, SYM_TH_UNIQUE_REGISTER64_THREAD_AREA, SYM_TH_UNIQUE_REGISTER32_THREAD_AREA, SYM_NUM_MESSAGES }; extern int __td_debug __attribute__ ((visibility ("hidden"))); # 73 "../nptl_db/thread_dbP.h" typedef uint32_t db_desc_t[3]; struct td_thragent { list_t list; struct ps_prochandle *ph; # 98 "../nptl_db/thread_dbP.h" # 1 "../nptl_db/structs.def" 1 # 25 "../nptl_db/structs.def" uint32_t ta_sizeof_pthread; db_desc_t ta_field_pthread_list; db_desc_t ta_field_pthread_report_events; db_desc_t ta_field_pthread_tid; db_desc_t ta_field_pthread_pid; db_desc_t ta_field_pthread_start_routine; db_desc_t ta_field_pthread_cancelhandling; db_desc_t ta_field_pthread_schedpolicy; db_desc_t ta_field_pthread_schedparam_sched_priority; db_desc_t ta_field_pthread_specific; db_desc_t ta_field_pthread_eventbuf; db_desc_t ta_field_pthread_eventbuf_eventmask; db_desc_t ta_field_pthread_eventbuf_eventmask_event_bits; db_desc_t ta_field_pthread_nextevent; uint32_t ta_sizeof_list_t; db_desc_t ta_field_list_t_next; db_desc_t ta_field_list_t_prev; uint32_t ta_sizeof_td_thr_events_t; db_desc_t ta_field_td_thr_events_t_event_bits; uint32_t ta_sizeof_td_eventbuf_t; db_desc_t ta_field_td_eventbuf_t_eventnum; db_desc_t ta_field_td_eventbuf_t_eventdata; psaddr_t ta_addr_stack_used; psaddr_t ta_addr___stack_user; psaddr_t ta_addr_nptl_version; psaddr_t ta_addr___nptl_create_event; psaddr_t ta_addr___nptl_death_event; psaddr_t ta_addr___nptl_threads_events; psaddr_t ta_addr___nptl_nthreads; db_desc_t ta_var___nptl_nthreads; psaddr_t ta_addr___nptl_last_event; db_desc_t ta_var___nptl_last_event; psaddr_t ta_addr___nptl_initial_report_events; db_desc_t ta_var___nptl_initial_report_events; psaddr_t ta_addr___pthread_keys; db_desc_t ta_var___pthread_keys; uint32_t ta_sizeof_pthread_key_struct; db_desc_t ta_field_pthread_key_struct_seq; db_desc_t ta_field_pthread_key_struct_destr; uint32_t ta_sizeof_pthread_key_data; db_desc_t ta_field_pthread_key_data_seq; db_desc_t ta_field_pthread_key_data_data; uint32_t ta_sizeof_pthread_key_data_level2; db_desc_t ta_field_pthread_key_data_level2_data; db_desc_t ta_field_link_map_l_tls_modid; db_desc_t ta_field_dtv_dtv; db_desc_t ta_field_dtv_t_pointer_val; db_desc_t ta_field_pthread_dtvp; # 99 "../nptl_db/thread_dbP.h" 2 enum { ta_howto_unknown, ta_howto_reg, ta_howto_reg_thread_area, ta_howto_const_thread_area } ta_howto; union { uint32_t const_thread_area; db_desc_t reg; db_desc_t reg_thread_area; } ta_howto_data; }; extern list_t __td_agent_list __attribute__ ((visibility ("hidden"))); static inline _Bool ta_ok (const td_thragent_t *ta) { list_t *runp; for (runp = (&__td_agent_list)->next; runp != (&__td_agent_list); runp = runp->next) if (((td_thragent_t *) ((char *) (runp) - (unsigned long) (&((td_thragent_t *) 0)->list))) == ta) return 1; return 0; } extern ps_err_e td_lookup (struct ps_prochandle *ps, int idx, psaddr_t *sym_addr) __attribute__ ((visibility ("hidden"))); # 167 "../nptl_db/thread_dbP.h" extern td_err_e _td_locate_field (td_thragent_t *ta, db_desc_t desc, int descriptor_name, psaddr_t idx, psaddr_t *address) __attribute__ ((visibility ("hidden"))); # 190 "../nptl_db/thread_dbP.h" extern td_err_e _td_fetch_value (td_thragent_t *ta, db_desc_t field, int descriptor_name, psaddr_t idx, psaddr_t address, psaddr_t *result) __attribute__ ((visibility ("hidden"))); extern td_err_e _td_fetch_value_local (td_thragent_t *ta, db_desc_t field, int descriptor_name, psaddr_t idx, void *address, psaddr_t *result) __attribute__ ((visibility ("hidden"))); # 222 "../nptl_db/thread_dbP.h" extern td_err_e _td_store_value (td_thragent_t *ta, db_desc_t field, int descriptor_name, psaddr_t idx, psaddr_t address, psaddr_t value) __attribute__ ((visibility ("hidden"))); extern td_err_e _td_store_value_local (td_thragent_t *ta, db_desc_t field, int descriptor_name, psaddr_t idx, void *address, psaddr_t value) __attribute__ ((visibility ("hidden"))); # 251 "../nptl_db/thread_dbP.h" extern td_err_e _td_check_sizeof (td_thragent_t *ta, uint32_t *sizep, int sizep_name) __attribute__ ((visibility ("hidden"))); extern td_err_e __td_ta_lookup_th_unique (const td_thragent_t *ta, lwpid_t lwpid, td_thrhandle_t *th); # 23 "../nptl_db/db_info.c" 2 typedef struct pthread pthread; typedef struct pthread_key_struct pthread_key_struct; typedef struct pthread_key_data pthread_key_data; typedef struct { struct pthread_key_data data[32]; } pthread_key_data_level2; typedef struct { union dtv dtv[(4294967295U) / 2 / sizeof (union dtv)]; } dtv; typedef struct link_map link_map; extern _Bool __nptl_initial_report_events; # 80 "../nptl_db/db_info.c" # 1 "../nptl_db/structs.def" 1 # 25 "../nptl_db/structs.def" const uint32_t _thread_db_sizeof_pthread = sizeof (pthread); const uint32_t _thread_db_pthread_list[3] = { (8 * sizeof (((pthread *) 0)->list)), (1), (__builtin_offsetof (pthread, list)) }; const uint32_t _thread_db_pthread_report_events[3] = { (8 * sizeof (((pthread *) 0)->report_events)), (1), (__builtin_offsetof (pthread, report_events)) }; const uint32_t _thread_db_pthread_tid[3] = { (8 * sizeof (((pthread *) 0)->tid)), (1), (__builtin_offsetof (pthread, tid)) }; const uint32_t _thread_db_pthread_pid[3] = { (8 * sizeof (((pthread *) 0)->pid)), (1), (__builtin_offsetof (pthread, pid)) }; const uint32_t _thread_db_pthread_start_routine[3] = { (8 * sizeof (((pthread *) 0)->start_routine)), (1), (__builtin_offsetof (pthread, start_routine)) }; const uint32_t _thread_db_pthread_cancelhandling[3] = { (8 * sizeof (((pthread *) 0)->cancelhandling)), (1), (__builtin_offsetof (pthread, cancelhandling)) }; const uint32_t _thread_db_pthread_schedpolicy[3] = { (8 * sizeof (((pthread *) 0)->schedpolicy)), (1), (__builtin_offsetof (pthread, schedpolicy)) }; const uint32_t _thread_db_pthread_schedparam_sched_priority[3] = { (8 * sizeof (((pthread *) 0)->schedparam.__sched_priority)), (1), (__builtin_offsetof (pthread, schedparam.__sched_priority)) }; const uint32_t _thread_db_pthread_specific[3] = { (8 * sizeof (((pthread *) 0)->specific)), (1), (__builtin_offsetof (pthread, specific)) }; const uint32_t _thread_db_pthread_eventbuf[3] = { (8 * sizeof (((pthread *) 0)->eventbuf)), (1), (__builtin_offsetof (pthread, eventbuf)) }; const uint32_t _thread_db_pthread_eventbuf_eventmask[3] = { (8 * sizeof (((pthread *) 0)->eventbuf.eventmask)), (1), (__builtin_offsetof (pthread, eventbuf.eventmask)) }; const uint32_t _thread_db_pthread_eventbuf_eventmask_event_bits[3] = { (8 * sizeof (((pthread *) 0)->eventbuf.eventmask.event_bits)[0]), (sizeof (((pthread *) 0)->eventbuf.eventmask.event_bits) / sizeof (((pthread *) 0)->eventbuf.eventmask.event_bits)[0]), (__builtin_offsetof (pthread, eventbuf.eventmask.event_bits)) }; const uint32_t _thread_db_pthread_nextevent[3] = { (8 * sizeof (((pthread *) 0)->nextevent)), (1), (__builtin_offsetof (pthread, nextevent)) }; const uint32_t _thread_db_sizeof_list_t = sizeof (list_t); const uint32_t _thread_db_list_t_next[3] = { (8 * sizeof (((list_t *) 0)->next)), (1), (__builtin_offsetof (list_t, next)) }; const uint32_t _thread_db_list_t_prev[3] = { (8 * sizeof (((list_t *) 0)->prev)), (1), (__builtin_offsetof (list_t, prev)) }; const uint32_t _thread_db_sizeof_td_thr_events_t = sizeof (td_thr_events_t); const uint32_t _thread_db_td_thr_events_t_event_bits[3] = { (8 * sizeof (((td_thr_events_t *) 0)->event_bits)[0]), (sizeof (((td_thr_events_t *) 0)->event_bits) / sizeof (((td_thr_events_t *) 0)->event_bits)[0]), (__builtin_offsetof (td_thr_events_t, event_bits)) }; const uint32_t _thread_db_sizeof_td_eventbuf_t = sizeof (td_eventbuf_t); const uint32_t _thread_db_td_eventbuf_t_eventnum[3] = { (8 * sizeof (((td_eventbuf_t *) 0)->eventnum)), (1), (__builtin_offsetof (td_eventbuf_t, eventnum)) }; const uint32_t _thread_db_td_eventbuf_t_eventdata[3] = { (8 * sizeof (((td_eventbuf_t *) 0)->eventdata)), (1), (__builtin_offsetof (td_eventbuf_t, eventdata)) }; const uint32_t _thread_db___nptl_nthreads[3] = { (8 * sizeof (__nptl_nthreads)), (1), (0) }; const uint32_t _thread_db___nptl_last_event[3] = { (8 * sizeof (__nptl_last_event)), (1), (0) }; const uint32_t _thread_db___nptl_initial_report_events[3] = { (8 * sizeof (__nptl_initial_report_events)), (1), (0) }; const uint32_t _thread_db___pthread_keys[3] = { (8 * sizeof (__pthread_keys)[0]), (sizeof (__pthread_keys) / sizeof (__pthread_keys)[0]), (0) }; const uint32_t _thread_db_sizeof_pthread_key_struct = sizeof (pthread_key_struct); const uint32_t _thread_db_pthread_key_struct_seq[3] = { (8 * sizeof (((pthread_key_struct *) 0)->seq)), (1), (__builtin_offsetof (pthread_key_struct, seq)) }; const uint32_t _thread_db_pthread_key_struct_destr[3] = { (8 * sizeof (((pthread_key_struct *) 0)->destr)), (1), (__builtin_offsetof (pthread_key_struct, destr)) }; const uint32_t _thread_db_sizeof_pthread_key_data = sizeof (pthread_key_data); const uint32_t _thread_db_pthread_key_data_seq[3] = { (8 * sizeof (((pthread_key_data *) 0)->seq)), (1), (__builtin_offsetof (pthread_key_data, seq)) }; const uint32_t _thread_db_pthread_key_data_data[3] = { (8 * sizeof (((pthread_key_data *) 0)->data)), (1), (__builtin_offsetof (pthread_key_data, data)) }; const uint32_t _thread_db_sizeof_pthread_key_data_level2 = sizeof (pthread_key_data_level2); const uint32_t _thread_db_pthread_key_data_level2_data[3] = { (8 * sizeof (((pthread_key_data_level2 *) 0)->data)[0]), (sizeof (((pthread_key_data_level2 *) 0)->data) / sizeof (((pthread_key_data_level2 *) 0)->data)[0]), (__builtin_offsetof (pthread_key_data_level2, data)) }; const uint32_t _thread_db_link_map_l_tls_modid[3] = { (8 * sizeof (((link_map *) 0)->l_tls_modid)), (1), (__builtin_offsetof (link_map, l_tls_modid)) }; const uint32_t _thread_db_dtv_dtv[3] = { (8 * sizeof (((dtv *) 0)->dtv)[0]), (sizeof (((dtv *) 0)->dtv) / sizeof (((dtv *) 0)->dtv)[0]), (__builtin_offsetof (dtv, dtv)) }; const uint32_t _thread_db_dtv_t_pointer_val[3] = { (8 * sizeof (((dtv_t *) 0)->pointer.val)), (1), (__builtin_offsetof (dtv_t, pointer.val)) }; const uint32_t _thread_db_pthread_dtvp[3] = { (8 * sizeof (((pthread *) 0)->header.dtv)), (1), (__builtin_offsetof (pthread, header.dtv)) }; # 81 "../nptl_db/db_info.c" 2 # 104 "../nptl_db/db_info.c" const uint32_t _thread_db_register32_thread_area[3] = { (32), ((3)), ((__builtin_offsetof (struct user_regs_struct, xgs))) }; const uint32_t _thread_db_register64_thread_area[3] = { (64), ((3)), ((26 * 8)) }; # 649 "pthread_create.c" 2