4 # 1 "./../include/libc-symbols.h" 1
5 # 55 "./../include/libc-symbols.h"
6 # 1 "/var/tmp/portage/sys-libs/glibc-2.4-r4/work/build-default-s390x-ibm-linux-gnu-nptl/config.h" 1
7 # 56 "./../include/libc-symbols.h" 2
8 # 817 "./../include/libc-symbols.h"
9 # 1 "../sysdeps/generic/symbol-hacks.h" 1
10 # 818 "./../include/libc-symbols.h" 2
11 # 1 "<command line>" 2
14 # 1 "../include/errno.h" 1
17 # 1 "../stdlib/errno.h" 1
18 # 29 "../stdlib/errno.h"
19 # 1 "../include/features.h" 1
20 # 323 "../include/features.h"
21 # 1 "../include/sys/cdefs.h" 1
24 # 1 "../misc/sys/cdefs.h" 1
25 # 313 "../misc/sys/cdefs.h"
26 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
27 # 314 "../misc/sys/cdefs.h" 2
28 # 4 "../include/sys/cdefs.h" 2
30 extern void __chk_fail (void) __attribute__ ((__noreturn__));
32 extern __typeof (__chk_fail) __chk_fail __asm__ ("" "__GI___chk_fail") __attribute__ ((visibility ("hidden")));
33 # 324 "../include/features.h" 2
34 # 346 "../include/features.h"
35 # 1 "../include/gnu/stubs.h" 1
36 # 347 "../include/features.h" 2
37 # 30 "../stdlib/errno.h" 2
44 # 1 "../sysdeps/unix/sysv/linux/bits/errno.h" 1
45 # 25 "../sysdeps/unix/sysv/linux/bits/errno.h"
46 # 1 "/usr/include/linux/errno.h" 1 3 4
50 # 1 "/usr/include/asm/errno.h" 1 3 4
51 # 11 "/usr/include/asm/errno.h" 3 4
52 # 1 "/usr/include/asm-generic/errno.h" 1 3 4
56 # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
57 # 5 "/usr/include/asm-generic/errno.h" 2 3 4
58 # 12 "/usr/include/asm/errno.h" 2 3 4
59 # 5 "/usr/include/linux/errno.h" 2 3 4
60 # 26 "../sysdeps/unix/sysv/linux/bits/errno.h" 2
61 # 43 "../sysdeps/unix/sysv/linux/bits/errno.h"
62 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
63 # 37 "../stdlib/errno.h" 2
64 # 55 "../stdlib/errno.h"
65 extern char *program_invocation_name, *program_invocation_short_name;
70 # 69 "../stdlib/errno.h"
72 # 4 "../include/errno.h" 2
77 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
78 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
79 # 1 "../sysdeps/generic/dl-sysdep.h" 1
80 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
81 # 9 "../include/errno.h" 2
82 # 18 "../include/errno.h"
83 extern int rtld_errno __attribute__ ((visibility ("hidden")));
84 # 39 "../include/errno.h"
85 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__))
87 __attribute__ ((visibility ("hidden")))
92 # 1 "../include/dlfcn.h" 1
94 # 1 "../dlfcn/dlfcn.h" 1
95 # 26 "../dlfcn/dlfcn.h"
96 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
97 # 214 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 3 4
98 typedef long unsigned int size_t;
99 # 27 "../dlfcn/dlfcn.h" 2
102 # 1 "../include/bits/dlfcn.h" 1
103 # 1 "../bits/dlfcn.h" 1
104 # 58 "../bits/dlfcn.h"
108 extern void _dl_mcount_wrapper_check (void *__selfpc) __attribute__ ((__nothrow__));
111 # 2 "../include/bits/dlfcn.h" 2
113 extern void _dl_mcount_wrapper_check (void *__selfpc);
115 # 30 "../dlfcn/dlfcn.h" 2
116 # 46 "../dlfcn/dlfcn.h"
117 typedef long int Lmid_t;
129 extern void *dlopen (__const char *__file, int __mode) __attribute__ ((__nothrow__));
133 extern int dlclose (void *__handle) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
137 extern void *dlsym (void *__restrict __handle,
138 __const char *__restrict __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
142 extern void *dlmopen (Lmid_t __nsid, __const char *__file, int __mode) __attribute__ ((__nothrow__));
146 extern void *dlvsym (void *__restrict __handle,
147 __const char *__restrict __name,
148 __const char *__restrict __version)
149 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
155 extern char *dlerror (void) __attribute__ ((__nothrow__));
163 __const char *dli_fname;
165 __const char *dli_sname;
171 extern int dladdr (__const void *__address, Dl_info *__info)
172 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
175 extern int dladdr1 (__const void *__address, Dl_info *__info,
176 void **__extra_info, int __flags) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
196 extern int dlinfo (void *__restrict __handle,
197 int __request, void *__restrict __arg)
198 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3)));
210 RTLD_DI_CONFIGADDR = 3,
218 RTLD_DI_SERINFOSIZE = 5,
224 RTLD_DI_PROFILENAME = 7,
225 RTLD_DI_PROFILEOUT = 8,
230 RTLD_DI_TLS_MODID = 9,
236 RTLD_DI_TLS_DATA = 10,
247 unsigned int dls_flags;
255 unsigned int dls_cnt;
256 Dl_serpath dls_serpath[1];
262 # 3 "../include/dlfcn.h" 2
263 # 1 "../include/link.h" 1
264 # 33 "../include/link.h"
265 # 1 "../elf/link.h" 1
267 # 1 "../include/elf.h" 1
275 # 1 "../sysdeps/generic/stdint.h" 1
276 # 27 "../sysdeps/generic/stdint.h"
277 # 1 "../bits/wchar.h" 1
278 # 28 "../sysdeps/generic/stdint.h" 2
279 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
280 # 29 "../sysdeps/generic/stdint.h" 2
281 # 37 "../sysdeps/generic/stdint.h"
282 typedef signed char int8_t;
283 typedef short int int16_t;
286 typedef long int int64_t;
294 typedef unsigned char uint8_t;
295 typedef unsigned short int uint16_t;
297 typedef unsigned int uint32_t;
301 typedef unsigned long int uint64_t;
302 # 66 "../sysdeps/generic/stdint.h"
303 typedef signed char int_least8_t;
304 typedef short int int_least16_t;
305 typedef int int_least32_t;
307 typedef long int int_least64_t;
314 typedef unsigned char uint_least8_t;
315 typedef unsigned short int uint_least16_t;
316 typedef unsigned int uint_least32_t;
318 typedef unsigned long int uint_least64_t;
319 # 91 "../sysdeps/generic/stdint.h"
320 typedef signed char int_fast8_t;
322 typedef long int int_fast16_t;
323 typedef long int int_fast32_t;
324 typedef long int int_fast64_t;
325 # 104 "../sysdeps/generic/stdint.h"
326 typedef unsigned char uint_fast8_t;
328 typedef unsigned long int uint_fast16_t;
329 typedef unsigned long int uint_fast32_t;
330 typedef unsigned long int uint_fast64_t;
331 # 120 "../sysdeps/generic/stdint.h"
332 typedef long int intptr_t;
335 typedef unsigned long int uintptr_t;
336 # 135 "../sysdeps/generic/stdint.h"
337 typedef long int intmax_t;
338 typedef unsigned long int uintmax_t;
339 # 30 "../elf/elf.h" 2
342 typedef uint16_t Elf32_Half;
343 typedef uint16_t Elf64_Half;
346 typedef uint32_t Elf32_Word;
347 typedef int32_t Elf32_Sword;
348 typedef uint32_t Elf64_Word;
349 typedef int32_t Elf64_Sword;
352 typedef uint64_t Elf32_Xword;
353 typedef int64_t Elf32_Sxword;
354 typedef uint64_t Elf64_Xword;
355 typedef int64_t Elf64_Sxword;
358 typedef uint32_t Elf32_Addr;
359 typedef uint64_t Elf64_Addr;
362 typedef uint32_t Elf32_Off;
363 typedef uint64_t Elf64_Off;
366 typedef uint16_t Elf32_Section;
367 typedef uint16_t Elf64_Section;
370 typedef Elf32_Half Elf32_Versym;
371 typedef Elf64_Half Elf64_Versym;
380 unsigned char e_ident[(16)];
382 Elf32_Half e_machine;
383 Elf32_Word e_version;
389 Elf32_Half e_phentsize;
391 Elf32_Half e_shentsize;
393 Elf32_Half e_shstrndx;
398 unsigned char e_ident[(16)];
400 Elf64_Half e_machine;
401 Elf64_Word e_version;
407 Elf64_Half e_phentsize;
409 Elf64_Half e_shentsize;
411 Elf64_Half e_shstrndx;
424 Elf32_Word sh_addralign;
425 Elf32_Word sh_entsize;
432 Elf64_Xword sh_flags;
438 Elf64_Xword sh_addralign;
439 Elf64_Xword sh_entsize;
447 unsigned char st_info;
448 unsigned char st_other;
449 Elf32_Section st_shndx;
455 unsigned char st_info;
456 unsigned char st_other;
457 Elf64_Section st_shndx;
467 Elf32_Half si_boundto;
473 Elf64_Half si_boundto;
500 Elf32_Sword r_addend;
507 Elf64_Sxword r_addend;
529 Elf64_Xword p_filesz;
556 Elf32_Half vd_version;
568 Elf64_Half vd_version;
597 Elf32_Half vn_version;
608 Elf64_Half vn_version;
620 Elf32_Half vna_flags;
621 Elf32_Half vna_other;
630 Elf64_Half vna_flags;
631 Elf64_Half vna_other;
674 # 1047 "../elf/elf.h"
679 Elf32_Word m_poffset;
688 Elf64_Xword m_poffset;
692 # 1393 "../elf/elf.h"
697 Elf32_Word gt_current_g_value;
698 Elf32_Word gt_unused;
702 Elf32_Word gt_g_value;
711 Elf32_Word ri_gprmask;
712 Elf32_Word ri_cprmask[4];
713 Elf32_Sword ri_gp_value;
723 Elf32_Section section;
727 # 1469 "../elf/elf.h"
730 Elf32_Word hwp_flags1;
731 Elf32_Word hwp_flags2;
733 # 1621 "../elf/elf.h"
737 Elf32_Word l_time_stamp;
738 Elf32_Word l_checksum;
739 Elf32_Word l_version;
746 Elf64_Word l_time_stamp;
747 Elf64_Word l_checksum;
748 Elf64_Word l_version;
751 # 1652 "../elf/elf.h"
752 typedef Elf32_Addr Elf32_Conflict;
753 # 2623 "../elf/elf.h"
755 # 3 "../include/elf.h" 2
758 # 1 "../sysdeps/generic/dl-dtprocnum.h" 1
759 # 6 "../include/elf.h" 2
760 # 26 "../elf/link.h" 2
761 # 1 "../include/dlfcn.h" 1
762 # 27 "../elf/link.h" 2
763 # 1 "../include/sys/types.h" 1
764 # 1 "../posix/sys/types.h" 1
765 # 29 "../posix/sys/types.h"
768 # 1 "../bits/types.h" 1
769 # 28 "../bits/types.h"
770 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
771 # 29 "../bits/types.h" 2
774 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
775 # 32 "../bits/types.h" 2
778 typedef unsigned char __u_char;
779 typedef unsigned short int __u_short;
780 typedef unsigned int __u_int;
781 typedef unsigned long int __u_long;
784 typedef signed char __int8_t;
785 typedef unsigned char __uint8_t;
786 typedef signed short int __int16_t;
787 typedef unsigned short int __uint16_t;
788 typedef signed int __int32_t;
789 typedef unsigned int __uint32_t;
791 typedef signed long int __int64_t;
792 typedef unsigned long int __uint64_t;
800 typedef long int __quad_t;
801 typedef unsigned long int __u_quad_t;
802 # 134 "../bits/types.h"
803 # 1 "../sysdeps/unix/sysv/linux/s390/bits/typesizes.h" 1
804 # 135 "../bits/types.h" 2
807 typedef unsigned long int __dev_t;
808 typedef unsigned int __uid_t;
809 typedef unsigned int __gid_t;
810 typedef unsigned long int __ino_t;
811 typedef unsigned long int __ino64_t;
812 typedef unsigned int __mode_t;
813 typedef unsigned long int __nlink_t;
814 typedef long int __off_t;
815 typedef long int __off64_t;
817 typedef struct { int __val[2]; } __fsid_t;
818 typedef long int __clock_t;
819 typedef unsigned long int __rlim_t;
820 typedef unsigned long int __rlim64_t;
821 typedef unsigned int __id_t;
822 typedef long int __time_t;
823 typedef unsigned int __useconds_t;
824 typedef long int __suseconds_t;
826 typedef int __daddr_t;
827 typedef long int __swblk_t;
831 typedef int __clockid_t;
834 typedef void * __timer_t;
837 typedef long int __blksize_t;
842 typedef long int __blkcnt_t;
843 typedef long int __blkcnt64_t;
846 typedef unsigned long int __fsblkcnt_t;
847 typedef unsigned long int __fsblkcnt64_t;
850 typedef unsigned long int __fsfilcnt_t;
851 typedef unsigned long int __fsfilcnt64_t;
853 typedef long int __ssize_t;
857 typedef __off64_t __loff_t;
858 typedef __quad_t *__qaddr_t;
859 typedef char *__caddr_t;
862 typedef long int __intptr_t;
865 typedef unsigned int __socklen_t;
866 # 32 "../posix/sys/types.h" 2
870 typedef __u_char u_char;
871 typedef __u_short u_short;
872 typedef __u_int u_int;
873 typedef __u_long u_long;
874 typedef __quad_t quad_t;
875 typedef __u_quad_t u_quad_t;
876 typedef __fsid_t fsid_t;
881 typedef __loff_t loff_t;
885 typedef __ino_t ino_t;
892 typedef __ino64_t ino64_t;
897 typedef __dev_t dev_t;
902 typedef __gid_t gid_t;
907 typedef __mode_t mode_t;
912 typedef __nlink_t nlink_t;
917 typedef __uid_t uid_t;
923 typedef __off_t off_t;
930 typedef __off64_t off64_t;
935 typedef __pid_t pid_t;
945 typedef __ssize_t ssize_t;
951 typedef __daddr_t daddr_t;
952 typedef __caddr_t caddr_t;
958 typedef __key_t key_t;
959 # 133 "../posix/sys/types.h"
960 # 1 "../include/time.h" 1
963 # 1 "../time/time.h" 1
964 # 59 "../time/time.h"
967 typedef __clock_t clock_t;
971 # 75 "../time/time.h"
974 typedef __time_t time_t;
978 # 93 "../time/time.h"
979 typedef __clockid_t clockid_t;
980 # 105 "../time/time.h"
981 typedef __timer_t timer_t;
982 # 4 "../include/time.h" 2
983 # 134 "../posix/sys/types.h" 2
987 typedef __useconds_t useconds_t;
991 typedef __suseconds_t suseconds_t;
997 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
998 # 148 "../posix/sys/types.h" 2
1002 typedef unsigned long int ulong;
1003 typedef unsigned short int ushort;
1004 typedef unsigned int uint;
1005 # 201 "../posix/sys/types.h"
1006 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
1007 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
1008 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
1009 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
1011 typedef int register_t __attribute__ ((__mode__ (__word__)));
1012 # 217 "../posix/sys/types.h"
1013 # 1 "../include/endian.h" 1
1014 # 1 "../string/endian.h" 1
1015 # 37 "../string/endian.h"
1016 # 1 "../sysdeps/s390/bits/endian.h" 1
1017 # 38 "../string/endian.h" 2
1018 # 2 "../include/endian.h" 2
1019 # 218 "../posix/sys/types.h" 2
1022 # 1 "../include/sys/select.h" 1
1024 # 1 "../misc/sys/select.h" 1
1025 # 31 "../misc/sys/select.h"
1026 # 1 "../bits/select.h" 1
1027 # 32 "../misc/sys/select.h" 2
1030 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1
1031 # 23 "../sysdeps/unix/sysv/linux/bits/sigset.h"
1032 typedef int __sig_atomic_t;
1039 unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
1041 # 35 "../misc/sys/select.h" 2
1045 typedef __sigset_t sigset_t;
1051 # 1 "../include/time.h" 1
1054 # 1 "../time/time.h" 1
1055 # 121 "../time/time.h"
1061 # 4 "../include/time.h" 2
1062 # 45 "../misc/sys/select.h" 2
1064 # 1 "../bits/time.h" 1
1065 # 69 "../bits/time.h"
1069 __suseconds_t tv_usec;
1071 # 47 "../misc/sys/select.h" 2
1072 # 55 "../misc/sys/select.h"
1073 typedef long int __fd_mask;
1074 # 67 "../misc/sys/select.h"
1080 __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
1093 typedef __fd_mask fd_mask;
1094 # 99 "../misc/sys/select.h"
1096 # 109 "../misc/sys/select.h"
1097 extern int select (int __nfds, fd_set *__restrict __readfds,
1098 fd_set *__restrict __writefds,
1099 fd_set *__restrict __exceptfds,
1100 struct timeval *__restrict __timeout);
1101 # 121 "../misc/sys/select.h"
1102 extern int pselect (int __nfds, fd_set *__restrict __readfds,
1103 fd_set *__restrict __writefds,
1104 fd_set *__restrict __exceptfds,
1105 const struct timespec *__restrict __timeout,
1106 const __sigset_t *__restrict __sigmask);
1110 # 3 "../include/sys/select.h" 2
1113 extern int __pselect (int __nfds, fd_set *__readfds,
1114 fd_set *__writefds, fd_set *__exceptfds,
1115 const struct timespec *__timeout,
1116 const __sigset_t *__sigmask);
1118 extern int __select (int __nfds, fd_set *__restrict __readfds,
1119 fd_set *__restrict __writefds,
1120 fd_set *__restrict __exceptfds,
1121 struct timeval *__restrict __timeout);
1123 # 221 "../posix/sys/types.h" 2
1126 # 1 "../sysdeps/unix/sysv/linux/sys/sysmacros.h" 1
1127 # 29 "../sysdeps/unix/sysv/linux/sys/sysmacros.h"
1129 extern __inline unsigned int gnu_dev_major (unsigned long long int __dev)
1130 __attribute__ ((__nothrow__));
1132 extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
1133 __attribute__ ((__nothrow__));
1135 extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
1136 unsigned int __minor)
1137 __attribute__ ((__nothrow__));
1140 __extension__ extern __inline unsigned int
1141 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
1143 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
1146 __extension__ extern __inline unsigned int
1147 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
1149 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
1152 __extension__ extern __inline unsigned long long int
1153 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
1155 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
1156 | (((unsigned long long int) (__minor & ~0xff)) << 12)
1157 | (((unsigned long long int) (__major & ~0xfff)) << 32));
1159 # 224 "../posix/sys/types.h" 2
1164 typedef __blksize_t blksize_t;
1171 typedef __blkcnt_t blkcnt_t;
1175 typedef __fsblkcnt_t fsblkcnt_t;
1179 typedef __fsfilcnt_t fsfilcnt_t;
1180 # 262 "../posix/sys/types.h"
1181 typedef __blkcnt64_t blkcnt64_t;
1182 typedef __fsblkcnt64_t fsblkcnt64_t;
1183 typedef __fsfilcnt64_t fsfilcnt64_t;
1189 # 1 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h" 1
1190 # 23 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h"
1191 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
1192 # 24 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h" 2
1193 # 50 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h"
1194 typedef unsigned long int pthread_t;
1205 typedef struct __pthread_internal_list
1207 struct __pthread_internal_list *__prev;
1208 struct __pthread_internal_list *__next;
1210 # 76 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h"
1213 struct __pthread_mutex_s
1216 unsigned int __count;
1219 unsigned int __nusers;
1226 __pthread_list_t __list;
1227 # 101 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h"
1237 } pthread_mutexattr_t;
1247 unsigned int __futex;
1248 __extension__ unsigned long long int __total_seq;
1249 __extension__ unsigned long long int __wakeup_seq;
1250 __extension__ unsigned long long int __woken_seq;
1252 unsigned int __nwaiters;
1253 unsigned int __broadcast_seq;
1256 __extension__ long long int __align;
1263 } pthread_condattr_t;
1267 typedef unsigned int pthread_key_t;
1271 typedef int pthread_once_t;
1283 unsigned int __nr_readers;
1284 unsigned int __readers_wakeup;
1285 unsigned int __writer_wakeup;
1286 unsigned int __nr_readers_queued;
1287 unsigned int __nr_writers_queued;
1290 unsigned long int __pad2;
1291 unsigned long int __pad3;
1294 unsigned int __flags;
1296 # 184 "../nptl/sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h"
1305 } pthread_rwlockattr_t;
1311 typedef volatile int pthread_spinlock_t;
1320 } pthread_barrier_t;
1326 } pthread_barrierattr_t;
1327 # 271 "../posix/sys/types.h" 2
1331 # 1 "../include/sys/types.h" 2
1332 # 28 "../elf/link.h" 2
1340 # 1 "../sysdeps/unix/sysv/linux/s390/bits/elfclass.h" 1
1341 # 28 "../sysdeps/unix/sysv/linux/s390/bits/elfclass.h"
1342 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
1343 # 29 "../sysdeps/unix/sysv/linux/s390/bits/elfclass.h" 2
1350 typedef uint64_t Elf_Symndx;
1351 # 36 "../elf/link.h" 2
1352 # 1 "../sysdeps/s390/bits/link.h" 1
1353 # 70 "../sysdeps/s390/bits/link.h"
1354 typedef struct La_s390_64_regs
1368 typedef struct La_s390_64_retval
1372 } La_s390_64_retval;
1377 extern Elf64_Addr la_s390_64_gnu_pltenter (Elf64_Sym *__sym,
1379 uintptr_t *__refcook,
1380 uintptr_t *__defcook,
1381 La_s390_64_regs *__regs,
1382 unsigned int *__flags,
1383 const char *__symname,
1384 long int *__framesizep);
1385 extern unsigned int la_s390_64_gnu_pltexit (Elf64_Sym *__sym,
1387 uintptr_t *__refcook,
1388 uintptr_t *__defcook,
1389 const La_s390_64_regs *__inregs,
1390 La_s390_64_retval *__outregs,
1391 const char *symname);
1394 # 37 "../elf/link.h" 2
1405 struct link_map_public *r_map;
1422 Elf64_Addr r_ldbase;
1426 extern struct r_debug _r_debug;
1427 # 77 "../elf/link.h"
1428 extern Elf64_Dyn _DYNAMIC[];
1436 struct link_map_public
1444 struct link_map_public *l_next, *l_prev;
1464 LA_SER_LIBPATH = 0x02,
1465 LA_SER_RUNPATH = 0x04,
1466 LA_SER_CONFIG = 0x08,
1467 LA_SER_DEFAULT = 0x40,
1468 LA_SER_SECURE = 0x80
1474 LA_FLG_BINDTO = 0x01,
1475 LA_FLG_BINDFROM = 0x02
1481 LA_SYMB_NOPLTENTER = 0x01,
1482 LA_SYMB_NOPLTEXIT = 0x02,
1483 LA_SYMB_STRUCTCALL = 0x04,
1484 LA_SYMB_DLSYM = 0x08,
1485 LA_SYMB_ALTVALUE = 0x10
1491 Elf64_Addr dlpi_addr;
1492 const char *dlpi_name;
1493 const Elf64_Phdr *dlpi_phdr;
1494 Elf64_Half dlpi_phnum;
1502 unsigned long long int dlpi_adds;
1504 unsigned long long int dlpi_subs;
1508 size_t dlpi_tls_modid;
1513 void *dlpi_tls_data;
1518 extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *,
1526 extern unsigned int la_version (unsigned int __version);
1527 extern void la_activity (uintptr_t *__cookie, unsigned int __flag);
1528 extern char *la_objsearch (const char *__name, uintptr_t *__cookie,
1529 unsigned int __flag);
1530 extern unsigned int la_objopen_wrongproto (struct link_map_public *__map, Lmid_t __lmid,
1531 uintptr_t *__cookie);
1532 extern void la_preinit (uintptr_t *__cookie);
1533 extern uintptr_t la_symbind32 (Elf32_Sym *__sym, unsigned int __ndx,
1534 uintptr_t *__refcook, uintptr_t *__defcook,
1535 unsigned int *__flags, const char *__symname);
1536 extern uintptr_t la_symbind64 (Elf64_Sym *__sym, unsigned int __ndx,
1537 uintptr_t *__refcook, uintptr_t *__defcook,
1538 unsigned int *__flags, const char *__symname);
1539 extern unsigned int la_objclose (uintptr_t *__cookie);
1542 # 34 "../include/link.h" 2
1547 extern unsigned int la_objopen (struct link_map *__map, Lmid_t __lmid,
1548 uintptr_t *__cookie);
1551 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
1552 # 152 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 3 4
1553 typedef long int ptrdiff_t;
1554 # 326 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 3 4
1555 typedef int wchar_t;
1556 # 43 "../include/link.h" 2
1557 # 1 "../sysdeps/s390/bits/linkmap.h" 1
1559 struct link_map_machine
1564 # 44 "../include/link.h" 2
1565 # 1 "../sysdeps/generic/dl-lookupcfg.h" 1
1566 # 45 "../include/link.h" 2
1567 # 1 "../include/tls.h" 1
1573 # 1 "../nptl/sysdeps/s390/tls.h" 1
1574 # 23 "../nptl/sysdeps/s390/tls.h"
1575 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
1576 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
1577 # 1 "../sysdeps/generic/dl-sysdep.h" 1
1578 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
1579 # 24 "../nptl/sysdeps/s390/tls.h" 2
1581 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stdbool.h" 1 3 4
1582 # 26 "../nptl/sysdeps/s390/tls.h" 2
1583 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
1584 # 27 "../nptl/sysdeps/s390/tls.h" 2
1586 # 1 "../include/stdlib.h" 1
1593 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
1594 # 8 "../include/stdlib.h" 2
1595 # 1 "../stdlib/stdlib.h" 1
1596 # 33 "../stdlib/stdlib.h"
1597 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
1598 # 34 "../stdlib/stdlib.h" 2
1607 # 1 "../sysdeps/unix/sysv/linux/bits/waitflags.h" 1
1608 # 43 "../stdlib/stdlib.h" 2
1609 # 1 "../bits/waitstatus.h" 1
1610 # 65 "../bits/waitstatus.h"
1611 # 1 "../include/endian.h" 1
1612 # 66 "../bits/waitstatus.h" 2
1627 unsigned int __w_retcode:8;
1628 unsigned int __w_coredump:1;
1629 unsigned int __w_termsig:7;
1631 } __wait_terminated;
1641 unsigned int __w_stopsig:8;
1642 unsigned int __w_stopval:8;
1646 # 44 "../stdlib/stdlib.h" 2
1647 # 68 "../stdlib/stdlib.h"
1652 } __WAIT_STATUS __attribute__ ((__transparent_union__));
1653 # 96 "../stdlib/stdlib.h"
1676 __extension__ typedef struct
1683 # 140 "../stdlib/stdlib.h"
1684 extern size_t __ctype_get_mb_cur_max (void) __attribute__ ((__nothrow__)) ;
1689 extern double atof (__const char *__nptr)
1690 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1692 extern int atoi (__const char *__nptr)
1693 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1695 extern long int atol (__const char *__nptr)
1696 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1702 __extension__ extern long long int atoll (__const char *__nptr)
1703 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1709 extern double strtod (__const char *__restrict __nptr,
1710 char **__restrict __endptr)
1711 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1717 extern float strtof (__const char *__restrict __nptr,
1718 char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1720 extern long double strtold (__const char *__restrict __nptr,
1721 char **__restrict __endptr)
1722 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1728 extern long int strtol (__const char *__restrict __nptr,
1729 char **__restrict __endptr, int __base)
1730 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1732 extern unsigned long int strtoul (__const char *__restrict __nptr,
1733 char **__restrict __endptr, int __base)
1734 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1740 extern long long int strtoq (__const char *__restrict __nptr,
1741 char **__restrict __endptr, int __base)
1742 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1745 extern unsigned long long int strtouq (__const char *__restrict __nptr,
1746 char **__restrict __endptr, int __base)
1747 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1754 extern long long int strtoll (__const char *__restrict __nptr,
1755 char **__restrict __endptr, int __base)
1756 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1759 extern unsigned long long int strtoull (__const char *__restrict __nptr,
1760 char **__restrict __endptr, int __base)
1761 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1763 # 236 "../stdlib/stdlib.h"
1764 # 1 "../include/xlocale.h" 1
1765 # 1 "../locale/xlocale.h" 1
1766 # 28 "../locale/xlocale.h"
1767 typedef struct __locale_struct
1770 struct locale_data *__locales[13];
1773 const unsigned short int *__ctype_b;
1774 const int *__ctype_tolower;
1775 const int *__ctype_toupper;
1778 const char *__names[13];
1780 # 1 "../include/xlocale.h" 2
1781 # 237 "../stdlib/stdlib.h" 2
1785 extern long int strtol_l (__const char *__restrict __nptr,
1786 char **__restrict __endptr, int __base,
1787 __locale_t __loc) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
1789 extern unsigned long int strtoul_l (__const char *__restrict __nptr,
1790 char **__restrict __endptr,
1791 int __base, __locale_t __loc)
1792 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
1795 extern long long int strtoll_l (__const char *__restrict __nptr,
1796 char **__restrict __endptr, int __base,
1798 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
1801 extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
1802 char **__restrict __endptr,
1803 int __base, __locale_t __loc)
1804 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 4))) ;
1806 extern double strtod_l (__const char *__restrict __nptr,
1807 char **__restrict __endptr, __locale_t __loc)
1808 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
1810 extern float strtof_l (__const char *__restrict __nptr,
1811 char **__restrict __endptr, __locale_t __loc)
1812 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
1814 extern long double strtold_l (__const char *__restrict __nptr,
1815 char **__restrict __endptr,
1817 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
1824 extern double __strtod_internal (__const char *__restrict __nptr,
1825 char **__restrict __endptr, int __group)
1826 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1827 extern float __strtof_internal (__const char *__restrict __nptr,
1828 char **__restrict __endptr, int __group)
1829 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1830 extern long double __strtold_internal (__const char *__restrict __nptr,
1831 char **__restrict __endptr,
1833 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1835 extern long int __strtol_internal (__const char *__restrict __nptr,
1836 char **__restrict __endptr,
1837 int __base, int __group)
1838 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1842 extern unsigned long int __strtoul_internal (__const char *__restrict __nptr,
1843 char **__restrict __endptr,
1844 int __base, int __group)
1845 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1851 extern long long int __strtoll_internal (__const char *__restrict __nptr,
1852 char **__restrict __endptr,
1853 int __base, int __group)
1854 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1859 extern unsigned long long int __strtoull_internal (__const char *
1861 char **__restrict __endptr,
1862 int __base, int __group)
1863 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1872 extern __inline double
1873 __attribute__ ((__nothrow__)) strtod (__const char *__restrict __nptr, char **__restrict __endptr)
1875 return __strtod_internal (__nptr, __endptr, 0);
1877 extern __inline long int
1878 __attribute__ ((__nothrow__)) strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1881 return __strtol_internal (__nptr, __endptr, __base, 0);
1883 extern __inline unsigned long int
1884 __attribute__ ((__nothrow__)) strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1887 return __strtoul_internal (__nptr, __endptr, __base, 0);
1893 extern __inline float
1894 __attribute__ ((__nothrow__)) strtof (__const char *__restrict __nptr, char **__restrict __endptr)
1896 return __strtof_internal (__nptr, __endptr, 0);
1899 extern __inline long double
1900 __attribute__ ((__nothrow__)) strtold (__const char *__restrict __nptr, char **__restrict __endptr)
1902 return __strtold_internal (__nptr, __endptr, 0);
1909 __extension__ extern __inline long long int
1910 __attribute__ ((__nothrow__)) strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1913 return __strtoll_internal (__nptr, __endptr, __base, 0);
1915 __extension__ extern __inline unsigned long long int
1916 __attribute__ ((__nothrow__)) strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1919 return __strtoull_internal (__nptr, __endptr, __base, 0);
1925 __extension__ extern __inline long long int
1926 __attribute__ ((__nothrow__)) strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base)
1929 return __strtoll_internal (__nptr, __endptr, __base, 0);
1931 __extension__ extern __inline unsigned long long int
1932 __attribute__ ((__nothrow__)) strtoull (__const char * __restrict __nptr, char **__restrict __endptr, int __base)
1935 return __strtoull_internal (__nptr, __endptr, __base, 0);
1941 extern __inline double
1942 __attribute__ ((__nothrow__)) atof (__const char *__nptr)
1944 return strtod (__nptr, (char **) ((void *)0));
1947 __attribute__ ((__nothrow__)) atoi (__const char *__nptr)
1949 return (int) strtol (__nptr, (char **) ((void *)0), 10);
1951 extern __inline long int
1952 __attribute__ ((__nothrow__)) atol (__const char *__nptr)
1954 return strtol (__nptr, (char **) ((void *)0), 10);
1960 __extension__ extern __inline long long int
1961 __attribute__ ((__nothrow__)) atoll (__const char *__nptr)
1963 return strtoll (__nptr, (char **) ((void *)0), 10);
1966 # 429 "../stdlib/stdlib.h"
1967 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
1970 extern long int a64l (__const char *__s)
1971 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1976 # 1 "../include/sys/types.h" 1
1977 # 439 "../stdlib/stdlib.h" 2
1984 extern long int random (void) __attribute__ ((__nothrow__));
1987 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
1993 extern char *initstate (unsigned int __seed, char *__statebuf,
1994 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
1998 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2017 extern int random_r (struct random_data *__restrict __buf,
2018 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2020 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
2021 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2023 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
2025 struct random_data *__restrict __buf)
2026 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
2028 extern int setstate_r (char *__restrict __statebuf,
2029 struct random_data *__restrict __buf)
2030 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2037 extern int rand (void) __attribute__ ((__nothrow__));
2039 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
2044 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
2052 extern double drand48 (void) __attribute__ ((__nothrow__));
2053 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2056 extern long int lrand48 (void) __attribute__ ((__nothrow__));
2057 extern long int nrand48 (unsigned short int __xsubi[3])
2058 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2061 extern long int mrand48 (void) __attribute__ ((__nothrow__));
2062 extern long int jrand48 (unsigned short int __xsubi[3])
2063 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2066 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
2067 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
2068 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2069 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2077 unsigned short int __x[3];
2078 unsigned short int __old_x[3];
2079 unsigned short int __c;
2080 unsigned short int __init;
2081 unsigned long long int __a;
2085 extern int drand48_r (struct drand48_data *__restrict __buffer,
2086 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2087 extern int erand48_r (unsigned short int __xsubi[3],
2088 struct drand48_data *__restrict __buffer,
2089 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2092 extern int lrand48_r (struct drand48_data *__restrict __buffer,
2093 long int *__restrict __result)
2094 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2095 extern int nrand48_r (unsigned short int __xsubi[3],
2096 struct drand48_data *__restrict __buffer,
2097 long int *__restrict __result)
2098 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2101 extern int mrand48_r (struct drand48_data *__restrict __buffer,
2102 long int *__restrict __result)
2103 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2104 extern int jrand48_r (unsigned short int __xsubi[3],
2105 struct drand48_data *__restrict __buffer,
2106 long int *__restrict __result)
2107 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2110 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
2111 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2113 extern int seed48_r (unsigned short int __seed16v[3],
2114 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2116 extern int lcong48_r (unsigned short int __param[7],
2117 struct drand48_data *__buffer)
2118 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2128 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2130 extern void *calloc (size_t __nmemb, size_t __size)
2131 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2139 extern void *realloc (void *__ptr, size_t __size)
2140 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
2142 extern void free (void *__ptr) __attribute__ ((__nothrow__));
2147 extern void cfree (void *__ptr) __attribute__ ((__nothrow__));
2151 # 1 "../include/alloca.h" 1
2154 # 1 "../stdlib/alloca.h" 1
2155 # 25 "../stdlib/alloca.h"
2156 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
2157 # 26 "../stdlib/alloca.h" 2
2165 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
2172 # 4 "../include/alloca.h" 2
2173 # 1 "../sysdeps/s390/stackinfo.h" 1
2174 # 5 "../include/alloca.h" 2
2179 extern void *__alloca (size_t __size);
2185 extern int __libc_use_alloca (size_t size) __attribute__ ((const));
2186 extern int __libc_alloca_cutoff (size_t size) __attribute__ ((const));
2190 # 1 "../nptl/sysdeps/pthread/allocalim.h" 1
2191 # 20 "../nptl/sysdeps/pthread/allocalim.h"
2192 # 1 "../include/alloca.h" 1
2193 # 21 "../nptl/sysdeps/pthread/allocalim.h" 2
2194 # 1 "../include/limits.h" 1
2195 # 125 "../include/limits.h"
2196 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/limits.h" 1 3 4
2197 # 126 "../include/limits.h" 2
2198 # 145 "../include/limits.h"
2199 # 1 "../include/bits/posix1_lim.h" 1
2200 # 1 "../posix/bits/posix1_lim.h" 1
2201 # 153 "../posix/bits/posix1_lim.h"
2202 # 1 "../nptl/sysdeps/unix/sysv/linux/bits/local_lim.h" 1
2203 # 36 "../nptl/sysdeps/unix/sysv/linux/bits/local_lim.h"
2204 # 1 "/usr/include/linux/limits.h" 1 3 4
2205 # 37 "../nptl/sysdeps/unix/sysv/linux/bits/local_lim.h" 2
2206 # 154 "../posix/bits/posix1_lim.h" 2
2207 # 1 "../include/bits/posix1_lim.h" 2
2208 # 146 "../include/limits.h" 2
2212 # 1 "../include/bits/posix2_lim.h" 1
2213 # 1 "../posix/bits/posix2_lim.h" 1
2214 # 1 "../include/bits/posix2_lim.h" 2
2215 # 150 "../include/limits.h" 2
2219 # 1 "../include/bits/xopen_lim.h" 1
2220 # 34 "../include/bits/xopen_lim.h"
2221 # 1 "/var/tmp/portage/sys-libs/glibc-2.4-r4/work/build-default-s390x-ibm-linux-gnu-nptl/bits/stdio_lim.h" 1
2222 # 35 "../include/bits/xopen_lim.h" 2
2223 # 154 "../include/limits.h" 2
2224 # 22 "../nptl/sysdeps/pthread/allocalim.h" 2
2228 __libc_use_alloca (size_t size)
2230 return (__builtin_expect (size <= 16384 / 4, 1)
2231 || __libc_alloca_cutoff (size));
2233 # 21 "../include/alloca.h" 2
2234 # 613 "../stdlib/stdlib.h" 2
2239 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2244 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
2245 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2250 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2254 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2260 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
2261 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2268 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2275 extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2282 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2287 extern char *__secure_getenv (__const char *__name)
2288 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2294 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2300 extern int setenv (__const char *__name, __const char *__value, int __replace)
2301 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2304 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
2311 extern int clearenv (void) __attribute__ ((__nothrow__));
2312 # 698 "../stdlib/stdlib.h"
2313 extern char *mktemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2314 # 709 "../stdlib/stdlib.h"
2315 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
2316 # 719 "../stdlib/stdlib.h"
2317 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
2318 # 729 "../stdlib/stdlib.h"
2319 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2328 extern int system (__const char *__command) ;
2336 extern char *canonicalize_file_name (__const char *__name)
2337 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2338 # 757 "../stdlib/stdlib.h"
2339 extern char *realpath (__const char *__restrict __name,
2340 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
2347 typedef int (*__compar_fn_t) (__const void *, __const void *);
2350 typedef __compar_fn_t comparison_fn_t;
2357 extern void *bsearch (__const void *__key, __const void *__base,
2358 size_t __nmemb, size_t __size, __compar_fn_t __compar)
2359 __attribute__ ((__nonnull__ (1, 2, 5))) ;
2363 extern void qsort (void *__base, size_t __nmemb, size_t __size,
2364 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
2368 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2369 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2373 __extension__ extern long long int llabs (long long int __x)
2374 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2382 extern div_t div (int __numer, int __denom)
2383 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2384 extern ldiv_t ldiv (long int __numer, long int __denom)
2385 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2390 __extension__ extern lldiv_t lldiv (long long int __numer,
2391 long long int __denom)
2392 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2394 # 822 "../stdlib/stdlib.h"
2395 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
2396 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2401 extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
2402 int *__restrict __sign) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2407 extern char *gcvt (double __value, int __ndigit, char *__buf)
2408 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
2413 extern char *qecvt (long double __value, int __ndigit,
2414 int *__restrict __decpt, int *__restrict __sign)
2415 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2416 extern char *qfcvt (long double __value, int __ndigit,
2417 int *__restrict __decpt, int *__restrict __sign)
2418 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4))) ;
2419 extern char *qgcvt (long double __value, int __ndigit, char *__buf)
2420 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3))) ;
2425 extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
2426 int *__restrict __sign, char *__restrict __buf,
2427 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2428 extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
2429 int *__restrict __sign, char *__restrict __buf,
2430 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2432 extern int qecvt_r (long double __value, int __ndigit,
2433 int *__restrict __decpt, int *__restrict __sign,
2434 char *__restrict __buf, size_t __len)
2435 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2436 extern int qfcvt_r (long double __value, int __ndigit,
2437 int *__restrict __decpt, int *__restrict __sign,
2438 char *__restrict __buf, size_t __len)
2439 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4, 5)));
2447 extern int mblen (__const char *__s, size_t __n) __attribute__ ((__nothrow__)) ;
2450 extern int mbtowc (wchar_t *__restrict __pwc,
2451 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__)) ;
2454 extern int wctomb (char *__s, wchar_t __wchar) __attribute__ ((__nothrow__)) ;
2458 extern size_t mbstowcs (wchar_t *__restrict __pwcs,
2459 __const char *__restrict __s, size_t __n) __attribute__ ((__nothrow__));
2461 extern size_t wcstombs (char *__restrict __s,
2462 __const wchar_t *__restrict __pwcs, size_t __n)
2463 __attribute__ ((__nothrow__));
2472 extern int rpmatch (__const char *__response) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2473 # 910 "../stdlib/stdlib.h"
2474 extern int getsubopt (char **__restrict __optionp,
2475 char *__const *__restrict __tokens,
2476 char **__restrict __valuep)
2477 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
2483 extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2491 extern int posix_openpt (int __oflag) ;
2499 extern int grantpt (int __fd) __attribute__ ((__nothrow__));
2503 extern int unlockpt (int __fd) __attribute__ ((__nothrow__));
2508 extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ;
2515 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
2516 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2519 extern int getpt (void);
2526 extern int getloadavg (double __loadavg[], int __nelem)
2527 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2528 # 978 "../stdlib/stdlib.h"
2530 # 9 "../include/stdlib.h" 2
2537 extern __typeof (strtol_l) __strtol_l;
2538 extern __typeof (strtoul_l) __strtoul_l;
2539 extern __typeof (strtoll_l) __strtoll_l;
2540 extern __typeof (strtoull_l) __strtoull_l;
2541 extern __typeof (strtod_l) __strtod_l;
2542 extern __typeof (strtof_l) __strtof_l;
2543 extern __typeof (strtold_l) __strtold_l;
2561 extern long int __random (void);
2562 extern void __srandom (unsigned int __seed);
2563 extern char *__initstate (unsigned int __seed, char *__statebuf,
2565 extern char *__setstate (char *__statebuf);
2566 extern int __random_r (struct random_data *__buf, int32_t *__result);
2567 extern int __srandom_r (unsigned int __seed, struct random_data *__buf);
2568 extern int __initstate_r (unsigned int __seed, char *__statebuf,
2569 size_t __statelen, struct random_data *__buf);
2570 extern int __setstate_r (char *__statebuf, struct random_data *__buf);
2571 extern int __rand_r (unsigned int *__seed);
2572 extern int __erand48_r (unsigned short int __xsubi[3],
2573 struct drand48_data *__buffer, double *__result);
2574 extern int __nrand48_r (unsigned short int __xsubi[3],
2575 struct drand48_data *__buffer,
2576 long int *__result);
2577 extern int __jrand48_r (unsigned short int __xsubi[3],
2578 struct drand48_data *__buffer,
2579 long int *__result);
2580 extern int __srand48_r (long int __seedval,
2581 struct drand48_data *__buffer);
2582 extern int __seed48_r (unsigned short int __seed16v[3],
2583 struct drand48_data *__buffer);
2584 extern int __lcong48_r (unsigned short int __param[7],
2585 struct drand48_data *__buffer);
2588 extern int __drand48_iterate (unsigned short int __xsubi[3],
2589 struct drand48_data *__buffer);
2592 extern struct drand48_data __libc_drand48_data __attribute__ ((visibility ("hidden")));
2594 extern int __setenv (__const char *__name, __const char *__value,
2596 extern int __unsetenv (__const char *__name);
2597 extern int __clearenv (void);
2598 extern char *__canonicalize_file_name (__const char *__name);
2599 extern char *__realpath (__const char *__name, char *__resolved);
2600 extern int __ptsname_r (int __fd, char *__buf, size_t __buflen);
2601 extern int __getpt (void);
2602 extern int __posix_openpt (int __oflag);
2604 extern int __add_to_environ (const char *name, const char *value,
2605 const char *combines, int replace);
2607 extern void _quicksort (void *const pbase, size_t total_elems,
2608 size_t size, __compar_fn_t cmp);
2610 extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg);
2612 extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
2613 extern int __cxa_atexit_internal (void (*func) (void *), void *arg, void *d)
2614 __attribute__ ((visibility ("hidden")));
2616 extern void __cxa_finalize (void *d);
2618 extern int __posix_memalign (void **memptr, size_t alignment, size_t size);
2620 extern void *__libc_memalign (size_t alignment, size_t size)
2621 __attribute__ ((__malloc__));
2623 extern int __libc_system (const char *line);
2625 extern double ____strtod_l_internal (__const char *__restrict __nptr,
2626 char **__restrict __endptr, int __group,
2628 extern float ____strtof_l_internal (__const char *__restrict __nptr,
2629 char **__restrict __endptr, int __group,
2631 extern long double ____strtold_l_internal (__const char *__restrict __nptr,
2632 char **__restrict __endptr,
2633 int __group, __locale_t __loc);
2634 extern long int ____strtol_l_internal (__const char *__restrict __nptr,
2635 char **__restrict __endptr,
2636 int __base, int __group,
2638 extern unsigned long int ____strtoul_l_internal (__const char *
2640 char **__restrict __endptr,
2641 int __base, int __group,
2644 extern long long int ____strtoll_l_internal (__const char *__restrict __nptr,
2645 char **__restrict __endptr,
2646 int __base, int __group,
2649 extern unsigned long long int ____strtoull_l_internal (__const char *
2652 __restrict __endptr,
2653 int __base, int __group,
2664 extern __inline double
2665 __attribute__ ((__nothrow__)) __strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc)
2668 return ____strtod_l_internal (__nptr, __endptr, 0, __loc);
2670 extern __inline long int
2671 __attribute__ ((__nothrow__)) __strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc)
2674 return ____strtol_l_internal (__nptr, __endptr, __base, 0, __loc);
2676 extern __inline unsigned long int
2677 __attribute__ ((__nothrow__)) __strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc)
2680 return ____strtoul_l_internal (__nptr, __endptr, __base, 0, __loc);
2682 extern __inline float
2683 __attribute__ ((__nothrow__)) __strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc)
2686 return ____strtof_l_internal (__nptr, __endptr, 0, __loc);
2688 extern __inline long double
2689 __attribute__ ((__nothrow__)) __strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc)
2692 return ____strtold_l_internal (__nptr, __endptr, 0, __loc);
2694 __extension__ extern __inline long long int
2695 __attribute__ ((__nothrow__)) __strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc)
2698 return ____strtoll_l_internal (__nptr, __endptr, __base, 0, __loc);
2700 __extension__ extern __inline unsigned long long int
2701 __attribute__ ((__nothrow__)) __strtoull_l (__const char * __restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc)
2704 return ____strtoull_l_internal (__nptr, __endptr, __base, 0, __loc);
2707 extern char *__ecvt (double __value, int __ndigit, int *__restrict __decpt,
2708 int *__restrict __sign);
2709 extern char *__fcvt (double __value, int __ndigit, int *__restrict __decpt,
2710 int *__restrict __sign);
2711 extern char *__gcvt (double __value, int __ndigit, char *__buf);
2712 extern int __ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
2713 int *__restrict __sign, char *__restrict __buf,
2715 extern int __fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
2716 int *__restrict __sign, char *__restrict __buf,
2718 extern char *__qecvt (long double __value, int __ndigit,
2719 int *__restrict __decpt, int *__restrict __sign);
2720 extern char *__qfcvt (long double __value, int __ndigit,
2721 int *__restrict __decpt, int *__restrict __sign);
2722 extern char *__qgcvt (long double __value, int __ndigit, char *__buf);
2723 extern int __qecvt_r (long double __value, int __ndigit,
2724 int *__restrict __decpt, int *__restrict __sign,
2725 char *__restrict __buf, size_t __len);
2726 extern int __qfcvt_r (long double __value, int __ndigit,
2727 int *__restrict __decpt, int *__restrict __sign,
2728 char *__restrict __buf, size_t __len);
2729 # 217 "../include/stdlib.h"
2730 extern void *__default_morecore (ptrdiff_t) __attribute__ ((__nothrow__));
2734 # 29 "../nptl/sysdeps/s390/tls.h" 2
2735 # 1 "../nptl/sysdeps/pthread/list.h" 1
2736 # 29 "../nptl/sysdeps/pthread/list.h"
2737 typedef struct list_head
2739 struct list_head *next;
2740 struct list_head *prev;
2742 # 46 "../nptl/sysdeps/pthread/list.h"
2744 list_add (list_t *newp, list_t *head)
2746 head->next->prev = newp;
2747 newp->next = head->next;
2755 list_add_tail (list_t *newp, list_t *head)
2757 head->prev->next = newp;
2759 newp->prev = head->prev;
2766 list_del (list_t *elem)
2768 elem->next->prev = elem->prev;
2769 elem->prev->next = elem->next;
2775 list_splice (list_t *add, list_t *head)
2778 if (add != add->next)
2780 add->next->prev = head;
2781 add->prev->next = head->next;
2782 head->next->prev = add->prev;
2783 head->next = add->next;
2786 # 30 "../nptl/sysdeps/s390/tls.h" 2
2807 int multiple_threads;
2809 uintptr_t stack_guard;
2811 # 78 "../nptl/sysdeps/s390/tls.h"
2812 # 1 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h" 1
2813 # 25 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h"
2814 # 1 "../sysdeps/s390/s390-64/sysdep.h" 1
2815 # 21 "../sysdeps/s390/s390-64/sysdep.h"
2816 # 1 "../sysdeps/generic/sysdep.h" 1
2817 # 22 "../sysdeps/s390/s390-64/sysdep.h" 2
2818 # 26 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h" 2
2819 # 1 "../sysdeps/unix/sysdep.h" 1
2820 # 19 "../sysdeps/unix/sysdep.h"
2821 # 1 "../sysdeps/generic/sysdep.h" 1
2822 # 20 "../sysdeps/unix/sysdep.h" 2
2824 # 1 "../sysdeps/unix/sysv/linux/sys/syscall.h" 1
2825 # 25 "../sysdeps/unix/sysv/linux/sys/syscall.h"
2826 # 1 "/usr/include/asm/unistd.h" 1 3 4
2827 # 26 "../sysdeps/unix/sysv/linux/sys/syscall.h" 2
2828 # 22 "../sysdeps/unix/sysdep.h" 2
2829 # 27 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h" 2
2830 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
2831 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
2832 # 1 "../sysdeps/generic/dl-sysdep.h" 1
2833 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
2834 # 28 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h" 2
2835 # 1 "../include/tls.h" 1
2836 # 29 "../sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h" 2
2837 # 79 "../nptl/sysdeps/s390/tls.h" 2
2840 # 1 "../nptl/descr.h" 1
2841 # 23 "../nptl/descr.h"
2842 # 1 "../include/limits.h" 1
2843 # 145 "../include/limits.h"
2844 # 1 "../include/bits/posix1_lim.h" 1
2845 # 146 "../include/limits.h" 2
2849 # 1 "../include/bits/posix2_lim.h" 1
2850 # 150 "../include/limits.h" 2
2851 # 24 "../nptl/descr.h" 2
2852 # 1 "../include/sched.h" 1
2854 # 1 "../posix/sched.h" 1
2855 # 29 "../posix/sched.h"
2856 # 1 "../include/time.h" 1
2859 # 1 "../time/time.h" 1
2860 # 4 "../include/time.h" 2
2861 # 30 "../posix/sched.h" 2
2864 # 1 "../sysdeps/unix/sysv/linux/bits/sched.h" 1
2865 # 65 "../sysdeps/unix/sysv/linux/bits/sched.h"
2868 int __sched_priority;
2875 extern int clone (int (*__fn) (void *__arg), void *__child_stack,
2876 int __flags, void *__arg, ...) __attribute__ ((__nothrow__));
2879 extern int unshare (int __flags) __attribute__ ((__nothrow__));
2890 struct __sched_param
2892 int __sched_priority;
2894 # 104 "../sysdeps/unix/sysv/linux/bits/sched.h"
2895 typedef unsigned long int __cpu_mask;
2904 __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
2906 # 33 "../posix/sched.h" 2
2914 extern int sched_setparam (__pid_t __pid, __const struct sched_param *__param)
2915 __attribute__ ((__nothrow__));
2918 extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __attribute__ ((__nothrow__));
2921 extern int sched_setscheduler (__pid_t __pid, int __policy,
2922 __const struct sched_param *__param) __attribute__ ((__nothrow__));
2925 extern int sched_getscheduler (__pid_t __pid) __attribute__ ((__nothrow__));
2928 extern int sched_yield (void) __attribute__ ((__nothrow__));
2931 extern int sched_get_priority_max (int __algorithm) __attribute__ ((__nothrow__));
2934 extern int sched_get_priority_min (int __algorithm) __attribute__ ((__nothrow__));
2937 extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __attribute__ ((__nothrow__));
2938 # 76 "../posix/sched.h"
2939 extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
2940 __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
2943 extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
2944 cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
2948 # 3 "../include/sched.h" 2
2951 extern int __sched_setparam (__pid_t __pid,
2952 __const struct sched_param *__param);
2953 extern int __sched_getparam (__pid_t __pid, struct sched_param *__param);
2954 extern int __sched_setscheduler (__pid_t __pid, int __policy,
2955 __const struct sched_param *__param);
2957 extern int __sched_getscheduler (__pid_t __pid);
2958 extern int __sched_yield (void);
2960 extern int __sched_get_priority_max (int __algorithm);
2961 extern int __sched_get_priority_min (int __algorithm);
2962 extern int __sched_rr_get_interval (__pid_t __pid, struct timespec *__t);
2965 extern int __clone (int (*__fn) (void *__arg), void *__child_stack,
2966 int __flags, void *__arg, ...);
2967 extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
2968 size_t __child_stack_size, int __flags, void *__arg, ...);
2969 # 25 "../nptl/descr.h" 2
2970 # 1 "../include/setjmp.h" 1
2972 # 1 "../setjmp/setjmp.h" 1
2973 # 28 "../setjmp/setjmp.h"
2976 # 1 "../sysdeps/s390/bits/setjmp.h" 1
2977 # 28 "../sysdeps/s390/bits/setjmp.h"
2978 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
2979 # 29 "../sysdeps/s390/bits/setjmp.h" 2
2983 typedef struct __s390_jmp_buf
2986 long int __gregs[10];
2996 # 31 "../setjmp/setjmp.h" 2
2997 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1
2998 # 32 "../setjmp/setjmp.h" 2
3003 typedef struct __jmp_buf_tag
3010 int __mask_was_saved;
3011 __sigset_t __saved_mask;
3017 extern int setjmp (jmp_buf __env) __attribute__ ((__nothrow__));
3025 extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __attribute__ ((__nothrow__));
3030 extern int _setjmp (struct __jmp_buf_tag __env[1]) __attribute__ ((__nothrow__));
3031 # 76 "../setjmp/setjmp.h"
3036 extern void longjmp (struct __jmp_buf_tag __env[1], int __val)
3037 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3045 extern void _longjmp (struct __jmp_buf_tag __env[1], int __val)
3046 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3054 typedef struct __jmp_buf_tag sigjmp_buf[1];
3055 # 108 "../setjmp/setjmp.h"
3056 extern void siglongjmp (sigjmp_buf __env, int __val)
3057 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
3061 # 3 "../include/setjmp.h" 2
3066 extern void __longjmp (__jmp_buf __env, int __val)
3067 __attribute__ ((__noreturn__));
3073 extern int __sigjmp_save (jmp_buf __env, int __savemask);
3075 extern void _longjmp_unwind (jmp_buf env, int val);
3077 extern void __libc_siglongjmp (sigjmp_buf env, int val)
3078 __attribute__ ((noreturn));
3079 extern void __libc_longjmp (sigjmp_buf env, int val)
3080 __attribute__ ((noreturn));
3085 # 26 "../nptl/descr.h" 2
3087 # 1 "../include/sys/types.h" 1
3088 # 28 "../nptl/descr.h" 2
3089 # 1 "../sysdeps/generic/hp-timing.h" 1
3090 # 71 "../sysdeps/generic/hp-timing.h"
3091 typedef int hp_timing_t;
3092 # 29 "../nptl/descr.h" 2
3094 # 1 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h" 1
3095 # 23 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3096 # 1 "../include/time.h" 1
3101 # 1 "../time/time.h" 1
3102 # 31 "../time/time.h"
3111 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
3112 # 40 "../time/time.h" 2
3116 # 1 "../bits/time.h" 1
3117 # 44 "../time/time.h" 2
3118 # 132 "../time/time.h"
3135 __const char *tm_zone;
3151 struct timespec it_interval;
3152 struct timespec it_value;
3157 # 181 "../time/time.h"
3161 extern clock_t clock (void) __attribute__ ((__nothrow__));
3164 extern time_t time (time_t *__timer) __attribute__ ((__nothrow__));
3167 extern double difftime (time_t __time1, time_t __time0)
3168 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3171 extern time_t mktime (struct tm *__tp) __attribute__ ((__nothrow__));
3177 extern size_t strftime (char *__restrict __s, size_t __maxsize,
3178 __const char *__restrict __format,
3179 __const struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3185 extern char *strptime (__const char *__restrict __s,
3186 __const char *__restrict __fmt, struct tm *__tp)
3187 __attribute__ ((__nothrow__));
3193 # 1 "../include/xlocale.h" 1
3194 # 217 "../time/time.h" 2
3196 extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
3197 __const char *__restrict __format,
3198 __const struct tm *__restrict __tp,
3199 __locale_t __loc) __attribute__ ((__nothrow__));
3201 extern char *strptime_l (__const char *__restrict __s,
3202 __const char *__restrict __fmt, struct tm *__tp,
3203 __locale_t __loc) __attribute__ ((__nothrow__));
3210 extern struct tm *gmtime (__const time_t *__timer) __attribute__ ((__nothrow__));
3214 extern struct tm *localtime (__const time_t *__timer) __attribute__ ((__nothrow__));
3220 extern struct tm *gmtime_r (__const time_t *__restrict __timer,
3221 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3225 extern struct tm *localtime_r (__const time_t *__restrict __timer,
3226 struct tm *__restrict __tp) __attribute__ ((__nothrow__));
3232 extern char *asctime (__const struct tm *__tp) __attribute__ ((__nothrow__));
3235 extern char *ctime (__const time_t *__timer) __attribute__ ((__nothrow__));
3243 extern char *asctime_r (__const struct tm *__restrict __tp,
3244 char *__restrict __buf) __attribute__ ((__nothrow__));
3247 extern char *ctime_r (__const time_t *__restrict __timer,
3248 char *__restrict __buf) __attribute__ ((__nothrow__));
3253 extern char *__tzname[2];
3254 extern int __daylight;
3255 extern long int __timezone;
3260 extern char *tzname[2];
3264 extern void tzset (void) __attribute__ ((__nothrow__));
3268 extern int daylight;
3269 extern long int timezone;
3275 extern int stime (__const time_t *__when) __attribute__ ((__nothrow__));
3276 # 312 "../time/time.h"
3277 extern time_t timegm (struct tm *__tp) __attribute__ ((__nothrow__));
3280 extern time_t timelocal (struct tm *__tp) __attribute__ ((__nothrow__));
3283 extern int dysize (int __year) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3284 # 327 "../time/time.h"
3285 extern int nanosleep (__const struct timespec *__requested_time,
3286 struct timespec *__remaining);
3290 extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __attribute__ ((__nothrow__));
3293 extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) __attribute__ ((__nothrow__));
3296 extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp)
3297 __attribute__ ((__nothrow__));
3304 extern int clock_nanosleep (clockid_t __clock_id, int __flags,
3305 __const struct timespec *__req,
3306 struct timespec *__rem);
3309 extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __attribute__ ((__nothrow__));
3314 extern int timer_create (clockid_t __clock_id,
3315 struct sigevent *__restrict __evp,
3316 timer_t *__restrict __timerid) __attribute__ ((__nothrow__));
3319 extern int timer_delete (timer_t __timerid) __attribute__ ((__nothrow__));
3322 extern int timer_settime (timer_t __timerid, int __flags,
3323 __const struct itimerspec *__restrict __value,
3324 struct itimerspec *__restrict __ovalue) __attribute__ ((__nothrow__));
3327 extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
3328 __attribute__ ((__nothrow__));
3331 extern int timer_getoverrun (timer_t __timerid) __attribute__ ((__nothrow__));
3332 # 389 "../time/time.h"
3333 extern int getdate_err;
3334 # 398 "../time/time.h"
3335 extern struct tm *getdate (__const char *__string);
3336 # 412 "../time/time.h"
3337 extern int getdate_r (__const char *__restrict __string,
3338 struct tm *__restrict __resbufp);
3342 # 6 "../include/time.h" 2
3343 # 1 "../include/xlocale.h" 1
3344 # 7 "../include/time.h" 2
3348 extern __typeof (strftime_l) __strftime_l;
3350 extern __typeof (strptime_l) __strptime_l;
3366 extern const unsigned short int __mon_yday[2][13] __attribute__ ((visibility ("hidden")));
3369 extern struct tm _tmbuf __attribute__ ((visibility ("hidden")));
3372 extern char *__tzstring (const char *string);
3375 extern size_t __tzname_cur_max __attribute__ ((visibility ("hidden")));
3378 extern int __use_tzfile __attribute__ ((visibility ("hidden")));
3380 extern void __tzfile_read (const char *file, size_t extra,
3382 extern void __tzfile_compute (time_t timer, int use_localtime,
3383 long int *leap_correct, int *leap_hit,
3385 extern void __tzfile_default (const char *std, const char *dst,
3386 long int stdoff, long int dstoff);
3391 extern time_t __mktime_internal (struct tm *__tp,
3392 struct tm *(*__func) (const time_t *,
3395 extern struct tm *__localtime_r (__const time_t *__timer,
3396 struct tm *__tp) __attribute__ ((visibility ("hidden")));
3398 extern struct tm *__gmtime_r (__const time_t *__restrict __timer,
3399 struct tm *__restrict __tp);
3406 extern int __offtime (__const time_t *__timer,
3410 extern char *__asctime_r (__const struct tm *__tp, char *__buf);
3411 extern void __tzset (void);
3414 extern struct tm *__tz_convert (const time_t *timer, int use_localtime, struct tm *tp);
3418 extern long int __tzname_max (void);
3420 extern int __nanosleep (__const struct timespec *__requested_time,
3421 struct timespec *__remaining);
3423 extern int __getdate_r (__const char *__string, struct tm *__resbufp);
3427 extern int __getclktck (void);
3434 enum ptime_locale_status { not, loc, raw };
3436 extern char * __strptime_internal (const char *rp, const char *fmt,
3438 enum ptime_locale_status *decided,
3439 int era_cnt, __locale_t locparam)
3443 extern double __difftime (time_t time1, time_t time0);
3444 # 114 "../include/time.h"
3446 # 24 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h" 2
3447 # 1 "../sysdeps/unix/sysv/linux/sys/param.h" 1
3448 # 22 "../sysdeps/unix/sysv/linux/sys/param.h"
3449 # 1 "../include/limits.h" 1
3450 # 145 "../include/limits.h"
3451 # 1 "../include/bits/posix1_lim.h" 1
3452 # 146 "../include/limits.h" 2
3456 # 1 "../include/bits/posix2_lim.h" 1
3457 # 150 "../include/limits.h" 2
3458 # 23 "../sysdeps/unix/sysv/linux/sys/param.h" 2
3460 # 1 "/usr/include/linux/param.h" 1 3 4
3464 # 1 "/usr/include/asm/param.h" 1 3 4
3465 # 5 "/usr/include/linux/param.h" 2 3 4
3466 # 25 "../sysdeps/unix/sysv/linux/sys/param.h" 2
3467 # 42 "../sysdeps/unix/sysv/linux/sys/param.h"
3468 # 1 "../include/sys/types.h" 1
3469 # 43 "../sysdeps/unix/sysv/linux/sys/param.h" 2
3470 # 25 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h" 2
3472 # 1 "../include/atomic.h" 1
3473 # 26 "../include/atomic.h"
3474 # 1 "../sysdeps/s390/bits/atomic.h" 1
3475 # 22 "../sysdeps/s390/bits/atomic.h"
3476 typedef int8_t atomic8_t;
3477 typedef uint8_t uatomic8_t;
3478 typedef int_fast8_t atomic_fast8_t;
3479 typedef uint_fast8_t uatomic_fast8_t;
3481 typedef int16_t atomic16_t;
3482 typedef uint16_t uatomic16_t;
3483 typedef int_fast16_t atomic_fast16_t;
3484 typedef uint_fast16_t uatomic_fast16_t;
3486 typedef int32_t atomic32_t;
3487 typedef uint32_t uatomic32_t;
3488 typedef int_fast32_t atomic_fast32_t;
3489 typedef uint_fast32_t uatomic_fast32_t;
3491 typedef int64_t atomic64_t;
3492 typedef uint64_t uatomic64_t;
3493 typedef int_fast64_t atomic_fast64_t;
3494 typedef uint_fast64_t uatomic_fast64_t;
3496 typedef intptr_t atomicptr_t;
3497 typedef uintptr_t uatomicptr_t;
3498 typedef intmax_t atomic_max_t;
3499 typedef uintmax_t uatomic_max_t;
3500 # 27 "../include/atomic.h" 2
3501 # 27 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h" 2
3502 # 153 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3504 __attribute__ ((always_inline))
3505 __lll_mutex_trylock (int *futex)
3509 __asm __volatile ("cs %0,%3,%1"
3510 : "=d" (old), "=Q" (*futex)
3511 : "0" (0), "d" (1), "m" (*futex) : "cc", "memory" );
3518 __attribute__ ((always_inline))
3519 __lll_mutex_cond_trylock (int *futex)
3523 __asm __volatile ("cs %0,%3,%1"
3524 : "=d" (old), "=Q" (*futex)
3525 : "0" (0), "d" (2), "m" (*futex) : "cc", "memory" );
3532 __attribute__ ((always_inline))
3533 __lll_robust_mutex_trylock (int *futex, int id)
3537 __asm __volatile ("cs %0,%3,%1"
3538 : "=d" (old), "=Q" (*futex)
3539 : "0" (0), "d" (id), "m" (*futex) : "cc", "memory" );
3546 extern void __lll_lock_wait (int *futex) __attribute__ ((visibility ("hidden")));
3547 extern int __lll_robust_lock_wait (int *futex) __attribute__ ((visibility ("hidden")));
3550 __attribute__ ((always_inline))
3551 __lll_mutex_lock (int *futex)
3553 if (({ __typeof (0) __old = (0); ({ __typeof (*futex) __result; if (sizeof (*futex) == 1) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 2) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 4) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("cs %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" (1), "m" (*__archmem) : "cc" ); __archold; }); else if (sizeof (*futex) == 8) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("csg %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" ((long) (1)), "m" (*__archmem) : "cc" ); __archold; }); else abort (); __result; }) != __old; }) != 0)
3554 __lll_lock_wait (futex);
3559 __attribute__ ((always_inline))
3560 __lll_robust_mutex_lock (int *futex, int id)
3563 if (({ __typeof (0) __old = (0); ({ __typeof (*futex) __result; if (sizeof (*futex) == 1) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 2) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 4) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("cs %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" (id), "m" (*__archmem) : "cc" ); __archold; }); else if (sizeof (*futex) == 8) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("csg %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" ((long) (id)), "m" (*__archmem) : "cc" ); __archold; }); else abort (); __result; }) != __old; }) != 0)
3564 result = __lll_robust_lock_wait (futex);
3570 __attribute__ ((always_inline))
3571 __lll_mutex_cond_lock (int *futex)
3573 if (({ __typeof (0) __old = (0); ({ __typeof (*futex) __result; if (sizeof (*futex) == 1) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 2) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 4) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("cs %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" (2), "m" (*__archmem) : "cc" ); __archold; }); else if (sizeof (*futex) == 8) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("csg %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" ((long) (2)), "m" (*__archmem) : "cc" ); __archold; }); else abort (); __result; }) != __old; }) != 0)
3574 __lll_lock_wait (futex);
3581 extern int __lll_timedlock_wait
3582 (int *futex, const struct timespec *) __attribute__ ((visibility ("hidden")));
3583 extern int __lll_robust_timedlock_wait
3584 (int *futex, const struct timespec *) __attribute__ ((visibility ("hidden")));
3587 __attribute__ ((always_inline))
3588 __lll_mutex_timedlock (int *futex, const struct timespec *abstime)
3591 if (({ __typeof (0) __old = (0); ({ __typeof (*futex) __result; if (sizeof (*futex) == 1) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 2) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 4) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("cs %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" (1), "m" (*__archmem) : "cc" ); __archold; }); else if (sizeof (*futex) == 8) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("csg %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" ((long) (1)), "m" (*__archmem) : "cc" ); __archold; }); else abort (); __result; }) != __old; }) != 0)
3592 result = __lll_timedlock_wait (futex, abstime);
3599 __attribute__ ((always_inline))
3600 __lll_robust_mutex_timedlock (int *futex, const struct timespec *abstime,
3604 if (({ __typeof (0) __old = (0); ({ __typeof (*futex) __result; if (sizeof (*futex) == 1) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 2) __result = (abort (), (__typeof (*futex)) 0); else if (sizeof (*futex) == 4) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("cs %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" (id), "m" (*__archmem) : "cc" ); __archold; }); else if (sizeof (*futex) == 8) __result = ({ __typeof (futex) __archmem = (futex); __typeof (*futex) __archold = (__old); __asm __volatile ("csg %0,%2,%1" : "+d" (__archold), "=Q" (*__archmem) : "d" ((long) (id)), "m" (*__archmem) : "cc" ); __archold; }); else abort (); __result; }) != __old; }) != 0)
3605 result = __lll_robust_timedlock_wait (futex, abstime);
3613 __attribute__ ((always_inline))
3614 __lll_mutex_unlock (int *futex)
3619 do { __typeof (futex) __futex = (futex); __asm __volatile (" l %1,%0\n" "0: " "slr %2,%2" "\n" " cs %1,%2,%0\n" " jl 0b\n" "1:" : "=Q" (*__futex), "=&d" (oldval), "=&d" (newval) : "m" (*__futex) : "cc", "memory" ); } while (0);
3621 ({ register unsigned long int __r2 asm ("2") = (unsigned long int) (futex); register unsigned long int __r3 asm ("3") = 1; register unsigned long int __r4 asm ("4") = (unsigned long int) (1); register unsigned long int __result asm ("2"); __asm __volatile ("svc %b1" : "=d" (__result) : "i" (238), "0" (__r2), "d" (__r3), "d" (__r4) : "cc", "memory" ); __result; });
3628 __attribute__ ((always_inline))
3629 __lll_robust_mutex_unlock (int *futex, int mask)
3634 do { __typeof (futex) __futex = (futex); __asm __volatile (" l %1,%0\n" "0: " "slr %2,%2" "\n" " cs %1,%2,%0\n" " jl 0b\n" "1:" : "=Q" (*__futex), "=&d" (oldval), "=&d" (newval) : "m" (*__futex) : "cc", "memory" ); } while (0);
3636 ({ register unsigned long int __r2 asm ("2") = (unsigned long int) (futex); register unsigned long int __r3 asm ("3") = 1; register unsigned long int __r4 asm ("4") = (unsigned long int) (1); register unsigned long int __result asm ("2"); __asm __volatile ("svc %b1" : "=d" (__result) : "i" (238), "0" (__r2), "d" (__r3), "d" (__r4) : "cc", "memory" ); __result; });
3643 __attribute__ ((always_inline))
3644 __lll_mutex_unlock_force (int *futex)
3647 ({ register unsigned long int __r2 asm ("2") = (unsigned long int) (futex); register unsigned long int __r3 asm ("3") = 1; register unsigned long int __r4 asm ("4") = (unsigned long int) (1); register unsigned long int __result asm ("2"); __asm __volatile ("svc %b1" : "=d" (__result) : "i" (238), "0" (__r2), "d" (__r3), "d" (__r4) : "cc", "memory" ); __result; });
3649 # 310 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3650 typedef int lll_lock_t;
3651 # 321 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3652 extern int lll_unlock_wake_cb (int *__futex) __attribute__ ((visibility ("hidden")));
3653 # 333 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3655 __attribute__ ((always_inline))
3656 __lll_wait_tid (int *ptid)
3660 while ((tid = *ptid) != 0)
3661 ({ register unsigned long int __r2 asm ("2") = (unsigned long int) (ptid); register unsigned long int __r3 asm ("3") = 0; register unsigned long int __r4 asm ("4") = (unsigned long int) (tid); register unsigned long int __r5 asm ("5") = 0ul; register unsigned long __result asm ("2"); __asm __volatile ("svc %b1" : "=d" (__result) : "i" (238), "0" (__r2), "d" (__r3), "d" (__r4), "d" (__r5) : "cc", "memory" ); __result; });
3665 extern int __lll_timedwait_tid (int *, const struct timespec *)
3666 __attribute__ ((visibility ("hidden")));
3667 # 357 "../nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.h"
3668 extern void __lll_cond_wait (pthread_cond_t *cond)
3669 __attribute__ ((visibility ("hidden")));
3670 extern int __lll_cond_timedwait (pthread_cond_t *cond,
3671 const struct timespec *abstime)
3672 __attribute__ ((visibility ("hidden")));
3673 extern void __lll_cond_wake (pthread_cond_t *cond)
3674 __attribute__ ((visibility ("hidden")));
3675 extern void __lll_cond_broadcast (pthread_cond_t *cond)
3676 __attribute__ ((visibility ("hidden")));
3677 # 31 "../nptl/descr.h" 2
3678 # 1 "../nptl/sysdeps/s390/pthreaddef.h" 1
3679 # 32 "../nptl/descr.h" 2
3680 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
3681 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
3682 # 1 "../sysdeps/generic/dl-sysdep.h" 1
3683 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
3684 # 33 "../nptl/descr.h" 2
3685 # 1 "../nptl/../nptl_db/thread_db.h" 1
3686 # 26 "../nptl/../nptl_db/thread_db.h"
3687 # 1 "../include/pthread.h" 1
3688 # 1 "../nptl/sysdeps/pthread/pthread.h" 1
3689 # 27 "../nptl/sysdeps/pthread/pthread.h"
3690 # 1 "../include/signal.h" 1
3693 # 1 "../signal/signal.h" 1
3694 # 31 "../signal/signal.h"
3697 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1
3698 # 34 "../signal/signal.h" 2
3699 # 400 "../signal/signal.h"
3701 # 4 "../include/signal.h" 2
3702 # 28 "../nptl/sysdeps/pthread/pthread.h" 2
3705 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
3706 # 31 "../nptl/sysdeps/pthread/pthread.h" 2
3712 PTHREAD_CREATE_JOINABLE,
3714 PTHREAD_CREATE_DETACHED
3722 PTHREAD_MUTEX_TIMED_NP,
3723 PTHREAD_MUTEX_RECURSIVE_NP,
3724 PTHREAD_MUTEX_ERRORCHECK_NP,
3725 PTHREAD_MUTEX_ADAPTIVE_NP
3728 PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
3729 PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
3730 PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
3731 PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
3735 , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
3744 PTHREAD_MUTEX_STALLED_NP,
3745 PTHREAD_MUTEX_ROBUST_NP
3755 PTHREAD_PRIO_INHERIT,
3756 PTHREAD_PRIO_PROTECT
3758 # 113 "../nptl/sysdeps/pthread/pthread.h"
3761 PTHREAD_RWLOCK_PREFER_READER_NP,
3762 PTHREAD_RWLOCK_PREFER_WRITER_NP,
3763 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
3764 PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
3766 # 143 "../nptl/sysdeps/pthread/pthread.h"
3769 PTHREAD_INHERIT_SCHED,
3771 PTHREAD_EXPLICIT_SCHED
3779 PTHREAD_SCOPE_SYSTEM,
3781 PTHREAD_SCOPE_PROCESS
3789 PTHREAD_PROCESS_PRIVATE,
3791 PTHREAD_PROCESS_SHARED
3794 # 178 "../nptl/sysdeps/pthread/pthread.h"
3795 struct _pthread_cleanup_buffer
3797 void (*__routine) (void *);
3800 struct _pthread_cleanup_buffer *__prev;
3806 PTHREAD_CANCEL_ENABLE,
3808 PTHREAD_CANCEL_DISABLE
3813 PTHREAD_CANCEL_DEFERRED,
3815 PTHREAD_CANCEL_ASYNCHRONOUS
3818 # 216 "../nptl/sysdeps/pthread/pthread.h"
3824 extern int pthread_create (pthread_t *__restrict __newthread,
3825 __const pthread_attr_t *__restrict __attr,
3826 void *(*__start_routine) (void *),
3827 void *__restrict __arg) __attribute__ ((__nothrow__));
3833 extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
3841 extern int pthread_join (pthread_t __th, void **__thread_return);
3846 extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __attribute__ ((__nothrow__));
3854 extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
3855 __const struct timespec *__abstime);
3862 extern int pthread_detach (pthread_t __th) __attribute__ ((__nothrow__));
3866 extern pthread_t pthread_self (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
3869 extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) __attribute__ ((__nothrow__));
3877 extern int pthread_attr_init (pthread_attr_t *__attr) __attribute__ ((__nothrow__));
3880 extern int pthread_attr_destroy (pthread_attr_t *__attr) __attribute__ ((__nothrow__));
3883 extern int pthread_attr_getdetachstate (__const pthread_attr_t *__attr,
3884 int *__detachstate) __attribute__ ((__nothrow__));
3887 extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
3888 int __detachstate) __attribute__ ((__nothrow__));
3892 extern int pthread_attr_getguardsize (__const pthread_attr_t *__attr,
3893 size_t *__guardsize) __attribute__ ((__nothrow__));
3896 extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
3897 size_t __guardsize) __attribute__ ((__nothrow__));
3901 extern int pthread_attr_getschedparam (__const pthread_attr_t *__restrict
3903 struct sched_param *__restrict __param)
3904 __attribute__ ((__nothrow__));
3907 extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
3908 __const struct sched_param *__restrict
3909 __param) __attribute__ ((__nothrow__));
3912 extern int pthread_attr_getschedpolicy (__const pthread_attr_t *__restrict
3913 __attr, int *__restrict __policy)
3914 __attribute__ ((__nothrow__));
3917 extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
3918 __attribute__ ((__nothrow__));
3921 extern int pthread_attr_getinheritsched (__const pthread_attr_t *__restrict
3922 __attr, int *__restrict __inherit)
3923 __attribute__ ((__nothrow__));
3926 extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
3927 int __inherit) __attribute__ ((__nothrow__));
3931 extern int pthread_attr_getscope (__const pthread_attr_t *__restrict __attr,
3932 int *__restrict __scope) __attribute__ ((__nothrow__));
3935 extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
3936 __attribute__ ((__nothrow__));
3939 extern int pthread_attr_getstackaddr (__const pthread_attr_t *__restrict
3940 __attr, void **__restrict __stackaddr)
3941 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
3947 extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
3949 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
3952 extern int pthread_attr_getstacksize (__const pthread_attr_t *__restrict
3953 __attr, size_t *__restrict __stacksize)
3954 __attribute__ ((__nothrow__));
3959 extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
3960 size_t __stacksize) __attribute__ ((__nothrow__));
3964 extern int pthread_attr_getstack (__const pthread_attr_t *__restrict __attr,
3965 void **__restrict __stackaddr,
3966 size_t *__restrict __stacksize) __attribute__ ((__nothrow__));
3971 extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
3972 size_t __stacksize) __attribute__ ((__nothrow__));
3978 extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
3979 size_t __cpusetsize,
3980 __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
3984 extern int pthread_attr_getaffinity_np (__const pthread_attr_t *__attr,
3985 size_t __cpusetsize,
3986 cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
3992 extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) __attribute__ ((__nothrow__));
4000 extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
4001 __const struct sched_param *__param)
4002 __attribute__ ((__nothrow__));
4005 extern int pthread_getschedparam (pthread_t __target_thread,
4006 int *__restrict __policy,
4007 struct sched_param *__restrict __param)
4008 __attribute__ ((__nothrow__));
4011 extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
4012 __attribute__ ((__nothrow__));
4017 extern int pthread_getconcurrency (void) __attribute__ ((__nothrow__));
4020 extern int pthread_setconcurrency (int __level) __attribute__ ((__nothrow__));
4028 extern int pthread_yield (void) __attribute__ ((__nothrow__));
4033 extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
4034 __const cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
4037 extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
4038 cpu_set_t *__cpuset) __attribute__ ((__nothrow__));
4039 # 448 "../nptl/sysdeps/pthread/pthread.h"
4040 extern int pthread_once (pthread_once_t *__once_control,
4041 void (*__init_routine) (void));
4042 # 460 "../nptl/sysdeps/pthread/pthread.h"
4043 extern int pthread_setcancelstate (int __state, int *__oldstate);
4047 extern int pthread_setcanceltype (int __type, int *__oldtype);
4050 extern int pthread_cancel (pthread_t __th);
4055 extern void pthread_testcancel (void);
4064 __jmp_buf __cancel_jmp_buf;
4065 int __mask_was_saved;
4066 } __cancel_jmp_buf[1];
4068 } __pthread_unwind_buf_t __attribute__ ((__aligned__));
4069 # 494 "../nptl/sysdeps/pthread/pthread.h"
4070 struct __pthread_cleanup_frame
4072 void (*__cancel_routine) (void *);
4077 # 634 "../nptl/sysdeps/pthread/pthread.h"
4078 extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf)
4080 # 645 "../nptl/sysdeps/pthread/pthread.h"
4081 extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf)
4083 # 668 "../nptl/sysdeps/pthread/pthread.h"
4084 extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf)
4086 # 680 "../nptl/sysdeps/pthread/pthread.h"
4087 extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf)
4092 extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf)
4093 __attribute__ ((__noreturn__))
4101 struct __jmp_buf_tag;
4102 extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) __attribute__ ((__nothrow__));
4108 extern int pthread_mutex_init (pthread_mutex_t *__mutex,
4109 __const pthread_mutexattr_t *__mutexattr)
4110 __attribute__ ((__nothrow__));
4113 extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
4116 extern int pthread_mutex_trylock (pthread_mutex_t *_mutex) __attribute__ ((__nothrow__));
4119 extern int pthread_mutex_lock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
4123 extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
4124 __const struct timespec *__restrict
4125 __abstime) __attribute__ ((__nothrow__));
4129 extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
4134 extern int pthread_mutex_getprioceiling (__const pthread_mutex_t *
4136 int *__restrict __prioceiling)
4137 __attribute__ ((__nothrow__));
4141 extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
4143 int *__restrict __old_ceiling)
4144 __attribute__ ((__nothrow__));
4150 extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) __attribute__ ((__nothrow__));
4158 extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__));
4161 extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) __attribute__ ((__nothrow__));
4164 extern int pthread_mutexattr_getpshared (__const pthread_mutexattr_t *
4166 int *__restrict __pshared) __attribute__ ((__nothrow__));
4169 extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
4170 int __pshared) __attribute__ ((__nothrow__));
4174 extern int pthread_mutexattr_gettype (__const pthread_mutexattr_t *__restrict
4175 __attr, int *__restrict __kind) __attribute__ ((__nothrow__));
4180 extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
4181 __attribute__ ((__nothrow__));
4184 extern int pthread_mutexattr_getprotocol (__const pthread_mutexattr_t *
4186 int *__restrict __protocol) __attribute__ ((__nothrow__));
4190 extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
4191 int __protocol) __attribute__ ((__nothrow__));
4194 extern int pthread_mutexattr_getprioceiling (__const pthread_mutexattr_t *
4196 int *__restrict __prioceiling)
4197 __attribute__ ((__nothrow__));
4200 extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
4201 int __prioceiling) __attribute__ ((__nothrow__));
4206 extern int pthread_mutexattr_getrobust_np (__const pthread_mutexattr_t *__attr,
4207 int *__robustness) __attribute__ ((__nothrow__));
4210 extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
4211 int __robustness) __attribute__ ((__nothrow__));
4212 # 813 "../nptl/sysdeps/pthread/pthread.h"
4213 extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
4214 __const pthread_rwlockattr_t *__restrict
4215 __attr) __attribute__ ((__nothrow__));
4218 extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4221 extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4224 extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4228 extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
4229 __const struct timespec *__restrict
4230 __abstime) __attribute__ ((__nothrow__));
4234 extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4237 extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4241 extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
4242 __const struct timespec *__restrict
4243 __abstime) __attribute__ ((__nothrow__));
4247 extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) __attribute__ ((__nothrow__));
4253 extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) __attribute__ ((__nothrow__));
4256 extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) __attribute__ ((__nothrow__));
4259 extern int pthread_rwlockattr_getpshared (__const pthread_rwlockattr_t *
4261 int *__restrict __pshared) __attribute__ ((__nothrow__));
4264 extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
4265 int __pshared) __attribute__ ((__nothrow__));
4268 extern int pthread_rwlockattr_getkind_np (__const pthread_rwlockattr_t *
4270 int *__restrict __pref) __attribute__ ((__nothrow__));
4273 extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
4274 int __pref) __attribute__ ((__nothrow__));
4282 extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
4283 __const pthread_condattr_t *__restrict
4284 __cond_attr) __attribute__ ((__nothrow__));
4287 extern int pthread_cond_destroy (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
4290 extern int pthread_cond_signal (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
4293 extern int pthread_cond_broadcast (pthread_cond_t *__cond) __attribute__ ((__nothrow__));
4300 extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
4301 pthread_mutex_t *__restrict __mutex);
4302 # 910 "../nptl/sysdeps/pthread/pthread.h"
4303 extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
4304 pthread_mutex_t *__restrict __mutex,
4305 __const struct timespec *__restrict
4311 extern int pthread_condattr_init (pthread_condattr_t *__attr) __attribute__ ((__nothrow__));
4314 extern int pthread_condattr_destroy (pthread_condattr_t *__attr) __attribute__ ((__nothrow__));
4317 extern int pthread_condattr_getpshared (__const pthread_condattr_t *
4319 int *__restrict __pshared) __attribute__ ((__nothrow__));
4322 extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
4323 int __pshared) __attribute__ ((__nothrow__));
4327 extern int pthread_condattr_getclock (__const pthread_condattr_t *
4329 __clockid_t *__restrict __clock_id)
4330 __attribute__ ((__nothrow__));
4333 extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
4334 __clockid_t __clock_id) __attribute__ ((__nothrow__));
4335 # 951 "../nptl/sysdeps/pthread/pthread.h"
4336 extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
4337 __attribute__ ((__nothrow__));
4340 extern int pthread_spin_destroy (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__));
4343 extern int pthread_spin_lock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__));
4346 extern int pthread_spin_trylock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__));
4349 extern int pthread_spin_unlock (pthread_spinlock_t *__lock) __attribute__ ((__nothrow__));
4356 extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
4357 __const pthread_barrierattr_t *__restrict
4358 __attr, unsigned int __count) __attribute__ ((__nothrow__));
4361 extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) __attribute__ ((__nothrow__));
4364 extern int pthread_barrier_wait (pthread_barrier_t *__barrier) __attribute__ ((__nothrow__));
4368 extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) __attribute__ ((__nothrow__));
4371 extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) __attribute__ ((__nothrow__));
4374 extern int pthread_barrierattr_getpshared (__const pthread_barrierattr_t *
4376 int *__restrict __pshared) __attribute__ ((__nothrow__));
4379 extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
4380 int __pshared) __attribute__ ((__nothrow__));
4381 # 1007 "../nptl/sysdeps/pthread/pthread.h"
4382 extern int pthread_key_create (pthread_key_t *__key,
4383 void (*__destr_function) (void *)) __attribute__ ((__nothrow__));
4386 extern int pthread_key_delete (pthread_key_t __key) __attribute__ ((__nothrow__));
4389 extern void *pthread_getspecific (pthread_key_t __key) __attribute__ ((__nothrow__));
4392 extern int pthread_setspecific (pthread_key_t __key,
4393 __const void *__pointer) __attribute__ ((__nothrow__));
4398 extern int pthread_getcpuclockid (pthread_t __thread_id,
4399 __clockid_t *__clock_id) __attribute__ ((__nothrow__));
4400 # 1039 "../nptl/sysdeps/pthread/pthread.h"
4401 extern int pthread_atfork (void (*__prepare) (void),
4402 void (*__parent) (void),
4403 void (*__child) (void)) __attribute__ ((__nothrow__));
4406 # 2 "../include/pthread.h" 2
4409 extern void __pthread_initialize (void) __attribute__ ((weak));
4410 # 27 "../nptl/../nptl_db/thread_db.h" 2
4412 # 1 "../include/sys/types.h" 1
4413 # 29 "../nptl/../nptl_db/thread_db.h" 2
4414 # 1 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h" 1
4415 # 32 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h"
4416 # 1 "../include/sys/time.h" 1
4418 # 1 "../time/sys/time.h" 1
4419 # 29 "../time/sys/time.h"
4420 # 1 "../bits/time.h" 1
4421 # 30 "../time/sys/time.h" 2
4422 # 39 "../time/sys/time.h"
4424 # 57 "../time/sys/time.h"
4431 typedef struct timezone *__restrict __timezone_ptr_t;
4432 # 73 "../time/sys/time.h"
4433 extern int gettimeofday (struct timeval *__restrict __tv,
4434 __timezone_ptr_t __tz) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4439 extern int settimeofday (__const struct timeval *__tv,
4440 __const struct timezone *__tz)
4441 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4447 extern int adjtime (__const struct timeval *__delta,
4448 struct timeval *__olddelta) __attribute__ ((__nothrow__));
4472 struct timeval it_interval;
4474 struct timeval it_value;
4480 typedef enum __itimer_which __itimer_which_t;
4487 extern int getitimer (__itimer_which_t __which,
4488 struct itimerval *__value) __attribute__ ((__nothrow__));
4493 extern int setitimer (__itimer_which_t __which,
4494 __const struct itimerval *__restrict __new,
4495 struct itimerval *__restrict __old) __attribute__ ((__nothrow__));
4500 extern int utimes (__const char *__file, __const struct timeval __tvp[2])
4501 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4505 extern int lutimes (__const char *__file, __const struct timeval __tvp[2])
4506 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4509 extern int futimes (int __fd, __const struct timeval __tvp[2]) __attribute__ ((__nothrow__));
4516 extern int futimesat (int __fd, __const char *__file,
4517 __const struct timeval __tvp[2]) __attribute__ ((__nothrow__));
4518 # 191 "../time/sys/time.h"
4520 # 3 "../include/sys/time.h" 2
4523 extern int __gettimeofday (struct timeval *__tv,
4524 struct timezone *__tz);
4525 extern int __gettimeofday_internal (struct timeval *__tv,
4526 struct timezone *__tz)
4527 __attribute__ ((visibility ("hidden")));
4528 extern int __settimeofday (__const struct timeval *__tv,
4529 __const struct timezone *__tz)
4530 __attribute__ ((visibility ("hidden")));
4531 extern int __adjtime (__const struct timeval *__delta,
4532 struct timeval *__olddelta);
4533 extern int __getitimer (enum __itimer_which __which,
4534 struct itimerval *__value);
4535 extern int __setitimer (enum __itimer_which __which,
4536 __const struct itimerval *__restrict __new,
4537 struct itimerval *__restrict __old)
4538 __attribute__ ((visibility ("hidden")));
4539 extern int __utimes (__const char *__file, const struct timeval __tvp[2])
4540 __attribute__ ((visibility ("hidden")));
4541 extern int __futimes (int fd, __const struct timeval tvp[2]) __attribute__ ((visibility ("hidden")));
4542 # 33 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h" 2
4543 # 1 "../include/sys/types.h" 1
4544 # 34 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h" 2
4545 # 1 "../sysdeps/unix/sysv/linux/s390/sys/user.h" 1
4546 # 26 "../sysdeps/unix/sysv/linux/s390/sys/user.h"
4547 struct _user_psw_struct
4553 struct _user_fpregs_struct
4559 struct _user_per_struct
4561 unsigned long control_regs[3];
4562 unsigned single_step : 1;
4563 unsigned instruction_fetch : 1;
4565 unsigned long starting_addr;
4566 unsigned long ending_addr;
4567 unsigned short perc_atmid;
4568 unsigned long address;
4569 unsigned char access_id;
4572 struct _user_regs_struct
4574 struct _user_psw_struct psw;
4575 unsigned long gprs[16];
4576 unsigned int acrs[16];
4577 unsigned long orig_gpr2;
4578 struct _user_fpregs_struct fp_regs;
4579 struct _user_per_struct per_info;
4580 unsigned long ieee_instruction_pointer;
4584 struct _user_regs_struct regs;
4585 unsigned long int u_tsize;
4586 unsigned long int u_dsize;
4587 unsigned long int u_ssize;
4588 unsigned long start_code;
4589 unsigned long start_stack;
4591 struct _user_regs_struct *u_ar0;
4592 unsigned long magic;
4595 # 35 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h" 2
4596 # 1 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h" 1
4597 # 23 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h"
4599 typedef struct ucontext ucontext_t;
4601 # 1 "../include/signal.h" 1
4606 # 1 "../signal/signal.h" 1
4607 # 31 "../signal/signal.h"
4610 # 1 "../sysdeps/unix/sysv/linux/bits/sigset.h" 1
4611 # 103 "../sysdeps/unix/sysv/linux/bits/sigset.h"
4612 extern int __sigismember (__const __sigset_t *, int);
4613 extern int __sigaddset (__sigset_t *, int);
4614 extern int __sigdelset (__sigset_t *, int);
4615 # 117 "../sysdeps/unix/sysv/linux/bits/sigset.h"
4616 extern __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; }
4617 extern __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); }
4618 extern __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); }
4619 # 34 "../signal/signal.h" 2
4627 typedef __sig_atomic_t sig_atomic_t;
4629 # 58 "../signal/signal.h"
4630 # 1 "../sysdeps/unix/sysv/linux/bits/signum.h" 1
4631 # 59 "../signal/signal.h" 2
4632 # 75 "../signal/signal.h"
4633 typedef void (*__sighandler_t) (int);
4638 extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler)
4639 __attribute__ ((__nothrow__));
4641 extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler)
4642 __attribute__ ((__nothrow__));
4650 extern __sighandler_t signal (int __sig, __sighandler_t __handler)
4651 __attribute__ ((__nothrow__));
4652 # 104 "../signal/signal.h"
4658 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler)
4659 __attribute__ ((__nothrow__));
4666 extern int kill (__pid_t __pid, int __sig) __attribute__ ((__nothrow__));
4673 extern int killpg (__pid_t __pgrp, int __sig) __attribute__ ((__nothrow__));
4678 extern int raise (int __sig) __attribute__ ((__nothrow__));
4683 extern __sighandler_t ssignal (int __sig, __sighandler_t __handler)
4684 __attribute__ ((__nothrow__));
4685 extern int gsignal (int __sig) __attribute__ ((__nothrow__));
4690 extern void psignal (int __sig, __const char *__s);
4691 # 153 "../signal/signal.h"
4692 extern int __sigpause (int __sig_or_mask, int __is_sig);
4693 # 162 "../signal/signal.h"
4694 extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
4695 # 181 "../signal/signal.h"
4696 extern int sigblock (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4699 extern int sigsetmask (int __mask) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4702 extern int siggetmask (void) __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
4703 # 196 "../signal/signal.h"
4704 typedef __sighandler_t sighandler_t;
4709 typedef __sighandler_t sig_t;
4710 # 212 "../signal/signal.h"
4711 # 1 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h" 1
4712 # 25 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h"
4713 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
4714 # 26 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h" 2
4722 typedef union sigval
4727 # 51 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h"
4728 typedef struct siginfo
4737 int _pad[((128 / sizeof (int)) - 4)];
4787 # 131 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h"
4915 # 275 "../sysdeps/unix/sysv/linux/s390/bits/siginfo.h"
4916 typedef struct sigevent
4918 sigval_t sigev_value;
4924 int _pad[((64 / sizeof (int)) - 4)];
4928 void (*_function) (sigval_t);
4951 # 213 "../signal/signal.h" 2
4955 extern int sigemptyset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4958 extern int sigfillset (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4961 extern int sigaddset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4964 extern int sigdelset (sigset_t *__set, int __signo) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4967 extern int sigismember (__const sigset_t *__set, int __signo)
4968 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4972 extern int sigisemptyset (__const sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
4975 extern int sigandset (sigset_t *__set, __const sigset_t *__left,
4976 __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
4979 extern int sigorset (sigset_t *__set, __const sigset_t *__left,
4980 __const sigset_t *__right) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3)));
4985 # 1 "../sysdeps/unix/sysv/linux/s390/bits/sigaction.h" 1
4986 # 24 "../sysdeps/unix/sysv/linux/s390/bits/sigaction.h"
4987 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
4988 # 25 "../sysdeps/unix/sysv/linux/s390/bits/sigaction.h" 2
4999 __sighandler_t sa_handler;
5001 void (*sa_sigaction) (int, siginfo_t *, void *);
5003 __sigaction_handler;
5011 unsigned long int sa_flags;
5014 void (*sa_restorer) (void);
5019 # 247 "../signal/signal.h" 2
5022 extern int sigprocmask (int __how, __const sigset_t *__restrict __set,
5023 sigset_t *__restrict __oset) __attribute__ ((__nothrow__));
5030 extern int sigsuspend (__const sigset_t *__set) __attribute__ ((__nonnull__ (1)));
5033 extern int sigaction (int __sig, __const struct sigaction *__restrict __act,
5034 struct sigaction *__restrict __oact) __attribute__ ((__nothrow__));
5037 extern int sigpending (sigset_t *__set) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
5044 extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig)
5045 __attribute__ ((__nonnull__ (1, 2)));
5052 extern int sigwaitinfo (__const sigset_t *__restrict __set,
5053 siginfo_t *__restrict __info) __attribute__ ((__nonnull__ (1)));
5060 extern int sigtimedwait (__const sigset_t *__restrict __set,
5061 siginfo_t *__restrict __info,
5062 __const struct timespec *__restrict __timeout)
5063 __attribute__ ((__nonnull__ (1)));
5067 extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val)
5068 __attribute__ ((__nothrow__));
5069 # 304 "../signal/signal.h"
5070 extern __const char *__const _sys_siglist[65];
5071 extern __const char *__const sys_siglist[65];
5076 __sighandler_t sv_handler;
5082 # 328 "../signal/signal.h"
5083 extern int sigvec (int __sig, __const struct sigvec *__vec,
5084 struct sigvec *__ovec) __attribute__ ((__nothrow__));
5088 # 1 "../sysdeps/unix/sysv/linux/bits/sigcontext.h" 1
5089 # 28 "../sysdeps/unix/sysv/linux/bits/sigcontext.h"
5090 # 1 "/usr/include/asm/sigcontext.h" 1 3 4
5091 # 37 "/usr/include/asm/sigcontext.h" 3 4
5096 } __attribute__ ((aligned(8))) _psw_t;
5101 unsigned long gprs[16];
5102 unsigned int acrs[16];
5103 } _s390_regs_common;
5113 _s390_regs_common regs;
5114 _s390_fp_regs fpregs;
5119 unsigned long oldmask[(64 / 64)];
5122 # 29 "../sysdeps/unix/sysv/linux/bits/sigcontext.h" 2
5123 # 334 "../signal/signal.h" 2
5126 extern int sigreturn (struct sigcontext *__scp) __attribute__ ((__nothrow__));
5127 # 346 "../signal/signal.h"
5128 extern int siginterrupt (int __sig, int __interrupt) __attribute__ ((__nothrow__));
5130 # 1 "../sysdeps/unix/sysv/linux/bits/sigstack.h" 1
5131 # 26 "../sysdeps/unix/sysv/linux/bits/sigstack.h"
5147 # 50 "../sysdeps/unix/sysv/linux/bits/sigstack.h"
5148 typedef struct sigaltstack
5154 # 349 "../signal/signal.h" 2
5157 # 1 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h" 1
5158 # 352 "../signal/signal.h" 2
5164 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss)
5165 __attribute__ ((__nothrow__)) __attribute__ ((__deprecated__));
5169 extern int sigaltstack (__const struct sigaltstack *__restrict __ss,
5170 struct sigaltstack *__restrict __oss) __attribute__ ((__nothrow__));
5178 extern int sighold (int __sig) __attribute__ ((__nothrow__));
5181 extern int sigrelse (int __sig) __attribute__ ((__nothrow__));
5184 extern int sigignore (int __sig) __attribute__ ((__nothrow__));
5187 extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __attribute__ ((__nothrow__));
5194 # 1 "../nptl/sysdeps/pthread/bits/sigthread.h" 1
5195 # 31 "../nptl/sysdeps/pthread/bits/sigthread.h"
5196 extern int pthread_sigmask (int __how,
5197 __const __sigset_t *__restrict __newmask,
5198 __sigset_t *__restrict __oldmask)__attribute__ ((__nothrow__));
5201 extern int pthread_kill (pthread_t __threadid, int __signo) __attribute__ ((__nothrow__));
5202 # 388 "../signal/signal.h" 2
5209 extern int __libc_current_sigrtmin (void) __attribute__ ((__nothrow__));
5211 extern int __libc_current_sigrtmax (void) __attribute__ ((__nothrow__));
5216 # 6 "../include/signal.h" 2
5229 extern __sighandler_t __bsd_signal (int __sig, __sighandler_t __handler);
5230 extern int __kill (__pid_t __pid, int __sig);
5231 extern int __sigaction (int __sig, __const struct sigaction *__restrict __act,
5232 struct sigaction *__restrict __oact);
5234 extern int __sigblock (int __mask);
5235 extern int __sigsetmask (int __mask);
5236 extern int __sigprocmask (int __how,
5237 __const sigset_t *__set, sigset_t *__oset);
5238 extern int __sigsuspend (__const sigset_t *__set);
5240 extern int __sigwait (__const sigset_t *__set, int *__sig);
5242 extern int __sigwaitinfo (__const sigset_t *__set, siginfo_t *__info);
5244 extern int __sigtimedwait (__const sigset_t *__set, siginfo_t *__info,
5245 __const struct timespec *__timeout);
5247 extern int __sigqueue (__pid_t __pid, int __sig,
5248 __const union sigval __val);
5249 extern int __sigvec (int __sig, __const struct sigvec *__vec,
5250 struct sigvec *__ovec);
5251 extern int __sigreturn (struct sigcontext *__scp);
5252 extern int __sigaltstack (__const struct sigaltstack *__ss,
5253 struct sigaltstack *__oss);
5254 extern int __libc_sigaction (int sig, const struct sigaction *act,
5255 struct sigaction *oact);
5258 extern int __sigpause (int sig_or_mask, int is_sig);
5259 extern int __default_sigpause (int mask);
5260 extern int __xpg_sigpause (int sig);
5268 extern int __libc_allocate_rtsig (int __high);
5269 # 27 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h" 2
5273 # 1 "../sysdeps/unix/sysv/linux/bits/sigcontext.h" 1
5274 # 31 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h" 2
5281 } __attribute__ ((aligned(8))) __psw_t;
5284 typedef unsigned long greg_t;
5285 # 53 "../sysdeps/unix/sysv/linux/s390/sys/ucontext.h"
5286 typedef greg_t gregset_t[27] __attribute__ ((aligned(8)));
5305 unsigned long gregs[16];
5306 unsigned int aregs[16];
5313 unsigned long int uc_flags;
5314 struct ucontext *uc_link;
5316 mcontext_t uc_mcontext;
5317 __sigset_t uc_sigmask;
5319 # 36 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h" 2
5323 typedef greg_t elf_greg_t;
5325 typedef gregset_t elf_gregset_t;
5326 typedef fpreg_t elf_fpreg_t;
5327 typedef fpregset_t elf_fpregset_t;
5336 # 61 "../sysdeps/unix/sysv/linux/s390/sys/procfs.h"
5339 struct elf_siginfo pr_info;
5340 short int pr_cursig;
5341 unsigned long int pr_sigpend;
5342 unsigned long int pr_sighold;
5347 struct timeval pr_utime;
5348 struct timeval pr_stime;
5349 struct timeval pr_cutime;
5350 struct timeval pr_cstime;
5351 elf_gregset_t pr_reg;
5364 unsigned long int pr_flag;
5366 unsigned int pr_uid;
5367 unsigned int pr_gid;
5372 int pr_pid, pr_ppid, pr_pgrp, pr_sid;
5375 char pr_psargs[(80)];
5383 typedef void *psaddr_t;
5386 typedef elf_gregset_t prgregset_t;
5387 typedef elf_fpregset_t prfpregset_t;
5391 typedef __pid_t lwpid_t;
5394 typedef struct elf_prstatus prstatus_t;
5395 typedef struct elf_prpsinfo prpsinfo_t;
5402 typedef unsigned int elf_greg_t32;
5403 typedef elf_greg_t32 elf_gregset_t32[36];
5404 typedef elf_fpregset_t elf_fpregset_t32;
5406 struct elf_prstatus32
5408 struct elf_siginfo pr_info;
5409 short int pr_cursig;
5410 unsigned int pr_sigpend;
5411 unsigned int pr_sighold;
5418 int tv_sec, tv_usec;
5423 elf_gregset_t32 pr_reg;
5427 struct elf_prpsinfo32
5433 unsigned int pr_flag;
5434 unsigned short int pr_uid;
5435 unsigned short int pr_gid;
5436 int pr_pid, pr_ppid, pr_pgrp, pr_sid;
5439 char pr_psargs[(80)];
5442 typedef elf_gregset_t32 prgregset32_t;
5443 typedef elf_fpregset_t32 prfpregset32_t;
5445 typedef struct elf_prstatus32 prstatus32_t;
5446 typedef struct elf_prpsinfo32 prpsinfo32_t;
5451 # 30 "../nptl/../nptl_db/thread_db.h" 2
5479 TD_NOTALLOC = TD_TLSDEFER,
5496 TD_THR_STOPPED_ASLEEP
5512 typedef struct td_thragent td_thragent_t;
5515 typedef struct td_thrhandle
5517 td_thragent_t *th_ta_p;
5524 # 116 "../nptl/../nptl_db/thread_db.h"
5525 typedef struct td_thr_events
5527 uint32_t event_bits[2];
5529 # 155 "../nptl/../nptl_db/thread_db.h"
5533 TD_EVENT_NONE = TD_ALL_EVENTS,
5548 TD_MIN_EVENT_NUM = TD_READY,
5549 TD_MAX_EVENT_NUM = TD_TIMEOUT,
5550 TD_EVENTS_ENABLE = 31
5563 typedef struct td_notify
5574 typedef struct td_event_msg
5577 const td_thrhandle_t *th_p;
5590 td_thr_events_t eventmask;
5591 td_event_e eventnum;
5597 typedef struct td_ta_stats
5603 int a_concurrency_num;
5604 int a_concurrency_den;
5618 typedef pthread_t thread_t;
5619 typedef pthread_key_t thread_key_t;
5623 typedef int td_thr_iter_f (const td_thrhandle_t *, void *);
5626 typedef int td_key_iter_f (thread_key_t, void (*) (void *), void *);
5631 struct ps_prochandle;
5635 typedef struct td_thrinfo
5637 td_thragent_t *ti_ta_p;
5638 unsigned int ti_user_flags;
5642 psaddr_t ti_startfunc;
5644 psaddr_t ti_stkbase;
5645 long int ti_stksize;
5646 psaddr_t ti_ro_area;
5648 td_thr_state_e ti_state;
5649 unsigned char ti_db_suspended;
5650 td_thr_type_e ti_type;
5657 sigset_t ti_sigmask;
5658 unsigned char ti_traceme;
5660 unsigned char ti_preemptflag;
5661 unsigned char ti_pirecflag;
5662 sigset_t ti_pending;
5663 td_thr_events_t ti_events;
5671 extern td_err_e td_init (void);
5674 extern td_err_e td_log (void);
5677 extern const char **td_symbol_list (void);
5680 extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta);
5683 extern td_err_e td_ta_delete (td_thragent_t *__ta);
5686 extern td_err_e td_ta_get_nthreads (const td_thragent_t *__ta, int *__np);
5690 extern td_err_e td_ta_get_ph (const td_thragent_t *__ta,
5691 struct ps_prochandle **__ph);
5695 extern td_err_e td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt,
5696 td_thrhandle_t *__th);
5700 extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid,
5701 td_thrhandle_t *__th);
5706 extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta,
5707 td_thr_iter_f *__callback, void *__cbdata_p,
5708 td_thr_state_e __state, int __ti_pri,
5709 sigset_t *__ti_sigmask_p,
5710 unsigned int __ti_user_flags);
5713 extern td_err_e td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki,
5718 extern td_err_e td_ta_event_addr (const td_thragent_t *__ta,
5719 td_event_e __event, td_notify_t *__ptr);
5722 extern td_err_e td_ta_set_event (const td_thragent_t *__ta,
5723 td_thr_events_t *__event);
5726 extern td_err_e td_ta_clear_event (const td_thragent_t *__ta,
5727 td_thr_events_t *__event);
5730 extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta,
5731 td_event_msg_t *__msg);
5735 extern td_err_e td_ta_setconcurrency (const td_thragent_t *__ta, int __level);
5739 extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable);
5742 extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta);
5745 extern td_err_e td_ta_get_stats (const td_thragent_t *__ta,
5746 td_ta_stats_t *__statsp);
5750 extern td_err_e td_thr_validate (const td_thrhandle_t *__th);
5753 extern td_err_e td_thr_get_info (const td_thrhandle_t *__th,
5754 td_thrinfo_t *__infop);
5757 extern td_err_e td_thr_getfpregs (const td_thrhandle_t *__th,
5758 prfpregset_t *__regset);
5761 extern td_err_e td_thr_getgregs (const td_thrhandle_t *__th,
5762 prgregset_t __gregs);
5765 extern td_err_e td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs);
5768 extern td_err_e td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep);
5771 extern td_err_e td_thr_setfpregs (const td_thrhandle_t *__th,
5772 const prfpregset_t *__fpregs);
5775 extern td_err_e td_thr_setgregs (const td_thrhandle_t *__th,
5776 prgregset_t __gregs);
5779 extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th,
5780 const void *__addr);
5784 extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th,
5785 unsigned long int __modid,
5789 extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th,
5790 psaddr_t __map_address, size_t __offset,
5791 psaddr_t *__address);
5795 extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event);
5798 extern td_err_e td_thr_set_event (const td_thrhandle_t *__th,
5799 td_thr_events_t *__event);
5802 extern td_err_e td_thr_clear_event (const td_thrhandle_t *__th,
5803 td_thr_events_t *__event);
5806 extern td_err_e td_thr_event_getmsg (const td_thrhandle_t *__th,
5807 td_event_msg_t *__msg);
5811 extern td_err_e td_thr_setprio (const td_thrhandle_t *__th, int __prio);
5815 extern td_err_e td_thr_setsigpending (const td_thrhandle_t *__th,
5816 unsigned char __n, const sigset_t *__ss);
5819 extern td_err_e td_thr_sigsetmask (const td_thrhandle_t *__th,
5820 const sigset_t *__ss);
5824 extern td_err_e td_thr_tsd (const td_thrhandle_t *__th,
5825 const thread_key_t __tk, void **__data);
5829 extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th);
5832 extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th);
5833 # 34 "../nptl/descr.h" 2
5836 # 1 "../sysdeps/generic/unwind.h" 1
5837 # 35 "../sysdeps/generic/unwind.h"
5838 typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
5839 typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
5843 typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
5845 typedef unsigned _Unwind_Internal_Ptr __attribute__((__mode__(__pointer__)));
5851 typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));
5858 _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
5859 _URC_FATAL_PHASE2_ERROR = 2,
5860 _URC_FATAL_PHASE1_ERROR = 3,
5861 _URC_NORMAL_STOP = 4,
5862 _URC_END_OF_STACK = 5,
5863 _URC_HANDLER_FOUND = 6,
5864 _URC_INSTALL_CONTEXT = 7,
5865 _URC_CONTINUE_UNWIND = 8
5866 } _Unwind_Reason_Code;
5867 # 72 "../sysdeps/generic/unwind.h"
5868 struct _Unwind_Exception;
5870 typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
5871 struct _Unwind_Exception *);
5873 struct _Unwind_Exception
5875 _Unwind_Exception_Class exception_class;
5876 _Unwind_Exception_Cleanup_Fn exception_cleanup;
5877 _Unwind_Word private_1;
5878 _Unwind_Word private_2;
5883 } __attribute__((__aligned__));
5888 typedef int _Unwind_Action;
5889 # 104 "../sysdeps/generic/unwind.h"
5890 struct _Unwind_Context;
5893 extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *);
5897 typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
5898 (int, _Unwind_Action, _Unwind_Exception_Class,
5899 struct _Unwind_Exception *, struct _Unwind_Context *, void *);
5901 extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *,
5906 extern void _Unwind_DeleteException (struct _Unwind_Exception *);
5910 extern void _Unwind_Resume (struct _Unwind_Exception *);
5915 typedef _Unwind_Reason_Code (*_Unwind_Trace_Fn)
5916 (struct _Unwind_Context *, void *);
5918 extern _Unwind_Reason_Code _Unwind_Backtrace (_Unwind_Trace_Fn, void *);
5925 extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
5926 extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
5928 extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
5929 extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
5932 extern _Unwind_Word _Unwind_GetCFA (struct _Unwind_Context *);
5934 extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
5936 extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
5937 # 167 "../sysdeps/generic/unwind.h"
5938 typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
5939 (int, _Unwind_Action, _Unwind_Exception_Class,
5940 struct _Unwind_Exception *, struct _Unwind_Context *);
5945 struct SjLj_Function_Context;
5946 extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
5947 extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);
5949 extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException
5950 (struct _Unwind_Exception *);
5951 extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind
5952 (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
5953 extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *);
5954 # 208 "../sysdeps/generic/unwind.h"
5955 extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
5956 extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
5961 extern void * _Unwind_FindEnclosingFunction (void *pc);
5962 # 37 "../nptl/descr.h" 2
5965 # 1 "../include/resolv.h" 1
5966 # 12 "../include/resolv.h"
5967 # 1 "../resolv/resolv.h" 1
5968 # 56 "../resolv/resolv.h"
5969 # 1 "../include/sys/types.h" 1
5970 # 57 "../resolv/resolv.h" 2
5971 # 1 "../include/netinet/in.h" 1
5974 # 1 "../inet/netinet/in.h" 1
5975 # 24 "../inet/netinet/in.h"
5976 # 1 "../include/sys/socket.h" 1
5978 # 1 "../socket/sys/socket.h" 1
5979 # 25 "../socket/sys/socket.h"
5982 # 1 "../include/sys/uio.h" 1
5984 # 1 "../misc/sys/uio.h" 1
5985 # 24 "../misc/sys/uio.h"
5986 # 1 "../include/sys/types.h" 1
5987 # 25 "../misc/sys/uio.h" 2
5992 # 1 "../sysdeps/unix/sysv/linux/bits/uio.h" 1
5993 # 24 "../sysdeps/unix/sysv/linux/bits/uio.h"
5994 # 1 "../include/sys/types.h" 1
5995 # 25 "../sysdeps/unix/sysv/linux/bits/uio.h" 2
5996 # 42 "../sysdeps/unix/sysv/linux/bits/uio.h"
6002 # 30 "../misc/sys/uio.h" 2
6003 # 40 "../misc/sys/uio.h"
6004 extern ssize_t readv (int __fd, __const struct iovec *__iovec, int __count);
6005 # 50 "../misc/sys/uio.h"
6006 extern ssize_t writev (int __fd, __const struct iovec *__iovec, int __count);
6009 # 3 "../include/sys/uio.h" 2
6012 extern ssize_t __readv (int __fd, __const struct iovec *__vector,
6014 extern ssize_t __libc_readv (int __fd, __const struct iovec *__vector,
6016 extern ssize_t __writev (int __fd, __const struct iovec *__vector,
6018 extern ssize_t __libc_writev (int __fd, __const struct iovec *__vector,
6020 # 28 "../socket/sys/socket.h" 2
6022 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
6023 # 30 "../socket/sys/socket.h" 2
6029 # 1 "../sysdeps/unix/sysv/linux/bits/socket.h" 1
6030 # 29 "../sysdeps/unix/sysv/linux/bits/socket.h"
6031 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
6032 # 30 "../sysdeps/unix/sysv/linux/bits/socket.h" 2
6034 # 1 "../include/limits.h" 1
6035 # 145 "../include/limits.h"
6036 # 1 "../include/bits/posix1_lim.h" 1
6037 # 146 "../include/limits.h" 2
6041 # 1 "../include/bits/posix2_lim.h" 1
6042 # 150 "../include/limits.h" 2
6043 # 32 "../sysdeps/unix/sysv/linux/bits/socket.h" 2
6044 # 1 "../include/sys/types.h" 1
6045 # 33 "../sysdeps/unix/sysv/linux/bits/socket.h" 2
6049 typedef __socklen_t socklen_t;
6074 # 142 "../sysdeps/unix/sysv/linux/bits/socket.h"
6075 # 1 "../bits/sockaddr.h" 1
6076 # 29 "../bits/sockaddr.h"
6077 typedef unsigned short int sa_family_t;
6078 # 143 "../sysdeps/unix/sysv/linux/bits/socket.h" 2
6083 sa_family_t sa_family;
6086 # 162 "../sysdeps/unix/sysv/linux/bits/socket.h"
6087 struct sockaddr_storage
6089 sa_family_t ss_family;
6090 __uint64_t __ss_align;
6091 char __ss_padding[(128 - (2 * sizeof (__uint64_t)))];
6102 MSG_DONTROUTE = 0x04,
6106 MSG_TRYHARD = MSG_DONTROUTE,
6115 MSG_DONTWAIT = 0x40,
6119 MSG_WAITALL = 0x100,
6125 MSG_CONFIRM = 0x800,
6129 MSG_ERRQUEUE = 0x2000,
6131 MSG_NOSIGNAL = 0x4000,
6143 socklen_t msg_namelen;
6145 struct iovec *msg_iov;
6149 size_t msg_controllen;
6162 __extension__ unsigned char __cmsg_data [];
6165 # 257 "../sysdeps/unix/sysv/linux/bits/socket.h"
6166 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr,
6167 struct cmsghdr *__cmsg) __attribute__ ((__nothrow__));
6172 extern __inline struct cmsghdr *
6173 __attribute__ ((__nothrow__)) __cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)
6175 if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr))
6179 __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg
6180 + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)));
6181 if ((unsigned char *) (__cmsg + 1) > ((unsigned char *) __mhdr->msg_control
6182 + __mhdr->msg_controllen)
6183 || ((unsigned char *) __cmsg + (((__cmsg->cmsg_len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1))
6184 > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen)))
6198 , SCM_CREDENTIALS = 0x02
6213 # 1 "/usr/include/asm/socket.h" 1 3 4
6214 # 12 "/usr/include/asm/socket.h" 3 4
6215 # 1 "/usr/include/asm/sockios.h" 1 3 4
6216 # 13 "/usr/include/asm/socket.h" 2 3 4
6217 # 305 "../sysdeps/unix/sysv/linux/bits/socket.h" 2
6226 # 36 "../socket/sys/socket.h" 2
6233 unsigned short int sa_family;
6234 unsigned char sa_data[14];
6249 # 87 "../socket/sys/socket.h"
6250 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__;
6251 } __SOCKADDR_ARG __attribute__ ((__transparent_union__));
6254 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__;
6255 } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__));
6263 extern int socket (int __domain, int __type, int __protocol) __attribute__ ((__nothrow__));
6269 extern int socketpair (int __domain, int __type, int __protocol,
6270 int __fds[2]) __attribute__ ((__nothrow__));
6273 extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len)
6274 __attribute__ ((__nothrow__));
6277 extern int getsockname (int __fd, __SOCKADDR_ARG __addr,
6278 socklen_t *__restrict __len) __attribute__ ((__nothrow__));
6279 # 124 "../socket/sys/socket.h"
6280 extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);
6284 extern int getpeername (int __fd, __SOCKADDR_ARG __addr,
6285 socklen_t *__restrict __len) __attribute__ ((__nothrow__));
6292 extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags);
6299 extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags);
6306 extern ssize_t sendto (int __fd, __const void *__buf, size_t __n,
6307 int __flags, __CONST_SOCKADDR_ARG __addr,
6308 socklen_t __addr_len);
6309 # 161 "../socket/sys/socket.h"
6310 extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
6311 int __flags, __SOCKADDR_ARG __addr,
6312 socklen_t *__restrict __addr_len);
6320 extern ssize_t sendmsg (int __fd, __const struct msghdr *__message,
6328 extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
6334 extern int getsockopt (int __fd, int __level, int __optname,
6335 void *__restrict __optval,
6336 socklen_t *__restrict __optlen) __attribute__ ((__nothrow__));
6341 extern int setsockopt (int __fd, int __level, int __optname,
6342 __const void *__optval, socklen_t __optlen) __attribute__ ((__nothrow__));
6348 extern int listen (int __fd, int __n) __attribute__ ((__nothrow__));
6349 # 209 "../socket/sys/socket.h"
6350 extern int accept (int __fd, __SOCKADDR_ARG __addr,
6351 socklen_t *__restrict __addr_len);
6359 extern int shutdown (int __fd, int __how) __attribute__ ((__nothrow__));
6364 extern int sockatmark (int __fd) __attribute__ ((__nothrow__));
6372 extern int isfdtype (int __fd, int __fdtype) __attribute__ ((__nothrow__));
6373 # 240 "../socket/sys/socket.h"
6375 # 3 "../include/sys/socket.h" 2
6382 extern int __socket (int __domain, int __type,
6383 int __protocol) __attribute__ ((visibility ("hidden")));
6389 extern int __socketpair (int __domain, int __type, int __protocol,
6390 int __fds[2]) __attribute__ ((visibility ("hidden")));
6394 extern int __opensock (void) __attribute__ ((visibility ("hidden")));
6398 extern int __getpeername (int __fd, __SOCKADDR_ARG __addr,
6399 socklen_t *__len) __attribute__ ((visibility ("hidden")));
6402 extern ssize_t __libc_send (int __fd, __const void *__buf, size_t __n,
6404 extern ssize_t __send (int __fd, __const void *__buf, size_t __n, int __flags);
6409 extern ssize_t __libc_recv (int __fd, void *__buf, size_t __n, int __flags);
6413 extern ssize_t __libc_sendto (int __fd, __const void *__buf, size_t __n,
6414 int __flags, __CONST_SOCKADDR_ARG __addr,
6415 socklen_t __addr_len);
6421 extern ssize_t __libc_recvfrom (int __fd, void *__restrict __buf, size_t __n,
6422 int __flags, __SOCKADDR_ARG __addr,
6423 socklen_t *__restrict __addr_len);
6429 extern int __libc_connect (int __fd, __CONST_SOCKADDR_ARG __addr,
6431 extern int __connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len);
6432 extern int __connect_internal (int __fd, __CONST_SOCKADDR_ARG __addr,
6433 socklen_t __len) __attribute__ ((visibility ("hidden")));
6440 extern ssize_t __recv (int __fd, void *__buf, size_t __n, int __flags)
6441 __attribute__ ((visibility ("hidden")));
6445 extern ssize_t __libc_sendto (int __fd, __const void *__buf, size_t __n,
6446 int __flags, __CONST_SOCKADDR_ARG __addr,
6447 socklen_t __addr_len);
6448 extern ssize_t __sendto (int __fd, __const void *__buf, size_t __n,
6449 int __flags, __CONST_SOCKADDR_ARG __addr,
6450 socklen_t __addr_len) __attribute__ ((visibility ("hidden")));
6456 extern ssize_t __recvfrom (int __fd, void *__restrict __buf, size_t __n,
6457 int __flags, __SOCKADDR_ARG __addr,
6458 socklen_t *__restrict __addr_len) __attribute__ ((visibility ("hidden")));
6462 extern ssize_t __libc_sendmsg (int __fd, __const struct msghdr *__message,
6464 extern ssize_t __sendmsg (int __fd, __const struct msghdr *__message,
6465 int __flags) __attribute__ ((visibility ("hidden")));
6469 extern ssize_t __libc_recvmsg (int __fd, struct msghdr *__message,
6471 extern ssize_t __recvmsg (int __fd, struct msghdr *__message,
6472 int __flags) __attribute__ ((visibility ("hidden")));
6477 extern int __setsockopt (int __fd, int __level, int __optname,
6478 __const void *__optval,
6479 socklen_t __optlen) __attribute__ ((visibility ("hidden")));
6484 extern int __getsockopt (int __fd, int __level, int __optname,
6485 void *__restrict __optval,
6486 socklen_t *__restrict __optlen) __attribute__ ((visibility ("hidden")));
6489 extern int __getsockname (int __fd, __SOCKADDR_ARG __addr,
6490 socklen_t *__restrict __len) __attribute__ ((visibility ("hidden")));
6493 extern int __bind (int __fd, __CONST_SOCKADDR_ARG __addr,
6494 socklen_t __len) __attribute__ ((visibility ("hidden")));
6499 extern int __listen (int __fd, int __n) __attribute__ ((visibility ("hidden")));
6506 extern int __libc_accept (int __fd, __SOCKADDR_ARG __addr,
6507 socklen_t *__restrict __addr_len)
6508 __attribute__ ((__nothrow__));
6515 extern int __libc_sa_len (sa_family_t __af);
6516 extern int __libc_sa_len_internal (sa_family_t __af) __attribute__ ((visibility ("hidden")));
6517 # 25 "../inet/netinet/in.h" 2
6528 IPPROTO_HOPOPTS = 0,
6550 IPPROTO_ROUTING = 43,
6552 IPPROTO_FRAGMENT = 44,
6562 IPPROTO_ICMPV6 = 58,
6566 IPPROTO_DSTOPTS = 60,
6585 typedef uint16_t in_port_t;
6593 IPPORT_DAYTIME = 13,
6594 IPPORT_NETSTAT = 15,
6598 IPPORT_TIMESERVER = 37,
6599 IPPORT_NAMESERVER = 42,
6606 IPPORT_TTYLINK = 87,
6610 IPPORT_EXECSERVER = 512,
6611 IPPORT_LOGINSERVER = 513,
6612 IPPORT_CMDSERVER = 514,
6613 IPPORT_EFSSERVER = 520,
6616 IPPORT_BIFFUDP = 512,
6617 IPPORT_WHOSERVER = 513,
6618 IPPORT_ROUTESERVER = 520,
6621 IPPORT_RESERVED = 1024,
6624 IPPORT_USERRESERVED = 5000
6629 typedef uint32_t in_addr_t;
6634 # 193 "../inet/netinet/in.h"
6639 uint8_t u6_addr8[16];
6640 uint16_t u6_addr16[8];
6641 uint32_t u6_addr32[4];
6648 extern const struct in6_addr in6addr_any;
6649 extern const struct in6_addr in6addr_loopback;
6650 # 219 "../inet/netinet/in.h"
6653 sa_family_t sin_family;
6655 struct in_addr sin_addr;
6658 unsigned char sin_zero[sizeof (struct sockaddr) -
6659 (sizeof (unsigned short int)) -
6660 sizeof (in_port_t) -
6661 sizeof (struct in_addr)];
6667 sa_family_t sin6_family;
6668 in_port_t sin6_port;
6669 uint32_t sin6_flowinfo;
6670 struct in6_addr sin6_addr;
6671 uint32_t sin6_scope_id;
6679 struct in_addr imr_multiaddr;
6682 struct in_addr imr_interface;
6685 struct ip_mreq_source
6688 struct in_addr imr_multiaddr;
6691 struct in_addr imr_interface;
6694 struct in_addr imr_sourceaddr;
6701 struct in6_addr ipv6mr_multiaddr;
6704 unsigned int ipv6mr_interface;
6712 uint32_t gr_interface;
6715 struct sockaddr_storage gr_group;
6718 struct group_source_req
6721 uint32_t gsr_interface;
6724 struct sockaddr_storage gsr_group;
6727 struct sockaddr_storage gsr_source;
6735 struct in_addr imsf_multiaddr;
6738 struct in_addr imsf_interface;
6741 uint32_t imsf_fmode;
6744 uint32_t imsf_numsrc;
6746 struct in_addr imsf_slist[1];
6756 uint32_t gf_interface;
6759 struct sockaddr_storage gf_group;
6767 struct sockaddr_storage gf_slist[1];
6769 # 345 "../inet/netinet/in.h"
6770 # 1 "../sysdeps/unix/sysv/linux/bits/in.h" 1
6771 # 82 "../sysdeps/unix/sysv/linux/bits/in.h"
6774 struct in_addr ip_dst;
6781 struct in_addr imr_multiaddr;
6782 struct in_addr imr_address;
6790 struct in_addr ipi_spec_dst;
6791 struct in_addr ipi_addr;
6793 # 346 "../inet/netinet/in.h" 2
6794 # 354 "../inet/netinet/in.h"
6795 extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6796 extern uint16_t ntohs (uint16_t __netshort)
6797 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6798 extern uint32_t htonl (uint32_t __hostlong)
6799 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6800 extern uint16_t htons (uint16_t __hostshort)
6801 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
6803 # 1 "../include/endian.h" 1
6804 # 363 "../inet/netinet/in.h" 2
6807 # 1 "../sysdeps/s390/bits/byteswap.h" 1
6808 # 25 "../sysdeps/s390/bits/byteswap.h"
6809 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
6810 # 26 "../sysdeps/s390/bits/byteswap.h" 2
6811 # 366 "../inet/netinet/in.h" 2
6812 # 428 "../inet/netinet/in.h"
6813 extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __attribute__ ((__nothrow__));
6816 extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
6817 __attribute__ ((__nothrow__));
6818 # 456 "../inet/netinet/in.h"
6821 struct in6_addr ipi6_addr;
6822 unsigned int ipi6_ifindex;
6828 extern int inet6_option_space (int __nbytes) __attribute__ ((__nothrow__));
6829 extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp,
6830 int __type) __attribute__ ((__nothrow__));
6831 extern int inet6_option_append (struct cmsghdr *__cmsg,
6832 __const uint8_t *__typep, int __multx,
6833 int __plusy) __attribute__ ((__nothrow__));
6834 extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen,
6835 int __multx, int __plusy) __attribute__ ((__nothrow__));
6836 extern int inet6_option_next (__const struct cmsghdr *__cmsg,
6837 uint8_t **__tptrp) __attribute__ ((__nothrow__));
6838 extern int inet6_option_find (__const struct cmsghdr *__cmsg,
6839 uint8_t **__tptrp, int __type) __attribute__ ((__nothrow__));
6845 extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr,
6846 struct in_addr __group, uint32_t *__fmode,
6847 uint32_t *__numsrc, struct in_addr *__slist)
6848 __attribute__ ((__nothrow__));
6851 extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr,
6852 struct in_addr __group, uint32_t __fmode,
6854 __const struct in_addr *__slist)
6855 __attribute__ ((__nothrow__));
6859 extern int getsourcefilter (int __s, uint32_t __interface_addr,
6860 __const struct sockaddr *__group,
6861 socklen_t __grouplen, uint32_t *__fmode,
6863 struct sockaddr_storage *__slist) __attribute__ ((__nothrow__));
6866 extern int setsourcefilter (int __s, uint32_t __interface_addr,
6867 __const struct sockaddr *__group,
6868 socklen_t __grouplen, uint32_t __fmode,
6870 __const struct sockaddr_storage *__slist) __attribute__ ((__nothrow__));
6874 # 4 "../include/netinet/in.h" 2
6880 # 58 "../resolv/resolv.h" 2
6881 # 71 "../resolv/resolv.h"
6882 typedef enum { res_goahead, res_nextns, res_modified, res_done, res_error }
6885 typedef res_sendhookact (*res_send_qhook) (struct sockaddr_in * const *ns,
6886 const u_char **query,
6892 typedef res_sendhookact (*res_send_rhook) (const struct sockaddr_in *ns,
6893 const u_char *query,
6898 # 104 "../resolv/resolv.h"
6899 struct __res_state {
6915 struct in_addr addr;
6918 res_send_qhook qhook;
6919 res_send_rhook rhook;
6931 struct sockaddr_in6 *nsaddrs[3];
6933 unsigned long long int initstamp
6934 __attribute__((packed));
6942 typedef struct __res_state *res_state;
6943 # 13 "../include/resolv.h" 2
6944 # 40 "../nptl/descr.h" 2
6945 # 65 "../nptl/descr.h"
6946 struct pthread_unwind_buf
6952 } cancel_jmp_buf[1];
6962 struct pthread_unwind_buf *prev;
6967 struct _pthread_cleanup_buffer *cleanup;
6994 # 124 "../nptl/descr.h"
6995 void *__padding[16];
7010 __pthread_list_t robust_list;
7011 # 182 "../nptl/descr.h"
7012 struct _pthread_cleanup_buffer *cleanup;
7015 struct pthread_unwind_buf *cleanup_jmp_buf;
7020 # 224 "../nptl/descr.h"
7021 struct pthread_key_data
7030 } specific_1stblock[32];
7033 struct pthread_key_data *specific[((1024 + 32 - 1) / 32)];
7036 _Bool specific_used;
7039 _Bool report_events;
7045 _Bool stopped_start;
7051 lll_lock_t setxid_futex;
7052 # 267 "../nptl/descr.h"
7053 struct pthread *joinid;
7064 struct sched_param schedparam;
7069 void *(*start_routine) (void *);
7073 td_eventbuf_t eventbuf;
7075 struct pthread *nextevent;
7079 struct _Unwind_Exception exc;
7085 size_t stackblock_size;
7089 size_t reported_guardsize;
7092 struct __res_state res;
7099 } __attribute ((aligned (16)));
7100 # 82 "../nptl/sysdeps/s390/tls.h" 2
7101 # 7 "../include/tls.h" 2
7102 # 46 "../include/link.h" 2
7107 struct libname_list;
7108 struct r_found_version;
7109 struct r_search_path_elem;
7119 struct link_map **r_list;
7121 unsigned int r_nlist;
7126 struct r_search_path_struct
7128 struct r_search_path_elem **dirs;
7131 # 85 "../include/link.h"
7140 struct link_map *l_next, *l_prev;
7148 struct link_map *l_real;
7153 struct libname_list *l_libname;
7154 # 122 "../include/link.h"
7155 Elf64_Dyn *l_info[34 + 0 + 16
7157 const Elf64_Phdr *l_phdr;
7166 struct r_scope_elem l_searchlist;
7170 struct r_scope_elem l_symbolic_searchlist;
7173 struct link_map *l_loader;
7176 Elf_Symndx l_nbuckets;
7177 const Elf_Symndx *l_buckets, *l_chain;
7179 unsigned int l_direct_opencount;
7186 unsigned int l_relocated:1;
7187 unsigned int l_init_called:1;
7188 unsigned int l_global:1;
7189 unsigned int l_reserved:2;
7190 unsigned int l_phdr_allocated:1;
7192 unsigned int l_soname_added:1;
7194 unsigned int l_faked:1;
7196 unsigned int l_need_tls_init:1;
7199 unsigned int l_used:1;
7200 unsigned int l_auditing:1;
7201 unsigned int l_audit_any_plt:1;
7203 unsigned int l_removed:1;
7207 unsigned int l_nversions;
7208 struct r_found_version *l_versions;
7211 struct r_search_path_struct l_rpath_dirs;
7217 struct link_map *bound;
7218 unsigned int boundndx;
7224 Elf64_Versym *l_versyms;
7227 const char *l_origin;
7231 Elf64_Addr l_map_start, l_map_end;
7233 Elf64_Addr l_text_end;
7236 struct r_scope_elem *l_scope_mem[4];
7241 struct r_scope_elem **l_scope;
7245 struct r_scope_elem *l_local_scope[2];
7253 struct r_search_path_struct l_runpath_dirs;
7256 struct link_map **l_initfini;
7259 unsigned int l_reldepsmax;
7260 unsigned int l_reldepsact;
7261 struct link_map **l_reldeps;
7264 Elf64_Word l_feature_1;
7265 Elf64_Word l_flags_1;
7271 struct link_map_machine l_mach;
7275 const Elf64_Sym *sym;
7277 struct link_map *value;
7278 const Elf64_Sym *ret;
7285 void *l_tls_initimage;
7287 size_t l_tls_initimage_size;
7289 size_t l_tls_blocksize;
7293 size_t l_tls_firstbyte_offset;
7298 ptrdiff_t l_tls_offset;
7305 Elf64_Addr l_relro_addr;
7306 size_t l_relro_size;
7313 unsigned int bindflags;
7316 # 293 "../include/link.h"
7317 extern int __dl_iterate_phdr (int (*callback) (struct dl_phdr_info *info,
7318 size_t size, void *data),
7320 # 4 "../include/dlfcn.h" 2
7321 # 17 "../include/dlfcn.h"
7322 extern int __dlfcn_argc __attribute__ ((visibility ("hidden")));
7323 extern char **__dlfcn_argv __attribute__ ((visibility ("hidden")));
7324 # 33 "../include/dlfcn.h"
7325 extern void *__libc_dlopen_mode (__const char *__name, int __mode);
7326 extern void *__libc_dlsym (void *__map, __const char *__name);
7327 extern int __libc_dlclose (void *__map);
7334 extern int _dl_addr (const void *address, Dl_info *info,
7335 struct link_map **mapp, const Elf64_Sym **symbolp)
7341 extern void _dl_close (void *map) __attribute__ ((visibility ("hidden")));
7346 extern void *_dl_sym (void *handle, const char *name, void *who)
7353 extern void *_dl_vsym (void *handle, const char *name, const char *version,
7356 # 73 "../include/dlfcn.h"
7357 extern int _dl_catch_error (const char **objname, const char **errstring,
7358 _Bool *mallocedp, void (*operate) (void *),
7366 extern int _dlerror_run (void (*operate) (void *), void *args)
7368 # 93 "../include/dlfcn.h"
7371 void *(*dlopen) (const char *file, int mode, void *dl_caller);
7372 int (*dlclose) (void *handle);
7373 void *(*dlsym) (void *handle, const char *name, void *dl_caller);
7374 void *(*dlvsym) (void *handle, const char *name, const char *version,
7376 char *(*dlerror) (void);
7377 int (*dladdr) (const void *address, Dl_info *info);
7378 int (*dladdr1) (const void *address, Dl_info *info,
7379 void **extra_info, int flags);
7380 int (*dlinfo) (void *handle, int request, void *arg, void *dl_caller);
7381 void *(*dlmopen) (Lmid_t nsid, const char *file, int mode, void *dl_caller);
7385 extern struct dlfcn_hook *_dlfcn_hook;
7388 extern void *__dlopen (const char *file, int mode )
7389 __attribute__ ((visibility ("hidden")));
7390 extern void *__dlmopen (Lmid_t nsid, const char *file, int mode )
7391 __attribute__ ((visibility ("hidden")));
7392 extern int __dlclose (void *handle)
7393 __attribute__ ((visibility ("hidden")));
7394 extern void *__dlsym (void *handle, const char *name )
7395 __attribute__ ((visibility ("hidden")));
7396 extern void *__dlvsym (void *handle, const char *name, const char *version
7398 __attribute__ ((visibility ("hidden")));
7399 extern char *__dlerror (void)
7400 __attribute__ ((visibility ("hidden")));
7401 extern int __dladdr (const void *address, Dl_info *info)
7402 __attribute__ ((visibility ("hidden")));
7403 extern int __dladdr1 (const void *address, Dl_info *info,
7404 void **extra_info, int flags)
7405 __attribute__ ((visibility ("hidden")));
7406 extern int __dlinfo (void *handle, int request, void *arg )
7407 __attribute__ ((visibility ("hidden")));
7409 # 1 "../include/fcntl.h" 1
7411 # 1 "../io/fcntl.h" 1
7412 # 30 "../io/fcntl.h"
7417 # 1 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h" 1
7418 # 24 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h"
7419 # 1 "../include/sys/types.h" 1
7420 # 25 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h" 2
7421 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
7422 # 26 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h" 2
7423 # 152 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h"
7447 # 202 "../sysdeps/unix/sysv/linux/s390/bits/fcntl.h"
7451 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
7452 __attribute__ ((__nothrow__));
7455 # 35 "../io/fcntl.h" 2
7459 # 1 "../include/sys/stat.h" 1
7461 # 1 "../io/sys/stat.h" 1
7462 # 103 "../io/sys/stat.h"
7465 # 1 "../sysdeps/unix/sysv/linux/s390/bits/stat.h" 1
7466 # 23 "../sysdeps/unix/sysv/linux/s390/bits/stat.h"
7467 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
7468 # 24 "../sysdeps/unix/sysv/linux/s390/bits/stat.h" 2
7469 # 48 "../sysdeps/unix/sysv/linux/s390/bits/stat.h"
7488 struct timespec st_atim;
7489 struct timespec st_mtim;
7490 struct timespec st_ctim;
7491 # 80 "../sysdeps/unix/sysv/linux/s390/bits/stat.h"
7492 __blksize_t st_blksize;
7493 __blkcnt_t st_blocks;
7494 long int __unused[3];
7496 # 145 "../sysdeps/unix/sysv/linux/s390/bits/stat.h"
7515 struct timespec st_atim;
7516 struct timespec st_mtim;
7517 struct timespec st_ctim;
7518 # 177 "../sysdeps/unix/sysv/linux/s390/bits/stat.h"
7519 __blksize_t st_blksize;
7520 __blkcnt64_t st_blocks;
7521 long int __unused[3];
7523 # 106 "../io/sys/stat.h" 2
7524 # 207 "../io/sys/stat.h"
7525 extern int stat (__const char *__restrict __file,
7526 struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7530 extern int fstat (int __fd, struct stat *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
7531 # 226 "../io/sys/stat.h"
7532 extern int stat64 (__const char *__restrict __file,
7533 struct stat64 *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7534 extern int fstat64 (int __fd, struct stat64 *__buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
7542 extern int fstatat (int __fd, __const char *__restrict __file,
7543 struct stat *__restrict __buf, int __flag)
7544 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7545 # 250 "../io/sys/stat.h"
7546 extern int fstatat64 (int __fd, __const char *__restrict __file,
7547 struct stat64 *__restrict __buf, int __flag)
7548 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7555 extern int lstat (__const char *__restrict __file,
7556 struct stat *__restrict __buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7557 # 272 "../io/sys/stat.h"
7558 extern int lstat64 (__const char *__restrict __file,
7559 struct stat64 *__restrict __buf)
7560 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7566 extern int chmod (__const char *__file, __mode_t __mode)
7567 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7573 extern int lchmod (__const char *__file, __mode_t __mode)
7574 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7579 extern int fchmod (int __fd, __mode_t __mode) __attribute__ ((__nothrow__));
7585 extern int fchmodat (int __fd, __const char *__file, __mode_t mode, int __flag)
7586 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
7593 extern __mode_t umask (__mode_t __mask) __attribute__ ((__nothrow__));
7598 extern __mode_t getumask (void) __attribute__ ((__nothrow__));
7602 extern int mkdir (__const char *__path, __mode_t __mode)
7603 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7609 extern int mkdirat (int __fd, __const char *__path, __mode_t __mode)
7610 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
7617 extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
7618 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7625 extern int mknodat (int __fd, __const char *__path, __mode_t __mode,
7626 __dev_t __dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
7631 extern int mkfifo (__const char *__path, __mode_t __mode)
7632 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7638 extern int mkfifoat (int __fd, __const char *__path, __mode_t __mode)
7639 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
7640 # 380 "../io/sys/stat.h"
7641 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf)
7642 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
7643 extern int __xstat (int __ver, __const char *__filename,
7644 struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7645 extern int __lxstat (int __ver, __const char *__filename,
7646 struct stat *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7647 extern int __fxstatat (int __ver, int __fildes, __const char *__filename,
7648 struct stat *__stat_buf, int __flag)
7649 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4)));
7650 # 413 "../io/sys/stat.h"
7651 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf)
7652 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3)));
7653 extern int __xstat64 (int __ver, __const char *__filename,
7654 struct stat64 *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7655 extern int __lxstat64 (int __ver, __const char *__filename,
7656 struct stat64 *__stat_buf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
7657 extern int __fxstatat64 (int __ver, int __fildes, __const char *__filename,
7658 struct stat64 *__stat_buf, int __flag)
7659 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 4)));
7661 extern int __xmknod (int __ver, __const char *__path, __mode_t __mode,
7662 __dev_t *__dev) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
7664 extern int __xmknodat (int __ver, int __fd, __const char *__path,
7665 __mode_t __mode, __dev_t *__dev)
7666 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (3, 5)));
7671 extern __inline__ int
7672 __attribute__ ((__nothrow__)) stat (__const char *__path, struct stat *__statbuf)
7674 return __xstat (1, __path, __statbuf);
7678 extern __inline__ int
7679 __attribute__ ((__nothrow__)) lstat (__const char *__path, struct stat *__statbuf)
7681 return __lxstat (1, __path, __statbuf);
7685 extern __inline__ int
7686 __attribute__ ((__nothrow__)) fstat (int __fd, struct stat *__statbuf)
7688 return __fxstat (1, __fd, __statbuf);
7692 extern __inline__ int
7693 __attribute__ ((__nothrow__)) fstatat (int __fd, __const char *__filename, struct stat *__statbuf, int __flag)
7696 return __fxstatat (1, __fd, __filename, __statbuf, __flag);
7701 extern __inline__ int
7702 __attribute__ ((__nothrow__)) mknod (__const char *__path, __mode_t __mode, __dev_t __dev)
7704 return __xmknod (0, __path, __mode, &__dev);
7709 extern __inline__ int
7710 __attribute__ ((__nothrow__)) mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev)
7713 return __xmknodat (0, __fd, __path, __mode, &__dev);
7720 extern __inline__ int
7721 __attribute__ ((__nothrow__)) stat64 (__const char *__path, struct stat64 *__statbuf)
7723 return __xstat64 (1, __path, __statbuf);
7727 extern __inline__ int
7728 __attribute__ ((__nothrow__)) lstat64 (__const char *__path, struct stat64 *__statbuf)
7730 return __lxstat64 (1, __path, __statbuf);
7734 extern __inline__ int
7735 __attribute__ ((__nothrow__)) fstat64 (int __fd, struct stat64 *__statbuf)
7737 return __fxstat64 (1, __fd, __statbuf);
7741 extern __inline__ int
7742 __attribute__ ((__nothrow__)) fstatat64 (int __fd, __const char *__filename, struct stat64 *__statbuf, int __flag)
7745 return __fxstatat64 (1, __fd, __filename, __statbuf, __flag);
7754 # 3 "../include/sys/stat.h" 2
7757 extern int __stat (__const char *__file, struct stat *__buf);
7758 extern int __fstat (int __fd, struct stat *__buf);
7759 extern int __lstat (__const char *__file, struct stat *__buf);
7760 extern int __chmod (__const char *__file, __mode_t __mode);
7761 extern int __fchmod (int __fd, __mode_t __mode);
7762 extern __mode_t __umask (__mode_t __mask);
7763 extern int __mkdir (__const char *__path, __mode_t __mode);
7764 extern int __mknod (__const char *__path,
7765 __mode_t __mode, __dev_t __dev);
7767 extern __typeof (__fxstat) __fxstat __asm__ ("" "__GI___fxstat") __attribute__ ((visibility ("hidden")));
7768 extern __typeof (__fxstat64) __fxstat64 __asm__ ("" "__GI___fxstat64") __attribute__ ((visibility ("hidden")));
7769 extern __typeof (__lxstat) __lxstat __asm__ ("" "__GI___lxstat") __attribute__ ((visibility ("hidden")));
7770 extern __typeof (__lxstat64) __lxstat64 __asm__ ("" "__GI___lxstat64") __attribute__ ((visibility ("hidden")));
7771 extern __typeof (__xstat) __xstat __asm__ ("" "__GI___xstat") __attribute__ ((visibility ("hidden")));
7772 extern __typeof (__xstat64) __xstat64 __asm__ ("" "__GI___xstat64") __attribute__ ((visibility ("hidden")));
7774 extern __inline__ int __stat (__const char *__path, struct stat *__statbuf)
7776 return __xstat (1, __path, __statbuf);
7779 extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
7782 return __xmknod (0, __path, __mode, &__dev);
7788 # 39 "../io/fcntl.h" 2
7789 # 76 "../io/fcntl.h"
7790 extern int fcntl (int __fd, int __cmd, ...);
7791 # 85 "../io/fcntl.h"
7792 extern int open (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
7793 # 95 "../io/fcntl.h"
7794 extern int open64 (__const char *__file, int __oflag, ...) __attribute__ ((__nonnull__ (1)));
7795 # 109 "../io/fcntl.h"
7796 extern int openat (int __fd, __const char *__file, int __oflag, ...)
7797 __attribute__ ((__nonnull__ (2)));
7798 # 120 "../io/fcntl.h"
7799 extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
7800 __attribute__ ((__nonnull__ (2)));
7801 # 130 "../io/fcntl.h"
7802 extern int creat (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
7803 # 140 "../io/fcntl.h"
7804 extern int creat64 (__const char *__file, __mode_t __mode) __attribute__ ((__nonnull__ (1)));
7805 # 159 "../io/fcntl.h"
7806 extern int lockf (int __fd, int __cmd, __off_t __len);
7807 # 168 "../io/fcntl.h"
7808 extern int lockf64 (int __fd, int __cmd, __off64_t __len);
7816 extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len,
7817 int __advise) __attribute__ ((__nothrow__));
7818 # 188 "../io/fcntl.h"
7819 extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len,
7820 int __advise) __attribute__ ((__nothrow__));
7821 # 198 "../io/fcntl.h"
7822 extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len);
7823 # 209 "../io/fcntl.h"
7824 extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len);
7829 # 3 "../include/fcntl.h" 2
7832 extern int __open64 (__const char *__file, int __oflag, ...);
7834 extern int __libc_open64 (const char *file, int oflag, ...);
7835 extern int __libc_open (const char *file, int oflag, ...);
7837 extern int __libc_creat (const char *file, mode_t mode);
7838 extern int __libc_fcntl (int fd, int cmd, ...);
7840 extern int __fcntl_nocancel (int fd, int cmd, ...) __attribute__ ((visibility ("hidden")));
7843 extern int __open (__const char *__file, int __oflag, ...);
7845 extern int __fcntl (int __fd, int __cmd, ...);
7847 extern int __openat (int __fd, __const char *__file, int __oflag, ...)
7848 __attribute__ ((__nonnull__ (2)));
7850 extern int __openat64 (int __fd, __const char *__file, int __oflag, ...)
7851 __attribute__ ((__nonnull__ (2)));
7856 extern void __atfct_seterrno (int errval, int fd, const char *buf)
7857 __attribute__ ((visibility ("hidden")));
7858 extern void __atfct_seterrno_2 (int errval, int fd1, const char *buf1,
7859 int fd2, const char *buf2)
7860 __attribute__ ((visibility ("hidden")));
7864 extern int __have_atfcts __attribute__ ((visibility ("hidden")));
7868 # 1 "../include/string.h" 1
7871 # 1 "../include/sys/types.h" 1
7872 # 4 "../include/string.h" 2
7874 extern void *__memccpy (void *__dest, __const void *__src,
7875 int __c, size_t __n);
7877 extern size_t __strnlen (__const char *__string, size_t __maxlen)
7878 __attribute__ ((__pure__));
7880 extern char *__strsep (char **__stringp, __const char *__delim);
7882 extern int __strverscmp (__const char *__s1, __const char *__s2)
7883 __attribute__ ((__pure__));
7885 extern int __strncasecmp (__const char *__s1, __const char *__s2,
7887 __attribute__ ((__pure__));
7889 extern int __strcasecmp (__const char *__s1, __const char *__s2)
7890 __attribute__ ((__pure__));
7892 extern char *__strcasestr (__const char *__haystack, __const char *__needle)
7893 __attribute__ ((__pure__));
7895 extern char *__strdup (__const char *__string)
7896 __attribute__ ((__malloc__));
7897 extern char *__strndup (__const char *__string, size_t __n)
7898 __attribute__ ((__malloc__));
7900 extern void *__rawmemchr (__const void *__s, int __c)
7901 __attribute__ ((__pure__));
7903 extern char *__strchrnul (__const char *__s, int __c)
7904 __attribute__ ((__pure__));
7906 extern void *__memrchr (__const void *__s, int __c, size_t __n)
7907 __attribute__ ((__pure__));
7909 extern void *__memchr (__const void *__s, int __c, size_t __n)
7910 __attribute__ ((__pure__));
7912 extern int __ffs (int __i) __attribute__ ((const));
7914 extern char *__strerror_r (int __errnum, char *__buf, size_t __buflen);
7918 # 1 "../string/string.h" 1
7919 # 28 "../string/string.h"
7925 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
7926 # 34 "../string/string.h" 2
7931 extern void *memcpy (void *__restrict __dest,
7932 __const void *__restrict __src, size_t __n)
7933 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7936 extern void *memmove (void *__dest, __const void *__src, size_t __n)
7937 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7944 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
7945 int __c, size_t __n)
7946 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7952 extern void *memset (void *__s, int __c, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
7955 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
7956 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
7959 extern void *memchr (__const void *__s, int __c, size_t __n)
7960 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
7966 extern void *rawmemchr (__const void *__s, int __c)
7967 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
7970 extern void *memrchr (__const void *__s, int __c, size_t __n)
7971 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
7977 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
7978 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7980 extern char *strncpy (char *__restrict __dest,
7981 __const char *__restrict __src, size_t __n)
7982 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7985 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
7986 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7988 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
7989 size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
7992 extern int strcmp (__const char *__s1, __const char *__s2)
7993 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
7995 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
7996 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
7999 extern int strcoll (__const char *__s1, __const char *__s2)
8000 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8002 extern size_t strxfrm (char *__restrict __dest,
8003 __const char *__restrict __src, size_t __n)
8004 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8011 # 1 "../include/xlocale.h" 1
8012 # 119 "../string/string.h" 2
8015 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
8016 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
8018 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
8019 __locale_t __l) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
8024 extern char *strdup (__const char *__s)
8025 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
8032 extern char *strndup (__const char *__string, size_t __n)
8033 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) __attribute__ ((__nonnull__ (1)));
8034 # 165 "../string/string.h"
8037 extern char *strchr (__const char *__s, int __c)
8038 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8040 extern char *strrchr (__const char *__s, int __c)
8041 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8047 extern char *strchrnul (__const char *__s, int __c)
8048 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8054 extern size_t strcspn (__const char *__s, __const char *__reject)
8055 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8058 extern size_t strspn (__const char *__s, __const char *__accept)
8059 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8061 extern char *strpbrk (__const char *__s, __const char *__accept)
8062 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8064 extern char *strstr (__const char *__haystack, __const char *__needle)
8065 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8069 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
8070 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8075 extern char *__strtok_r (char *__restrict __s,
8076 __const char *__restrict __delim,
8077 char **__restrict __save_ptr)
8078 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
8080 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
8081 char **__restrict __save_ptr)
8082 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3)));
8087 extern char *strcasestr (__const char *__haystack, __const char *__needle)
8088 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8095 extern void *memmem (__const void *__haystack, size_t __haystacklen,
8096 __const void *__needle, size_t __needlelen)
8097 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 3)));
8101 extern void *__mempcpy (void *__restrict __dest,
8102 __const void *__restrict __src, size_t __n)
8103 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8104 extern void *mempcpy (void *__restrict __dest,
8105 __const void *__restrict __src, size_t __n)
8106 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8112 extern size_t strlen (__const char *__s)
8113 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8119 extern size_t strnlen (__const char *__string, size_t __maxlen)
8120 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8126 extern char *strerror (int __errnum) __attribute__ ((__nothrow__));
8128 # 281 "../string/string.h"
8129 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
8130 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8136 extern void __bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8140 extern void bcopy (__const void *__src, void *__dest, size_t __n)
8141 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8144 extern void bzero (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8147 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
8148 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8151 extern char *index (__const char *__s, int __c)
8152 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8155 extern char *rindex (__const char *__s, int __c)
8156 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1)));
8160 extern int ffs (int __i) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
8165 extern int ffsl (long int __l) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
8167 __extension__ extern int ffsll (long long int __ll)
8168 __attribute__ ((__nothrow__)) __attribute__ ((__const__));
8173 extern int strcasecmp (__const char *__s1, __const char *__s2)
8174 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8177 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
8178 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8184 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
8186 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 3)));
8188 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
8189 size_t __n, __locale_t __loc)
8190 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2, 4)));
8196 extern char *strsep (char **__restrict __stringp,
8197 __const char *__restrict __delim)
8198 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8203 extern int strverscmp (__const char *__s1, __const char *__s2)
8204 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
8207 extern char *strsignal (int __sig) __attribute__ ((__nothrow__));
8210 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
8211 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8212 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
8213 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8217 extern char *__stpncpy (char *__restrict __dest,
8218 __const char *__restrict __src, size_t __n)
8219 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8220 extern char *stpncpy (char *__restrict __dest,
8221 __const char *__restrict __src, size_t __n)
8222 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
8225 extern char *strfry (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8228 extern void *memfrob (void *__s, size_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8235 extern char *basename (__const char *__filename) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8236 # 414 "../string/string.h"
8237 # 1 "../sysdeps/s390/bits/string.h" 1
8238 # 415 "../string/string.h" 2
8241 # 1 "../include/bits/string2.h" 1
8242 # 1 "../string/bits/string2.h" 1
8243 # 52 "../string/bits/string2.h"
8244 # 1 "../include/endian.h" 1
8245 # 53 "../string/bits/string2.h" 2
8246 # 394 "../string/bits/string2.h"
8247 extern void *__rawmemchr (const void *__s, int __c);
8248 # 969 "../string/bits/string2.h"
8249 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject);
8250 extern __inline size_t
8251 __strcspn_c1 (__const char *__s, int __reject)
8253 register size_t __result = 0;
8254 while (__s[__result] != '\0' && __s[__result] != __reject)
8259 extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1,
8261 extern __inline size_t
8262 __strcspn_c2 (__const char *__s, int __reject1, int __reject2)
8264 register size_t __result = 0;
8265 while (__s[__result] != '\0' && __s[__result] != __reject1
8266 && __s[__result] != __reject2)
8271 extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1,
8272 int __reject2, int __reject3);
8273 extern __inline size_t
8274 __strcspn_c3 (__const char *__s, int __reject1, int __reject2,
8277 register size_t __result = 0;
8278 while (__s[__result] != '\0' && __s[__result] != __reject1
8279 && __s[__result] != __reject2 && __s[__result] != __reject3)
8283 # 1045 "../string/bits/string2.h"
8284 extern __inline size_t __strspn_c1 (__const char *__s, int __accept);
8285 extern __inline size_t
8286 __strspn_c1 (__const char *__s, int __accept)
8288 register size_t __result = 0;
8290 while (__s[__result] == __accept)
8295 extern __inline size_t __strspn_c2 (__const char *__s, int __accept1,
8297 extern __inline size_t
8298 __strspn_c2 (__const char *__s, int __accept1, int __accept2)
8300 register size_t __result = 0;
8302 while (__s[__result] == __accept1 || __s[__result] == __accept2)
8307 extern __inline size_t __strspn_c3 (__const char *__s, int __accept1,
8308 int __accept2, int __accept3);
8309 extern __inline size_t
8310 __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3)
8312 register size_t __result = 0;
8314 while (__s[__result] == __accept1 || __s[__result] == __accept2
8315 || __s[__result] == __accept3)
8319 # 1121 "../string/bits/string2.h"
8320 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1,
8322 extern __inline char *
8323 __strpbrk_c2 (__const char *__s, int __accept1, int __accept2)
8326 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2)
8328 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
8331 extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1,
8332 int __accept2, int __accept3);
8333 extern __inline char *
8334 __strpbrk_c3 (__const char *__s, int __accept1, int __accept2,
8338 while (*__s != '\0' && *__s != __accept1 && *__s != __accept2
8339 && *__s != __accept3)
8341 return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s;
8343 # 1173 "../string/bits/string2.h"
8344 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp);
8345 extern __inline char *
8346 __strtok_r_1c (char *__s, char __sep, char **__nextp)
8349 if (__s == ((void *)0))
8351 while (*__s == __sep)
8353 __result = ((void *)0);
8357 while (*__s != '\0')
8358 if (*__s++ == __sep)
8367 # 1205 "../string/bits/string2.h"
8368 extern char *__strsep_g (char **__stringp, __const char *__delim);
8369 # 1223 "../string/bits/string2.h"
8370 extern __inline char *__strsep_1c (char **__s, char __reject);
8371 extern __inline char *
8372 __strsep_1c (char **__s, char __reject)
8374 register char *__retval = *__s;
8375 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))
8380 extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2);
8381 extern __inline char *
8382 __strsep_2c (char **__s, char __reject1, char __reject2)
8384 register char *__retval = *__s;
8385 if (__retval != ((void *)0))
8387 register char *__cp = __retval;
8395 if (*__cp == __reject1 || *__cp == __reject2)
8407 extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2,
8409 extern __inline char *
8410 __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3)
8412 register char *__retval = *__s;
8413 if (__retval != ((void *)0))
8415 register char *__cp = __retval;
8423 if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3)
8434 # 1304 "../string/bits/string2.h"
8435 extern char *__strdup (__const char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
8436 # 1323 "../string/bits/string2.h"
8437 extern char *__strndup (__const char *__string, size_t __n)
8438 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__));
8439 # 1 "../include/bits/string2.h" 2
8440 # 418 "../string/string.h" 2
8441 # 426 "../string/string.h"
8443 # 50 "../include/string.h" 2
8445 extern __typeof (strcoll_l) __strcoll_l;
8446 extern __typeof (strxfrm_l) __strxfrm_l;
8447 extern __typeof (strcasecmp_l) __strcasecmp_l;
8448 extern __typeof (strncasecmp_l) __strncasecmp_l;
8449 # 68 "../include/string.h"
8466 extern char *__strsep_g (char **__stringp, __const char *__delim);
8490 # 118 "../include/string.h"
8491 extern void *__memcpy_chk (void *__restrict __dest,
8492 const void *__restrict __src, size_t __len,
8493 size_t __destlen) __attribute__ ((__nothrow__));
8494 extern void *__memmove_chk (void *__dest, const void *__src, size_t __len,
8495 size_t __destlen) __attribute__ ((__nothrow__));
8496 extern void *__mempcpy_chk (void *__restrict __dest,
8497 const void *__restrict __src, size_t __len,
8498 size_t __destlen) __attribute__ ((__nothrow__));
8499 extern void *__memset_chk (void *__dest, int __ch, size_t __len,
8500 size_t __destlen) __attribute__ ((__nothrow__));
8501 extern char *__strcpy_chk (char *__restrict __dest,
8502 const char *__restrict __src,
8503 size_t __destlen) __attribute__ ((__nothrow__));
8504 extern char *__stpcpy_chk (char *__restrict __dest,
8505 const char *__restrict __src,
8506 size_t __destlen) __attribute__ ((__nothrow__));
8507 extern char *__strncpy_chk (char *__restrict __dest,
8508 const char *__restrict __src,
8509 size_t __len, size_t __destlen) __attribute__ ((__nothrow__));
8510 extern char *__strcat_chk (char *__restrict __dest,
8511 const char *__restrict __src,
8512 size_t __destlen) __attribute__ ((__nothrow__));
8513 extern char *__strncat_chk (char *__restrict __dest,
8514 const char *__restrict __src,
8515 size_t __len, size_t __destlen) __attribute__ ((__nothrow__));
8517 # 1 "../include/unistd.h" 1
8519 # 1 "../posix/unistd.h" 1
8520 # 28 "../posix/unistd.h"
8522 # 171 "../posix/unistd.h"
8523 # 1 "../nptl/sysdeps/unix/sysv/linux/bits/posix_opt.h" 1
8524 # 172 "../posix/unistd.h" 2
8528 # 1 "../sysdeps/unix/sysv/linux/s390/bits/environments.h" 1
8529 # 23 "../sysdeps/unix/sysv/linux/s390/bits/environments.h"
8530 # 1 "../sysdeps/s390/s390-64/bits/wordsize.h" 1
8531 # 24 "../sysdeps/unix/sysv/linux/s390/bits/environments.h" 2
8532 # 176 "../posix/unistd.h" 2
8533 # 195 "../posix/unistd.h"
8534 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
8535 # 196 "../posix/unistd.h" 2
8536 # 256 "../posix/unistd.h"
8537 extern int access (__const char *__name, int __type) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8542 extern int euidaccess (__const char *__name, int __type)
8543 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8546 extern int eaccess (__const char *__name, int __type)
8547 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8554 extern int faccessat (int __fd, __const char *__file, int __type, int __flag)
8555 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
8556 # 299 "../posix/unistd.h"
8557 extern __off_t lseek (int __fd, __off_t __offset, int __whence) __attribute__ ((__nothrow__));
8558 # 310 "../posix/unistd.h"
8559 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence)
8560 __attribute__ ((__nothrow__));
8567 extern int close (int __fd);
8574 extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ;
8580 extern ssize_t write (int __fd, __const void *__buf, size_t __n) ;
8581 # 341 "../posix/unistd.h"
8582 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes,
8590 extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n,
8592 # 369 "../posix/unistd.h"
8593 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes,
8594 __off64_t __offset) ;
8597 extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n,
8598 __off64_t __offset) ;
8606 extern int pipe (int __pipedes[2]) __attribute__ ((__nothrow__)) ;
8607 # 391 "../posix/unistd.h"
8608 extern unsigned int alarm (unsigned int __seconds) __attribute__ ((__nothrow__));
8609 # 403 "../posix/unistd.h"
8610 extern unsigned int sleep (unsigned int __seconds);
8617 extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval)
8618 __attribute__ ((__nothrow__));
8625 extern int usleep (__useconds_t __useconds);
8626 # 427 "../posix/unistd.h"
8627 extern int pause (void);
8631 extern int chown (__const char *__file, __uid_t __owner, __gid_t __group)
8632 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
8636 extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __attribute__ ((__nothrow__)) ;
8641 extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group)
8642 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
8649 extern int fchownat (int __fd, __const char *__file, __uid_t __owner,
8650 __gid_t __group, int __flag)
8651 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
8655 extern int chdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
8659 extern int fchdir (int __fd) __attribute__ ((__nothrow__)) ;
8660 # 469 "../posix/unistd.h"
8661 extern char *getcwd (char *__buf, size_t __size) __attribute__ ((__nothrow__)) ;
8667 extern char *get_current_dir_name (void) __attribute__ ((__nothrow__));
8674 extern char *getwd (char *__buf)
8675 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ;
8680 extern int dup (int __fd) __attribute__ ((__nothrow__)) ;
8683 extern int dup2 (int __fd, int __fd2) __attribute__ ((__nothrow__));
8686 extern char **__environ;
8688 extern char **environ;
8694 extern int execve (__const char *__path, char *__const __argv[],
8695 char *__const __envp[]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8700 extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[])
8701 __attribute__ ((__nothrow__));
8706 extern int execv (__const char *__path, char *__const __argv[])
8707 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8711 extern int execle (__const char *__path, __const char *__arg, ...)
8712 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8716 extern int execl (__const char *__path, __const char *__arg, ...)
8717 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8721 extern int execvp (__const char *__file, char *__const __argv[])
8722 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8727 extern int execlp (__const char *__file, __const char *__arg, ...)
8728 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8733 extern int nice (int __inc) __attribute__ ((__nothrow__)) ;
8738 extern void _exit (int __status) __attribute__ ((__noreturn__));
8744 # 1 "../bits/confname.h" 1
8745 # 26 "../bits/confname.h"
8760 _PC_CHOWN_RESTRICTED,
8776 _PC_REC_INCR_XFER_SIZE,
8778 _PC_REC_MAX_XFER_SIZE,
8780 _PC_REC_MIN_XFER_SIZE,
8813 _SC_REALTIME_SIGNALS,
8815 _SC_PRIORITY_SCHEDULING,
8819 _SC_ASYNCHRONOUS_IO,
8823 _SC_SYNCHRONIZED_IO,
8833 _SC_MEMORY_PROTECTION,
8835 _SC_MESSAGE_PASSING,
8839 _SC_SHARED_MEMORY_OBJECTS,
8845 _SC_AIO_PRIO_DELTA_MAX,
8879 _SC_COLL_WEIGHTS_MAX,
8881 _SC_EQUIV_CLASS_MAX,
8889 _SC_CHARCLASS_NAME_MAX,
8923 _SC_IOV_MAX = _SC_UIO_MAXIOV,
8925 _SC_PII_INTERNET_STREAM,
8927 _SC_PII_INTERNET_DGRAM,
8941 _SC_THREAD_SAFE_FUNCTIONS,
8943 _SC_GETGR_R_SIZE_MAX,
8945 _SC_GETPW_R_SIZE_MAX,
8951 _SC_THREAD_DESTRUCTOR_ITERATIONS,
8953 _SC_THREAD_KEYS_MAX,
8955 _SC_THREAD_STACK_MIN,
8957 _SC_THREAD_THREADS_MAX,
8959 _SC_THREAD_ATTR_STACKADDR,
8961 _SC_THREAD_ATTR_STACKSIZE,
8963 _SC_THREAD_PRIORITY_SCHEDULING,
8965 _SC_THREAD_PRIO_INHERIT,
8967 _SC_THREAD_PRIO_PROTECT,
8969 _SC_THREAD_PROCESS_SHARED,
8972 _SC_NPROCESSORS_CONF,
8974 _SC_NPROCESSORS_ONLN,
8987 _SC_XOPEN_XCU_VERSION,
9062 _SC_XBS5_ILP32_OFF32,
9064 _SC_XBS5_ILP32_OFFBIG,
9066 _SC_XBS5_LP64_OFF64,
9068 _SC_XBS5_LPBIG_OFFBIG,
9075 _SC_XOPEN_REALTIME_THREADS,
9086 _SC_C_LANG_SUPPORT_R,
9088 _SC_CLOCK_SELECTION,
9096 _SC_DEVICE_SPECIFIC,
9098 _SC_DEVICE_SPECIFIC_R,
9106 _SC_FILE_ATTRIBUTES,
9112 _SC_MONOTONIC_CLOCK,
9120 _SC_READER_WRITER_LOCKS,
9134 _SC_SPORADIC_SERVER,
9136 _SC_THREAD_SPORADIC_SERVER,
9138 _SC_SYSTEM_DATABASE,
9140 _SC_SYSTEM_DATABASE_R,
9144 _SC_TYPED_MEMORY_OBJECTS,
9152 _SC_2_PBS_ACCOUNTING,
9164 _SC_2_PBS_CHECKPOINT,
9169 _SC_V6_ILP32_OFFBIG,
9173 _SC_V6_LPBIG_OFFBIG,
9180 _SC_TRACE_EVENT_FILTER,
9187 _SC_LEVEL1_ICACHE_SIZE,
9189 _SC_LEVEL1_ICACHE_ASSOC,
9191 _SC_LEVEL1_ICACHE_LINESIZE,
9193 _SC_LEVEL1_DCACHE_SIZE,
9195 _SC_LEVEL1_DCACHE_ASSOC,
9197 _SC_LEVEL1_DCACHE_LINESIZE,
9199 _SC_LEVEL2_CACHE_SIZE,
9201 _SC_LEVEL2_CACHE_ASSOC,
9203 _SC_LEVEL2_CACHE_LINESIZE,
9205 _SC_LEVEL3_CACHE_SIZE,
9207 _SC_LEVEL3_CACHE_ASSOC,
9209 _SC_LEVEL3_CACHE_LINESIZE,
9211 _SC_LEVEL4_CACHE_SIZE,
9213 _SC_LEVEL4_CACHE_ASSOC,
9215 _SC_LEVEL4_CACHE_LINESIZE,
9219 _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
9231 _CS_V6_WIDTH_RESTRICTED_ENVS,
9234 _CS_GNU_LIBC_VERSION,
9236 _CS_GNU_LIBPTHREAD_VERSION,
9239 _CS_LFS_CFLAGS = 1000,
9253 _CS_LFS64_LINTFLAGS,
9256 _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
9258 _CS_XBS5_ILP32_OFF32_LDFLAGS,
9260 _CS_XBS5_ILP32_OFF32_LIBS,
9262 _CS_XBS5_ILP32_OFF32_LINTFLAGS,
9264 _CS_XBS5_ILP32_OFFBIG_CFLAGS,
9266 _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
9268 _CS_XBS5_ILP32_OFFBIG_LIBS,
9270 _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
9272 _CS_XBS5_LP64_OFF64_CFLAGS,
9274 _CS_XBS5_LP64_OFF64_LDFLAGS,
9276 _CS_XBS5_LP64_OFF64_LIBS,
9278 _CS_XBS5_LP64_OFF64_LINTFLAGS,
9280 _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
9282 _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
9284 _CS_XBS5_LPBIG_OFFBIG_LIBS,
9286 _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
9289 _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
9291 _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
9293 _CS_POSIX_V6_ILP32_OFF32_LIBS,
9295 _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
9297 _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
9299 _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
9301 _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
9303 _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
9305 _CS_POSIX_V6_LP64_OFF64_CFLAGS,
9307 _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
9309 _CS_POSIX_V6_LP64_OFF64_LIBS,
9311 _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
9313 _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
9315 _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
9317 _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
9319 _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
9322 # 553 "../posix/unistd.h" 2
9325 extern long int pathconf (__const char *__path, int __name)
9326 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9329 extern long int fpathconf (int __fd, int __name) __attribute__ ((__nothrow__));
9332 extern long int sysconf (int __name) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
9336 extern size_t confstr (int __name, char *__buf, size_t __len) __attribute__ ((__nothrow__));
9341 extern __pid_t getpid (void) __attribute__ ((__nothrow__));
9344 extern __pid_t getppid (void) __attribute__ ((__nothrow__));
9349 extern __pid_t getpgrp (void) __attribute__ ((__nothrow__));
9350 # 589 "../posix/unistd.h"
9351 extern __pid_t __getpgid (__pid_t __pid) __attribute__ ((__nothrow__));
9353 extern __pid_t getpgid (__pid_t __pid) __attribute__ ((__nothrow__));
9360 extern int setpgid (__pid_t __pid, __pid_t __pgid) __attribute__ ((__nothrow__));
9361 # 615 "../posix/unistd.h"
9362 extern int setpgrp (void) __attribute__ ((__nothrow__));
9363 # 632 "../posix/unistd.h"
9364 extern __pid_t setsid (void) __attribute__ ((__nothrow__));
9368 extern __pid_t getsid (__pid_t __pid) __attribute__ ((__nothrow__));
9372 extern __uid_t getuid (void) __attribute__ ((__nothrow__));
9375 extern __uid_t geteuid (void) __attribute__ ((__nothrow__));
9378 extern __gid_t getgid (void) __attribute__ ((__nothrow__));
9381 extern __gid_t getegid (void) __attribute__ ((__nothrow__));
9386 extern int getgroups (int __size, __gid_t __list[]) __attribute__ ((__nothrow__)) ;
9390 extern int group_member (__gid_t __gid) __attribute__ ((__nothrow__));
9397 extern int setuid (__uid_t __uid) __attribute__ ((__nothrow__));
9402 extern int setreuid (__uid_t __ruid, __uid_t __euid) __attribute__ ((__nothrow__));
9407 extern int seteuid (__uid_t __uid) __attribute__ ((__nothrow__));
9414 extern int setgid (__gid_t __gid) __attribute__ ((__nothrow__));
9419 extern int setregid (__gid_t __rgid, __gid_t __egid) __attribute__ ((__nothrow__));
9424 extern int setegid (__gid_t __gid) __attribute__ ((__nothrow__));
9430 extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid)
9431 __attribute__ ((__nothrow__));
9435 extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid)
9436 __attribute__ ((__nothrow__));
9440 extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid)
9441 __attribute__ ((__nothrow__));
9445 extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid)
9446 __attribute__ ((__nothrow__));
9453 extern __pid_t fork (void) __attribute__ ((__nothrow__));
9460 extern __pid_t vfork (void) __attribute__ ((__nothrow__));
9466 extern char *ttyname (int __fd) __attribute__ ((__nothrow__));
9470 extern int ttyname_r (int __fd, char *__buf, size_t __buflen)
9471 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2))) ;
9475 extern int isatty (int __fd) __attribute__ ((__nothrow__));
9481 extern int ttyslot (void) __attribute__ ((__nothrow__));
9486 extern int link (__const char *__from, __const char *__to)
9487 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
9492 extern int linkat (int __fromfd, __const char *__from, int __tofd,
9493 __const char *__to, int __flags)
9494 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4))) ;
9499 extern int symlink (__const char *__from, __const char *__to)
9500 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
9505 extern int readlink (__const char *__restrict __path, char *__restrict __buf,
9506 size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2))) ;
9511 extern int symlinkat (__const char *__from, int __tofd,
9512 __const char *__to) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 3))) ;
9515 extern int readlinkat (int __fd, __const char *__restrict __path,
9516 char *__restrict __buf, size_t __len)
9517 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 3))) ;
9521 extern int unlink (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9525 extern int unlinkat (int __fd, __const char *__name, int __flag)
9526 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
9530 extern int rmdir (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9534 extern __pid_t tcgetpgrp (int __fd) __attribute__ ((__nothrow__));
9537 extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __attribute__ ((__nothrow__));
9544 extern char *getlogin (void);
9552 extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1)));
9557 extern int setlogin (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9558 # 834 "../posix/unistd.h"
9559 # 1 "../include/getopt.h" 1
9563 # 1 "../posix/getopt.h" 1
9564 # 59 "../posix/getopt.h"
9565 extern char *optarg;
9566 # 73 "../posix/getopt.h"
9577 # 152 "../posix/getopt.h"
9578 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
9579 __attribute__ ((__nothrow__));
9580 # 5 "../include/getopt.h" 2
9581 # 835 "../posix/unistd.h" 2
9589 extern int gethostname (char *__name, size_t __len) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9596 extern int sethostname (__const char *__name, size_t __len)
9597 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9601 extern int sethostid (long int __id) __attribute__ ((__nothrow__)) ;
9607 extern int getdomainname (char *__name, size_t __len)
9608 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9609 extern int setdomainname (__const char *__name, size_t __len)
9610 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9616 extern int vhangup (void) __attribute__ ((__nothrow__));
9619 extern int revoke (__const char *__file) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9627 extern int profil (unsigned short int *__sample_buffer, size_t __size,
9628 size_t __offset, unsigned int __scale)
9629 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9635 extern int acct (__const char *__name) __attribute__ ((__nothrow__));
9639 extern char *getusershell (void) __attribute__ ((__nothrow__));
9640 extern void endusershell (void) __attribute__ ((__nothrow__));
9641 extern void setusershell (void) __attribute__ ((__nothrow__));
9647 extern int daemon (int __nochdir, int __noclose) __attribute__ ((__nothrow__)) ;
9654 extern int chroot (__const char *__path) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9658 extern char *getpass (__const char *__prompt) __attribute__ ((__nonnull__ (1)));
9659 # 920 "../posix/unistd.h"
9660 extern int fsync (int __fd);
9667 extern long int gethostid (void);
9670 extern void sync (void) __attribute__ ((__nothrow__));
9675 extern int getpagesize (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
9680 extern int getdtablesize (void) __attribute__ ((__nothrow__));
9685 extern int truncate (__const char *__file, __off_t __length)
9686 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9687 # 957 "../posix/unistd.h"
9688 extern int truncate64 (__const char *__file, __off64_t __length)
9689 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
9690 # 967 "../posix/unistd.h"
9691 extern int ftruncate (int __fd, __off_t __length) __attribute__ ((__nothrow__)) ;
9692 # 977 "../posix/unistd.h"
9693 extern int ftruncate64 (int __fd, __off64_t __length) __attribute__ ((__nothrow__)) ;
9694 # 987 "../posix/unistd.h"
9695 extern int brk (void *__addr) __attribute__ ((__nothrow__)) ;
9701 extern void *sbrk (intptr_t __delta) __attribute__ ((__nothrow__));
9702 # 1008 "../posix/unistd.h"
9703 extern long int syscall (long int __sysno, ...) __attribute__ ((__nothrow__));
9704 # 1062 "../posix/unistd.h"
9705 extern int fdatasync (int __fildes) __attribute__ ((__nothrow__));
9713 extern char *crypt (__const char *__key, __const char *__salt)
9714 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9718 extern void encrypt (char *__block, int __edflag) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
9725 extern void swab (__const void *__restrict __from, void *__restrict __to,
9726 ssize_t __n) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
9734 extern char *ctermid (char *__s) __attribute__ ((__nothrow__));
9735 # 1100 "../posix/unistd.h"
9737 # 3 "../include/unistd.h" 2
9755 extern int __access (__const char *__name, int __type);
9756 extern int __euidaccess (__const char *__name, int __type);
9757 extern __off64_t __lseek64 (int __fd, __off64_t __offset, int __whence);
9758 extern __off_t __lseek (int __fd, __off_t __offset, int __whence);
9760 extern __off_t __libc_lseek (int __fd, __off_t __offset, int __whence);
9761 extern __off64_t __libc_lseek64 (int __fd, __off64_t __offset, int __whence);
9762 extern ssize_t __pread (int __fd, void *__buf, size_t __nbytes,
9764 extern ssize_t __libc_pread (int __fd, void *__buf, size_t __nbytes,
9766 extern ssize_t __pread64 (int __fd, void *__buf, size_t __nbytes,
9767 __off64_t __offset);
9768 extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes,
9769 __off64_t __offset);
9770 extern ssize_t __pwrite (int __fd, __const void *__buf, size_t __n,
9772 extern ssize_t __libc_pwrite (int __fd, __const void *__buf, size_t __n,
9774 extern ssize_t __pwrite64 (int __fd, __const void *__buf, size_t __n,
9775 __off64_t __offset);
9777 extern ssize_t __libc_pwrite64 (int __fd, __const void *__buf, size_t __n,
9778 __off64_t __offset);
9779 extern ssize_t __libc_read (int __fd, void *__buf, size_t __n);
9781 extern ssize_t __libc_write (int __fd, __const void *__buf, size_t __n);
9783 extern int __pipe (int __pipedes[2]);
9785 extern unsigned int __sleep (unsigned int __seconds);
9786 extern int __chown (__const char *__file,
9787 __uid_t __owner, __gid_t __group);
9789 extern int __fchown (int __fd,
9790 __uid_t __owner, __gid_t __group);
9791 extern int __lchown (__const char *__file, __uid_t __owner,
9793 extern int __chdir (__const char *__path);
9794 extern int __fchdir (int __fd);
9795 extern char *__getcwd (char *__buf, size_t __size);
9796 extern int __rmdir (const char *__path);
9804 char *__canonicalize_directory_name_internal (__const char *__thisdir,
9806 size_t __size) __attribute__ ((visibility ("hidden")));
9808 extern int __dup (int __fd);
9809 extern int __dup2 (int __fd, int __fd2);
9811 extern int __execve (__const char *__path, char *__const __argv[],
9812 char *__const __envp[]);
9813 extern long int __pathconf (__const char *__path, int __name);
9814 extern long int __fpathconf (int __fd, int __name);
9815 extern long int __sysconf (int __name);
9817 extern __pid_t __getpid (void);
9819 extern __pid_t __getppid (void);
9820 extern __pid_t __setsid (void);
9821 extern __uid_t __getuid (void);
9822 extern __uid_t __geteuid (void);
9823 extern __gid_t __getgid (void);
9824 extern __gid_t __getegid (void);
9825 extern int __getgroups (int __size, __gid_t __list[]);
9827 extern int __group_member (__gid_t __gid);
9828 extern int __setuid (__uid_t __uid);
9829 extern int __setreuid (__uid_t __ruid, __uid_t __euid);
9830 extern int __setgid (__gid_t __gid);
9831 extern int __setpgid (__pid_t __pid, __pid_t __pgid);
9833 extern int __setregid (__gid_t __rgid, __gid_t __egid);
9834 extern int __getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid);
9835 extern int __getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid);
9836 extern int __setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid);
9837 extern int __setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid);
9842 extern __pid_t __vfork (void);
9844 extern int __ttyname_r (int __fd, char *__buf, size_t __buflen);
9845 extern int __isatty (int __fd);
9846 extern int __link (__const char *__from, __const char *__to);
9847 extern int __symlink (__const char *__from, __const char *__to);
9848 extern int __readlink (__const char *__path, char *__buf, size_t __len);
9849 extern int __unlink (__const char *__name);
9850 extern int __gethostname (char *__name, size_t __len);
9851 extern int __profil (unsigned short int *__sample_buffer, size_t __size,
9852 size_t __offset, unsigned int __scale);
9853 extern int __getdtablesize (void);
9854 extern int __brk (void *__addr);
9855 extern int __close (int __fd);
9857 extern int __libc_close (int __fd);
9858 extern ssize_t __read (int __fd, void *__buf, size_t __nbytes);
9860 extern ssize_t __write (int __fd, __const void *__buf, size_t __n);
9862 extern __pid_t __fork (void);
9864 extern int __getpagesize (void) __attribute__ ((__const__));
9866 extern int __ftruncate (int __fd, __off_t __length);
9867 extern int __ftruncate64 (int __fd, __off64_t __length);
9868 extern int __truncate (const char *path, __off_t __length);
9869 extern void *__sbrk (intptr_t __delta);
9878 extern int __libc_enable_secure __attribute__ ((section (".data.rel.ro")));
9879 extern int __libc_enable_secure_decided;
9882 extern int __libc_enable_secure_internal __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden")));
9887 extern void __libc_check_standard_fds (void);
9891 extern void __exit_thread (int val) __attribute__ ((noreturn));
9894 extern __pid_t __libc_fork (void);
9898 extern int __libc_pause (void);
9900 # 1 "../include/sys/mman.h" 1
9902 # 1 "../misc/sys/mman.h" 1
9903 # 26 "../misc/sys/mman.h"
9904 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
9905 # 27 "../misc/sys/mman.h" 2
9906 # 42 "../misc/sys/mman.h"
9907 # 1 "../sysdeps/unix/sysv/linux/s390/bits/mman.h" 1
9908 # 43 "../misc/sys/mman.h" 2
9914 # 58 "../misc/sys/mman.h"
9915 extern void *mmap (void *__addr, size_t __len, int __prot,
9916 int __flags, int __fd, __off_t __offset) __attribute__ ((__nothrow__));
9917 # 71 "../misc/sys/mman.h"
9918 extern void *mmap64 (void *__addr, size_t __len, int __prot,
9919 int __flags, int __fd, __off64_t __offset) __attribute__ ((__nothrow__));
9924 extern int munmap (void *__addr, size_t __len) __attribute__ ((__nothrow__));
9929 extern int mprotect (void *__addr, size_t __len, int __prot) __attribute__ ((__nothrow__));
9937 extern int msync (void *__addr, size_t __len, int __flags);
9942 extern int madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__));
9946 extern int posix_madvise (void *__addr, size_t __len, int __advice) __attribute__ ((__nothrow__));
9951 extern int mlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__));
9954 extern int munlock (__const void *__addr, size_t __len) __attribute__ ((__nothrow__));
9959 extern int mlockall (int __flags) __attribute__ ((__nothrow__));
9963 extern int munlockall (void) __attribute__ ((__nothrow__));
9971 extern void *mremap (void *__addr, size_t __old_len, size_t __new_len,
9972 int __flags, ...) __attribute__ ((__nothrow__));
9979 extern int mincore (void *__start, size_t __len, unsigned char *__vec)
9980 __attribute__ ((__nothrow__));
9984 extern int remap_file_pages (void *__start, size_t __size, int __prot,
9985 size_t __pgoff, int __flags) __attribute__ ((__nothrow__));
9990 extern int shm_open (__const char *__name, int __oflag, mode_t __mode);
9993 extern int shm_unlink (__const char *__name);
9996 # 3 "../include/sys/mman.h" 2
9999 extern void *__mmap (void *__addr, size_t __len, int __prot,
10000 int __flags, int __fd, __off_t __offset);
10001 extern void *__mmap64 (void *__addr, size_t __len, int __prot,
10002 int __flags, int __fd, __off64_t __offset);
10003 extern int __munmap (void *__addr, size_t __len);
10004 extern int __mprotect (void *__addr, size_t __len, int __prot);
10007 extern void *__mremap (void *__addr, size_t __old_len,
10008 size_t __new_len, int __flags, ...);
10012 # 1 "../sysdeps/unix/sysv/linux/ldsodefs.h" 1
10013 # 22 "../sysdeps/unix/sysv/linux/ldsodefs.h"
10014 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1
10015 # 23 "../sysdeps/unix/sysv/linux/ldsodefs.h" 2
10018 # 1 "../sysdeps/generic/ldsodefs.h" 1
10019 # 28 "../sysdeps/generic/ldsodefs.h"
10020 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
10021 # 29 "../sysdeps/generic/ldsodefs.h" 2
10026 # 1 "../include/fpu_control.h" 1
10027 # 1 "../sysdeps/s390/fpu/fpu_control.h" 1
10028 # 35 "../sysdeps/s390/fpu/fpu_control.h"
10029 typedef unsigned int fpu_control_t;
10036 extern fpu_control_t __fpu_control;
10037 # 2 "../include/fpu_control.h" 2
10040 extern void __setfpucw (fpu_control_t);
10041 # 34 "../sysdeps/generic/ldsodefs.h" 2
10044 # 1 "../sysdeps/generic/dl-lookupcfg.h" 1
10045 # 37 "../sysdeps/generic/ldsodefs.h" 2
10046 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
10047 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
10048 # 1 "../sysdeps/generic/dl-sysdep.h" 1
10049 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
10050 # 38 "../sysdeps/generic/ldsodefs.h" 2
10051 # 1 "../nptl/sysdeps/pthread/bits/libc-lock.h" 1
10052 # 23 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10053 # 1 "../include/pthread.h" 1
10057 extern void __pthread_initialize (void) __attribute__ ((weak));
10058 # 24 "../nptl/sysdeps/pthread/bits/libc-lock.h" 2
10060 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
10061 # 26 "../nptl/sysdeps/pthread/bits/libc-lock.h" 2
10062 # 37 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10063 # 1 "../nptl/sysdeps/pthread/pthread-functions.h" 1
10064 # 23 "../nptl/sysdeps/pthread/pthread-functions.h"
10065 # 1 "../include/pthread.h" 1
10069 extern void __pthread_initialize (void) __attribute__ ((weak));
10070 # 24 "../nptl/sysdeps/pthread/pthread-functions.h" 2
10072 # 1 "../nptl/sysdeps/unix/sysv/linux/internaltypes.h" 1
10073 # 26 "../nptl/sysdeps/unix/sysv/linux/internaltypes.h"
10074 struct pthread_attr
10077 struct sched_param schedparam;
10090 # 53 "../nptl/sysdeps/unix/sysv/linux/internaltypes.h"
10091 struct pthread_mutexattr
10104 struct pthread_condattr
10114 # 85 "../nptl/sysdeps/unix/sysv/linux/internaltypes.h"
10115 struct pthread_rwlockattr
10123 struct pthread_barrier
10125 unsigned int curr_event;
10128 unsigned int init_count;
10133 struct pthread_barrierattr
10140 struct pthread_key_struct
10149 void (*destr) (void *);
10151 # 140 "../nptl/sysdeps/unix/sysv/linux/internaltypes.h"
10154 unsigned int count;
10161 pthread_cond_t *cond;
10162 } pthread_cond_2_0_t;
10163 # 26 "../nptl/sysdeps/pthread/pthread-functions.h" 2
10165 struct xid_command;
10169 struct pthread_functions
10171 int (*ptr_pthread_attr_destroy) (pthread_attr_t *);
10172 int (*ptr___pthread_attr_init_2_0) (pthread_attr_t *);
10173 int (*ptr___pthread_attr_init_2_1) (pthread_attr_t *);
10174 int (*ptr_pthread_attr_getdetachstate) (const pthread_attr_t *, int *);
10175 int (*ptr_pthread_attr_setdetachstate) (pthread_attr_t *, int);
10176 int (*ptr_pthread_attr_getinheritsched) (const pthread_attr_t *, int *);
10177 int (*ptr_pthread_attr_setinheritsched) (pthread_attr_t *, int);
10178 int (*ptr_pthread_attr_getschedparam) (const pthread_attr_t *,
10179 struct sched_param *);
10180 int (*ptr_pthread_attr_setschedparam) (pthread_attr_t *,
10181 const struct sched_param *);
10182 int (*ptr_pthread_attr_getschedpolicy) (const pthread_attr_t *, int *);
10183 int (*ptr_pthread_attr_setschedpolicy) (pthread_attr_t *, int);
10184 int (*ptr_pthread_attr_getscope) (const pthread_attr_t *, int *);
10185 int (*ptr_pthread_attr_setscope) (pthread_attr_t *, int);
10186 int (*ptr_pthread_condattr_destroy) (pthread_condattr_t *);
10187 int (*ptr_pthread_condattr_init) (pthread_condattr_t *);
10188 int (*ptr___pthread_cond_broadcast) (pthread_cond_t *);
10189 int (*ptr___pthread_cond_destroy) (pthread_cond_t *);
10190 int (*ptr___pthread_cond_init) (pthread_cond_t *,
10191 const pthread_condattr_t *);
10192 int (*ptr___pthread_cond_signal) (pthread_cond_t *);
10193 int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *);
10194 int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *,
10195 const struct timespec *);
10196 int (*ptr___pthread_cond_broadcast_2_0) (pthread_cond_2_0_t *);
10197 int (*ptr___pthread_cond_destroy_2_0) (pthread_cond_2_0_t *);
10198 int (*ptr___pthread_cond_init_2_0) (pthread_cond_2_0_t *,
10199 const pthread_condattr_t *);
10200 int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *);
10201 int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *);
10202 int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *,
10204 const struct timespec *);
10205 int (*ptr_pthread_equal) (pthread_t, pthread_t);
10206 void (*ptr___pthread_exit) (void *);
10207 int (*ptr_pthread_getschedparam) (pthread_t, int *, struct sched_param *);
10208 int (*ptr_pthread_setschedparam) (pthread_t, int,
10209 const struct sched_param *);
10210 int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *);
10211 int (*ptr_pthread_mutex_init) (pthread_mutex_t *,
10212 const pthread_mutexattr_t *);
10213 int (*ptr_pthread_mutex_lock) (pthread_mutex_t *);
10214 int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *);
10215 pthread_t (*ptr_pthread_self) (void);
10216 int (*ptr_pthread_setcancelstate) (int, int *);
10217 int (*ptr_pthread_setcanceltype) (int, int *);
10218 void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *);
10219 int (*ptr___pthread_once) (pthread_once_t *, void (*) (void));
10220 int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *);
10221 int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *);
10222 int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *);
10223 int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *));
10224 void *(*ptr___pthread_getspecific) (pthread_key_t);
10225 int (*ptr___pthread_setspecific) (pthread_key_t, const void *);
10226 void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer *,
10227 void (*) (void *), void *);
10228 void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer *,
10231 unsigned int *ptr_nthreads;
10232 void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *)
10233 __attribute ((noreturn)) ;
10234 void (*ptr__nptl_deallocate_tsd) (void);
10235 int (*ptr__nptl_setxid) (struct xid_command *);
10239 extern struct pthread_functions __libc_pthread_functions __attribute__ ((visibility ("hidden")));
10240 # 38 "../nptl/sysdeps/pthread/bits/libc-lock.h" 2
10246 typedef pthread_mutex_t __libc_lock_t;
10247 typedef struct { pthread_mutex_t mutex; } __libc_lock_recursive_t;
10252 typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t;
10254 typedef pthread_rwlock_t __libc_rwlock_t;
10255 # 62 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10256 typedef pthread_key_t __libc_key_t;
10257 # 369 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10258 extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
10259 void (*routine) (void *), void *arg);
10260 extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
10262 extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
10263 void (*routine) (void *), void *arg);
10264 extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
10266 # 411 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10267 extern __inline void
10268 __libc_cleanup_routine (struct __pthread_cleanup_frame *f)
10271 f->__cancel_routine (f->__cancel_arg);
10273 # 448 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10274 extern int __register_atfork (void (*__prepare) (void),
10275 void (*__parent) (void),
10276 void (*__child) (void),
10277 void *__dso_handle);
10282 extern int __pthread_mutex_init (pthread_mutex_t *__mutex,
10283 __const pthread_mutexattr_t *__mutex_attr);
10285 extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex);
10287 extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex);
10289 extern int __pthread_mutex_lock (pthread_mutex_t *__mutex);
10291 extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex);
10293 extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr);
10295 extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr);
10297 extern int __pthread_mutexattr_settype (pthread_mutexattr_t *__attr,
10301 extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock,
10302 __const pthread_rwlockattr_t *__attr);
10304 extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
10306 extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);
10308 extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock);
10310 extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);
10312 extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock);
10314 extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);
10317 extern int __pthread_key_create (pthread_key_t *__key,
10318 void (*__destr_function) (void *));
10320 extern int __pthread_setspecific (pthread_key_t __key,
10321 __const void *__pointer);
10323 extern void *__pthread_getspecific (pthread_key_t __key);
10325 extern int __pthread_once (pthread_once_t *__once_control,
10326 void (*__init_routine) (void));
10328 extern int __pthread_atfork (void (*__prepare) (void),
10329 void (*__parent) (void),
10330 void (*__child) (void));
10331 # 513 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10332 # 1 "../sysdeps/generic/bp-sym.h" 1
10333 # 514 "../nptl/sysdeps/pthread/bits/libc-lock.h" 2
10338 # 517 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10339 #pragma weak __pthread_mutex_init
10340 # 517 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10343 # 518 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10344 #pragma weak __pthread_mutex_destroy
10345 # 518 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10348 # 519 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10349 #pragma weak __pthread_mutex_lock
10350 # 519 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10353 # 520 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10354 #pragma weak __pthread_mutex_trylock
10355 # 520 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10358 # 521 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10359 #pragma weak __pthread_mutex_unlock
10360 # 521 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10363 # 522 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10364 #pragma weak __pthread_mutexattr_init
10365 # 522 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10368 # 523 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10369 #pragma weak __pthread_mutexattr_destroy
10370 # 523 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10373 # 524 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10374 #pragma weak __pthread_mutexattr_settype
10375 # 524 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10378 # 525 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10379 #pragma weak __pthread_rwlock_init
10380 # 525 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10383 # 526 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10384 #pragma weak __pthread_rwlock_destroy
10385 # 526 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10388 # 527 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10389 #pragma weak __pthread_rwlock_rdlock
10390 # 527 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10393 # 528 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10394 #pragma weak __pthread_rwlock_tryrdlock
10395 # 528 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10398 # 529 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10399 #pragma weak __pthread_rwlock_wrlock
10400 # 529 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10403 # 530 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10404 #pragma weak __pthread_rwlock_trywrlock
10405 # 530 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10408 # 531 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10409 #pragma weak __pthread_rwlock_unlock
10410 # 531 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10413 # 532 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10414 #pragma weak __pthread_key_create
10415 # 532 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10418 # 533 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10419 #pragma weak __pthread_setspecific
10420 # 533 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10423 # 534 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10424 #pragma weak __pthread_getspecific
10425 # 534 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10428 # 535 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10429 #pragma weak __pthread_once
10430 # 535 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10433 # 536 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10434 #pragma weak __pthread_initialize
10435 # 536 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10438 # 537 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10439 #pragma weak __pthread_atfork
10440 # 537 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10443 # 538 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10444 #pragma weak _pthread_cleanup_push_defer
10445 # 538 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10448 # 539 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10449 #pragma weak _pthread_cleanup_pop_restore
10450 # 539 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10453 # 540 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10454 #pragma weak pthread_setcancelstate
10455 # 540 "../nptl/sysdeps/pthread/bits/libc-lock.h"
10457 # 39 "../sysdeps/generic/ldsodefs.h" 2
10462 # 61 "../sysdeps/generic/ldsodefs.h"
10463 typedef struct link_map *lookup_t;
10464 # 127 "../sysdeps/generic/ldsodefs.h"
10465 struct r_found_version
10471 const char *filename;
10476 enum r_dir_status { unknown, nonexisting, existing };
10478 struct r_search_path_elem
10481 struct r_search_path_elem *next;
10489 const char *dirname;
10492 enum r_dir_status status[0];
10495 struct r_strlenpair
10503 struct libname_list
10506 struct libname_list *next;
10518 allow_libpthread = 4,
10524 struct La_i86_regs;
10525 struct La_i86_retval;
10526 struct La_x86_64_regs;
10527 struct La_x86_64_retval;
10528 struct La_ppc32_regs;
10529 struct La_ppc32_retval;
10530 struct La_ppc64_regs;
10531 struct La_ppc64_retval;
10533 struct La_sh_retval;
10534 struct La_m68k_regs;
10535 struct La_m68k_retval;
10536 struct La_alpha_regs;
10537 struct La_alpha_retval;
10538 struct La_s390_32_regs;
10539 struct La_s390_32_retval;
10540 struct La_s390_64_regs;
10541 struct La_s390_64_retval;
10542 struct La_ia64_regs;
10543 struct La_ia64_retval;
10544 struct La_mips_32_regs;
10545 struct La_mips_32_retval;
10546 struct La_mips_64_regs;
10547 struct La_mips_64_retval;
10548 struct La_sparc32_regs;
10549 struct La_sparc32_retval;
10550 struct La_sparc64_regs;
10551 struct La_sparc64_retval;
10553 struct audit_ifaces
10555 void (*activity) (uintptr_t *, unsigned int);
10556 char *(*objsearch) (const char *, uintptr_t *, unsigned int);
10557 unsigned int (*objopen) (struct link_map *, Lmid_t, uintptr_t *);
10558 void (*preinit) (uintptr_t *);
10561 uintptr_t (*symbind32) (Elf32_Sym *, unsigned int, uintptr_t *,
10562 uintptr_t *, unsigned int *, const char *);
10563 uintptr_t (*symbind64) (Elf64_Sym *, unsigned int, uintptr_t *,
10564 uintptr_t *, unsigned int *, const char *);
10568 Elf32_Addr (*i86_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
10569 uintptr_t *, struct La_i86_regs *,
10570 unsigned int *, const char *name,
10571 long int *framesizep);
10572 Elf64_Addr (*x86_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
10573 uintptr_t *, struct La_x86_64_regs *,
10574 unsigned int *, const char *name,
10575 long int *framesizep);
10576 Elf32_Addr (*ppc32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
10577 uintptr_t *, struct La_ppc32_regs *,
10578 unsigned int *, const char *name,
10579 long int *framesizep);
10580 Elf64_Addr (*ppc64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
10581 uintptr_t *, struct La_ppc64_regs *,
10582 unsigned int *, const char *name,
10583 long int *framesizep);
10584 uintptr_t (*sh_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
10585 uintptr_t *, const struct La_sh_regs *,
10586 unsigned int *, const char *name,
10587 long int *framesizep);
10588 Elf32_Addr (*m68k_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
10589 uintptr_t *, struct La_m68k_regs *,
10590 unsigned int *, const char *name,
10591 long int *framesizep);
10592 Elf64_Addr (*alpha_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
10593 uintptr_t *, struct La_alpha_regs *,
10594 unsigned int *, const char *name,
10595 long int *framesizep);
10596 Elf32_Addr (*s390_32_gnu_pltenter) (Elf32_Sym *, unsigned int, uintptr_t *,
10597 uintptr_t *, struct La_s390_32_regs *,
10598 unsigned int *, const char *name,
10599 long int *framesizep);
10600 Elf64_Addr (*s390_64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
10601 uintptr_t *, struct La_s390_64_regs *,
10602 unsigned int *, const char *name,
10603 long int *framesizep);
10604 Elf64_Addr (*ia64_gnu_pltenter) (Elf64_Sym *, unsigned int, uintptr_t *,
10605 uintptr_t *, struct La_ia64_regs *,
10606 unsigned int *, const char *name,
10607 long int *framesizep);
10608 Elf32_Addr (*mips_o32_gnu_pltenter) (Elf32_Sym *, unsigned int,
10609 uintptr_t *, uintptr_t *,
10610 const struct La_mips_32_regs *,
10611 unsigned int *, const char *name,
10612 long int *framesizep);
10613 Elf32_Addr (*mips_n32_gnu_pltenter) (Elf32_Sym *, unsigned int,
10614 uintptr_t *, uintptr_t *,
10615 const struct La_mips_64_regs *,
10616 unsigned int *, const char *name,
10617 long int *framesizep);
10618 Elf64_Addr (*mips_n64_gnu_pltenter) (Elf64_Sym *, unsigned int,
10619 uintptr_t *, uintptr_t *,
10620 const struct La_mips_64_regs *,
10621 unsigned int *, const char *name,
10622 long int *framesizep);
10623 Elf32_Addr (*sparc32_gnu_pltenter) (Elf32_Sym *, unsigned int,
10624 uintptr_t *, uintptr_t *,
10625 const struct La_sparc32_regs *,
10626 unsigned int *, const char *name,
10627 long int *framesizep);
10628 Elf64_Addr (*sparc64_gnu_pltenter) (Elf64_Sym *, unsigned int,
10629 uintptr_t *, uintptr_t *,
10630 const struct La_sparc64_regs *,
10631 unsigned int *, const char *name,
10632 long int *framesizep);
10639 unsigned int (*i86_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
10640 uintptr_t *, const struct La_i86_regs *,
10641 struct La_i86_retval *, const char *);
10642 unsigned int (*x86_64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
10644 const struct La_x86_64_regs *,
10645 struct La_x86_64_retval *,
10647 unsigned int (*ppc32_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
10649 const struct La_ppc32_regs *,
10650 struct La_ppc32_retval *, const char *);
10651 unsigned int (*ppc64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
10653 const struct La_ppc64_regs *,
10654 struct La_ppc64_retval *, const char *);
10655 unsigned int (*sh_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
10656 uintptr_t *, const struct La_sh_regs *,
10657 struct La_sh_retval *, const char *);
10658 unsigned int (*m68k_gnu_pltexit) (Elf32_Sym *, unsigned int, uintptr_t *,
10659 uintptr_t *, const struct La_m68k_regs *,
10660 struct La_m68k_retval *, const char *);
10661 unsigned int (*alpha_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
10663 const struct La_alpha_regs *,
10664 struct La_alpha_retval *, const char *);
10665 unsigned int (*s390_32_gnu_pltexit) (Elf32_Sym *, unsigned int,
10666 uintptr_t *, uintptr_t *,
10667 const struct La_s390_32_regs *,
10668 struct La_s390_32_retval *,
10670 unsigned int (*s390_64_gnu_pltexit) (Elf64_Sym *, unsigned int,
10671 uintptr_t *, uintptr_t *,
10672 const struct La_s390_64_regs *,
10673 struct La_s390_64_retval *,
10675 unsigned int (*ia64_gnu_pltexit) (Elf64_Sym *, unsigned int, uintptr_t *,
10677 const struct La_ia64_regs *,
10678 struct La_ia64_retval *, const char *);
10679 unsigned int (*mips_o32_gnu_pltexit) (Elf32_Sym *, unsigned int,
10680 uintptr_t *, uintptr_t *,
10681 const struct La_mips_32_regs *,
10682 struct La_mips_32_retval *,
10684 unsigned int (*mips_n32_gnu_pltexit) (Elf32_Sym *, unsigned int,
10685 uintptr_t *, uintptr_t *,
10686 const struct La_mips_64_regs *,
10687 struct La_mips_64_retval *,
10689 unsigned int (*mips_n64_gnu_pltexit) (Elf64_Sym *, unsigned int,
10690 uintptr_t *, uintptr_t *,
10691 const struct La_mips_64_regs *,
10692 struct La_mips_64_retval *,
10694 unsigned int (*sparc32_gnu_pltexit) (Elf32_Sym *, unsigned int,
10695 uintptr_t *, uintptr_t *,
10696 const struct La_sparc32_regs *,
10697 struct La_sparc32_retval *,
10699 unsigned int (*sparc64_gnu_pltexit) (Elf64_Sym *, unsigned int,
10700 uintptr_t *, uintptr_t *,
10701 const struct La_sparc32_regs *,
10702 struct La_sparc32_retval *,
10708 unsigned int (*objclose) (uintptr_t *);
10710 struct audit_ifaces *next;
10715 extern int _dl_name_match_p (const char *__name, struct link_map *__map)
10721 typedef void (*receiver_fct) (int, const char *, const char *);
10722 # 404 "../sysdeps/generic/ldsodefs.h"
10725 # 416 "../sysdeps/generic/ldsodefs.h"
10726 struct link_namespaces
10729 struct link_map *_ns_loaded;
10731 unsigned int _ns_nloaded;
10733 struct r_scope_elem *_ns_global_scope[2];
10735 struct r_scope_elem *_ns_main_searchlist;
10739 size_t _ns_global_scope_alloc;
10741 struct r_debug _ns_debug;
10743 # 441 "../sysdeps/generic/ldsodefs.h"
10744 __rtld_lock_recursive_t _dl_load_lock;
10747 unsigned long long _dl_load_adds;
10755 struct link_map *_dl_initfirst;
10763 struct link_map *_dl_profile_map;
10766 unsigned long int _dl_num_relocations;
10767 unsigned long int _dl_num_cache_relocations;
10770 struct r_search_path_elem *_dl_all_dirs;
10773 void **(*_dl_error_catch_tsd) (void) __attribute__ ((const));
10778 struct link_map _dl_rtld_map;
10780 struct auditstate audit_data[16];
10785 void (*_dl_rtld_lock_recursive) (void *);
10786 void (*_dl_rtld_unlock_recursive) (void *);
10790 Elf64_Word _dl_stack_flags;
10795 int (*_dl_make_stack_executable_hook) (void **) ;
10803 size_t _dl_tls_max_dtv_idx;
10805 _Bool _dl_tls_dtv_gaps;
10807 struct dtv_slotinfo_list
10810 struct dtv_slotinfo_list *next;
10811 struct dtv_slotinfo
10814 struct link_map *map;
10816 } *_dl_tls_dtv_slotinfo_list;
10818 size_t _dl_tls_static_nelem;
10820 size_t _dl_tls_static_size;
10822 size_t _dl_tls_static_used;
10824 size_t _dl_tls_static_align;
10825 # 532 "../sysdeps/generic/ldsodefs.h"
10826 void *_dl_initial_dtv;
10828 size_t _dl_tls_generation;
10830 void (*_dl_init_static_tls) (struct link_map *);
10835 # 555 "../sysdeps/generic/ldsodefs.h"
10836 extern struct rtld_global _rtld_local __attribute__ ((visibility ("hidden")));
10839 extern struct rtld_global _rtld_global ;
10840 # 570 "../sysdeps/generic/ldsodefs.h"
10841 struct rtld_global_ro
10846 int _dl_debug_mask;
10847 # 590 "../sysdeps/generic/ldsodefs.h"
10848 size_t _dl_pagesize;
10851 unsigned int _dl_osversion;
10853 const char *_dl_platform;
10854 size_t _dl_platformlen;
10857 struct r_scope_elem _dl_initial_searchlist;
10876 int _dl_dynamic_weak;
10879 fpu_control_t _dl_fpu_control;
10882 int _dl_correct_cache_id;
10885 int _dl_pointer_guard;
10888 uint64_t _dl_hwcap;
10891 uint64_t _dl_hwcap_mask;
10898 # 1 "../sysdeps/generic/dl-procinfo.c" 1
10899 # 641 "../sysdeps/generic/ldsodefs.h" 2
10902 const char *_dl_inhibit_rpath;
10905 const char *_dl_origin_path;
10910 Elf64_Addr _dl_use_load_bias;
10913 const char *_dl_profile;
10915 const char *_dl_profile_output;
10917 const char *_dl_trace_prelink;
10919 struct link_map *_dl_trace_prelink_map;
10922 struct r_search_path_elem *_dl_init_all_dirs;
10923 # 678 "../sysdeps/generic/ldsodefs.h"
10924 const Elf64_Ehdr *_dl_sysinfo_dso;
10928 struct link_map *_dl_sysinfo_map;
10936 void (*_dl_debug_printf) (const char *, ...)
10937 __attribute__ ((__format__ (__printf__, 1, 2)));
10938 int ( *_dl_catch_error) (const char **, const char **,
10939 _Bool *, void (*) (void *), void *);
10940 void ( *_dl_signal_error) (int, const char *, const char *,
10942 void (*_dl_mcount) (Elf64_Addr frompc, Elf64_Addr selfpc);
10943 lookup_t ( *_dl_lookup_symbol_x) (const char *,
10945 const Elf64_Sym **,
10946 struct r_scope_elem *[],
10947 const struct r_found_version *,
10949 struct link_map *);
10950 int (*_dl_check_caller) (const void *, enum allowmask);
10951 void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen,
10952 Lmid_t nsid, int argc, char *argv[], char *env[]);
10953 void (*_dl_close) (void *map);
10956 struct audit_ifaces *_dl_audit;
10957 unsigned int _dl_naudit;
10966 extern struct rtld_global_ro _rtld_local_ro
10967 __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden")));
10968 extern struct rtld_global_ro _rtld_global_ro
10969 __attribute__ ((section (".data.rel.ro"))) ;
10970 # 738 "../sysdeps/generic/ldsodefs.h"
10971 extern void **_dl_initial_error_catch_tsd (void) __attribute__ ((const))
10972 __attribute__ ((visibility ("hidden")));
10977 extern int _dl_make_stack_executable (void **stack_endp) ;
10978 extern __typeof (_dl_make_stack_executable) _dl_make_stack_executable __asm__ ("" "__GI__dl_make_stack_executable") __attribute__ ((visibility ("hidden")));
10985 extern void *__libc_stack_end __attribute__ ((section (".data.rel.ro")));
10986 extern __typeof (__libc_stack_end) __libc_stack_end __asm__ ("" "__GI___libc_stack_end") __attribute__ ((visibility ("hidden")));
10989 extern int _dl_argc __attribute__ ((visibility ("hidden"))) __attribute__ ((section (".data.rel.ro")));
10990 extern char **_dl_argv
10992 __attribute__ ((section (".data.rel.ro")))
10996 extern char **_dl_argv_internal __attribute__ ((visibility ("hidden")))
10998 __attribute__ ((section (".data.rel.ro")))
11007 extern int _dl_starting_up;
11009 # 775 "../sysdeps/generic/ldsodefs.h"
11010 #pragma weak _dl_starting_up
11011 # 775 "../sysdeps/generic/ldsodefs.h"
11014 extern int _dl_starting_up_internal __attribute__ ((visibility ("hidden")));
11018 extern int _dl_sysdep_open_zero_fill (void);
11024 extern void _dl_debug_printf (const char *fmt, ...)
11025 __attribute__ ((__format__ (__printf__, 1, 2))) __attribute__ ((visibility ("hidden")));
11030 extern void _dl_debug_printf_c (const char *fmt, ...)
11031 __attribute__ ((__format__ (__printf__, 1, 2)));
11036 extern void _dl_dprintf (int fd, const char *fmt, ...)
11037 __attribute__ ((__format__ (__printf__, 2, 3)))
11038 __attribute__ ((visibility ("hidden")));
11039 # 829 "../sysdeps/generic/ldsodefs.h"
11040 extern void _dl_signal_error (int errcode, const char *object,
11041 const char *occurred, const char *errstring)
11042 __attribute__ ((__noreturn__)) __attribute__ ((visibility ("hidden")));
11046 extern void _dl_signal_cerror (int errcode, const char *object,
11047 const char *occation, const char *errstring)
11054 extern void _dl_receive_error (receiver_fct fct, void (*operate) (void *),
11064 extern struct link_map *_dl_map_object (struct link_map *loader,
11065 const char *name, int preloaded,
11066 int type, int trace_mode, int mode,
11068 __attribute__ ((visibility ("hidden")));
11074 extern void _dl_map_object_deps (struct link_map *map,
11075 struct link_map **preloads,
11076 unsigned int npreloads, int trace_mode,
11078 __attribute__ ((visibility ("hidden")));
11081 extern void _dl_setup_hash (struct link_map *map)
11082 __attribute__ ((visibility ("hidden")));
11090 extern void _dl_rtld_di_serinfo (struct link_map *loader,
11091 Dl_serinfo *si, _Bool counting)
11093 # 893 "../sysdeps/generic/ldsodefs.h"
11097 DL_LOOKUP_ADD_DEPENDENCY = 1,
11100 DL_LOOKUP_RETURN_NEWEST = 2
11104 extern lookup_t _dl_lookup_symbol_x (const char *undef,
11105 struct link_map *undef_map,
11106 const Elf64_Sym **sym,
11107 struct r_scope_elem *symbol_scope[],
11108 const struct r_found_version *version,
11109 int type_class, int explicit,
11110 struct link_map *skip_map)
11111 __attribute__ ((visibility ("hidden")));
11115 extern Elf64_Addr _dl_symbol_value (struct link_map *map, const char *name)
11120 extern struct link_map *_dl_new_object (char *realname, const char *libname,
11121 int type, struct link_map *loader,
11122 int mode, Lmid_t nsid)
11123 __attribute__ ((visibility ("hidden")));
11128 extern void _dl_relocate_object (struct link_map *map,
11129 struct r_scope_elem *scope[],
11130 int lazy, int consider_profiling)
11131 __attribute__ ((visibility ("hidden")));
11134 extern void _dl_protect_relro (struct link_map *map)
11135 __attribute__ ((visibility ("hidden")));
11140 extern void _dl_reloc_bad_type (struct link_map *map,
11141 unsigned int type, int plt)
11142 __attribute__ ((__noreturn__));
11145 extern void _dl_resolve_conflicts (struct link_map *l,
11146 Elf64_Rela *conflict,
11147 Elf64_Rela *conflictend);
11151 extern int _dl_check_all_versions (struct link_map *map, int verbose,
11157 extern int _dl_check_map_versions (struct link_map *map, int verbose,
11163 extern void _dl_init (struct link_map *main_map, int argc, char **argv,
11164 char **env) __attribute__ ((visibility ("hidden")));
11168 extern void _dl_fini (void) ;
11171 extern void _dl_sort_fini (struct link_map *l, struct link_map **maps,
11172 size_t nmaps, char *used, Lmid_t ns)
11179 extern void _dl_debug_state (void);
11180 extern __typeof (_dl_debug_state) _dl_debug_state __asm__ ("" "__GI__dl_debug_state") __attribute__ ((visibility ("hidden")));
11185 extern struct r_debug *_dl_debug_initialize (Elf64_Addr ldbase, Lmid_t ns)
11189 extern void _dl_init_paths (const char *library_path) ;
11193 extern void _dl_start_profile (void) __attribute__ ((visibility ("hidden")));
11196 extern void _dl_mcount (Elf64_Addr frompc, Elf64_Addr selfpc);
11197 extern void _dl_mcount_internal (Elf64_Addr frompc, Elf64_Addr selfpc)
11198 __attribute__ ((visibility ("hidden")));
11203 extern void _dl_mcount_wrapper (void *selfpc);
11206 extern void _dl_show_auxv (void) ;
11210 extern char *_dl_next_ld_env_entry (char ***position) ;
11213 extern const struct r_strlenpair *_dl_important_hwcaps (const char *platform,
11214 size_t paltform_len,
11216 size_t *max_capstrlen)
11221 extern const char *_dl_load_cache_lookup (const char *name)
11228 extern void _dl_unload_cache (void) __attribute__ ((visibility ("hidden")));
11233 extern void *_dl_sysdep_read_whole_file (const char *file, size_t *sizep,
11235 __attribute__ ((visibility ("hidden")));
11241 extern Elf64_Addr _dl_sysdep_start (void **start_argptr,
11242 void (*dl_main) (const Elf64_Phdr *phdr,
11244 Elf64_Addr *user_entry))
11245 __attribute__ ((visibility ("hidden")));
11247 extern void _dl_sysdep_start_cleanup (void)
11248 __attribute__ ((visibility ("hidden")));
11252 extern size_t _dl_next_tls_modid (void) __attribute__ ((visibility ("hidden")));
11255 extern void _dl_determine_tlsoffset (void) __attribute__ ((visibility ("hidden")));
11260 extern int _dl_tls_setup (void) ;
11261 extern __typeof (_dl_tls_setup) _dl_tls_setup __asm__ ("" "__GI__dl_tls_setup") __attribute__ ((visibility ("hidden")));
11264 extern void *_dl_allocate_tls (void *mem) ;
11265 extern __typeof (_dl_allocate_tls) _dl_allocate_tls __asm__ ("" "__GI__dl_allocate_tls") __attribute__ ((visibility ("hidden")));
11268 extern void _dl_get_tls_static_info (size_t *sizep, size_t *alignp)
11271 extern void _dl_allocate_static_tls (struct link_map *map)
11272 __attribute__ ((visibility ("hidden")));
11276 extern void *_dl_allocate_tls_storage (void)
11277 __attribute__ ((visibility ("hidden")));
11278 extern void *_dl_allocate_tls_init (void *) ;
11279 extern __typeof (_dl_allocate_tls_init) _dl_allocate_tls_init __asm__ ("" "__GI__dl_allocate_tls_init") __attribute__ ((visibility ("hidden")));
11282 extern void _dl_deallocate_tls (void *tcb, _Bool dealloc_tcb) ;
11283 extern __typeof (_dl_deallocate_tls) _dl_deallocate_tls __asm__ ("" "__GI__dl_deallocate_tls") __attribute__ ((visibility ("hidden")));
11286 extern void _dl_nothread_init_static_tls (struct link_map *) __attribute__ ((visibility ("hidden")));
11290 extern const char *_dl_get_origin (void) __attribute__ ((visibility ("hidden")));
11293 extern size_t _dl_dst_count (const char *name, int is_path) __attribute__ ((visibility ("hidden")));
11296 extern char *_dl_dst_substitute (struct link_map *l, const char *name,
11297 char *result, int is_path) __attribute__ ((visibility ("hidden")));
11300 extern int _dl_check_caller (const void *caller, enum allowmask mask)
11301 __attribute__ ((visibility ("hidden")));
11306 extern void *_dl_open (const char *name, int mode, const void *caller,
11307 Lmid_t nsid, int argc, char *argv[], char *env[])
11308 __attribute__ ((visibility ("hidden")));
11311 extern void _dl_add_to_slotinfo (struct link_map *l) __attribute__ ((visibility ("hidden")));
11315 extern struct link_map *_dl_update_slotinfo (unsigned long int req_modid);
11319 extern void *_dl_tls_get_addr_soft (struct link_map *l) ;
11323 # 26 "../sysdeps/unix/sysv/linux/ldsodefs.h" 2
11331 extern void _dl_aux_init (Elf64_auxv_t *av) ;
11334 extern void _dl_non_dynamic_init (void) ;
11336 # 1 "../stdio-common/_itoa.h" 1
11337 # 29 "../stdio-common/_itoa.h"
11338 extern char *_itoa (unsigned long long int value, char *buflim,
11339 unsigned int base, int upper_case);
11341 extern const char _itoa_upper_digits[];
11342 extern const char _itoa_upper_digits_internal[] __attribute__ ((visibility ("hidden")));
11343 extern const char _itoa_lower_digits[];
11344 extern const char _itoa_lower_digits_internal[] __attribute__ ((visibility ("hidden")));
11350 static inline char * __attribute__ ((unused, always_inline))
11351 _itoa_word (unsigned long value, char *buflim,
11352 unsigned int base, int upper_case)
11354 const char *digits = (upper_case
11356 ? _itoa_upper_digits_internal
11357 : _itoa_lower_digits_internal
11373 case 10: do *--buflim = digits[value % 10]; while ((value /= 10) != 0); break;
11374 case 16: do *--buflim = digits[value % 16]; while ((value /= 16) != 0); break;
11375 case 8: do *--buflim = digits[value % 8]; while ((value /= 8) != 0); break;
11378 *--buflim = digits[value % base];
11379 while ((value /= base) != 0);
11388 extern char *_fitoa_word (unsigned long value, char *buf, unsigned int base,
11389 int upper_case) __attribute__ ((visibility ("hidden")));
11390 extern char *_fitoa (unsigned long long value, char *buf, unsigned int base,
11391 int upper_case) __attribute__ ((visibility ("hidden")));
11393 # 1 "../sysdeps/generic/entry.h" 1
11395 extern void _start (void) __attribute__ ((visibility ("hidden")));
11397 # 1 "../include/fpu_control.h" 1
11401 extern void __setfpucw (fpu_control_t);
11405 # 1 "dynamic-link.h" 1
11406 # 21 "dynamic-link.h"
11407 # 1 "../include/assert.h" 1
11408 # 1 "../assert/assert.h" 1
11409 # 65 "../assert/assert.h"
11413 extern void __assert_fail (__const char *__assertion, __const char *__file,
11414 unsigned int __line, __const char *__function)
11415 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
11418 extern void __assert_perror_fail (int __errnum, __const char *__file,
11419 unsigned int __line,
11420 __const char *__function)
11421 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
11426 extern void __assert (const char *__assertion, const char *__file, int __line)
11427 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
11431 # 2 "../include/assert.h" 2
11436 extern void __assert_fail (__const char *__assertion, __const char *__file,
11437 unsigned int __line, __const char *__function)
11438 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
11441 extern void __assert_perror_fail (int __errnum, __const char *__file,
11442 unsigned int __line,
11443 __const char *__function)
11444 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
11447 extern __typeof (__assert_fail) __assert_fail __asm__ ("" "__GI___assert_fail") __attribute__ ((visibility ("hidden")));
11448 extern __typeof (__assert_perror_fail) __assert_perror_fail __asm__ ("" "__GI___assert_perror_fail") __attribute__ ((visibility ("hidden")));
11449 # 22 "dynamic-link.h" 2
11450 # 63 "dynamic-link.h"
11451 # 1 "../sysdeps/s390/s390-64/dl-machine.h" 1
11452 # 35 "../sysdeps/s390/s390-64/dl-machine.h"
11454 elf_machine_matches_host (const Elf64_Ehdr *ehdr)
11456 return (ehdr->e_machine == 22 || ehdr->e_machine == 0xA390)
11457 && ehdr->e_ident[4] == 2;
11464 static inline Elf64_Addr
11465 elf_machine_dynamic (void)
11467 register Elf64_Addr *got;
11469 asm( " larl %0,_GLOBAL_OFFSET_TABLE_\n"
11470 : "=&a" (got) : : "0" );
11476 static inline Elf64_Addr
11477 elf_machine_load_address (void)
11481 asm( " larl %0,_dl_start\n"
11482 " larl 1,_GLOBAL_OFFSET_TABLE_\n"
11483 " lghi 2,_dl_start@GOT\n"
11485 : "=&d" (addr) : : "1", "2" );
11492 static inline int __attribute__ ((unused))
11493 elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
11495 extern void _dl_runtime_resolve (Elf64_Word);
11496 extern void _dl_runtime_profile (Elf64_Word);
11498 if (l->l_info[23] && lazy)
11505 got = (Elf64_Addr *) (l)->l_info[3]->d_un.d_ptr;
11511 l->l_mach.plt = got[1] + l->l_addr;
11512 l->l_mach.gotplt = (Elf64_Addr) &got[3];
11514 got[1] = (Elf64_Addr) l;
11522 if (__builtin_expect (profile, 0))
11524 got[2] = (Elf64_Addr) &_dl_runtime_profile;
11526 if (_rtld_local_ro._dl_profile != ((void *)0)
11527 && _dl_name_match_p (_rtld_local_ro._dl_profile, l))
11530 _rtld_local._dl_profile_map = l;
11535 got[2] = (Elf64_Addr) &_dl_runtime_resolve;
11540 # 217 "../sysdeps/s390/s390-64/dl-machine.h"
11541 static inline void __attribute__ ((unused))
11542 dl_platform_init (void)
11544 if (_rtld_local_ro._dl_platform != ((void *)0) && *_rtld_local_ro._dl_platform == '\0')
11546 _rtld_local_ro._dl_platform = ((void *)0);
11549 static inline Elf64_Addr
11550 elf_machine_fixup_plt (struct link_map *map, lookup_t t,
11551 const Elf64_Rela *reloc,
11552 Elf64_Addr *reloc_addr, Elf64_Addr value)
11554 return *reloc_addr = value;
11558 static inline Elf64_Addr
11559 elf_machine_plt_value (struct link_map *map, const Elf64_Rela *reloc,
11564 # 64 "dynamic-link.h" 2
11565 # 76 "dynamic-link.h"
11570 inline void __attribute__ ((unused, always_inline))
11571 elf_get_dynamic_info (struct link_map *l, Elf64_Dyn *temp)
11573 Elf64_Dyn *dyn = l->l_ld;
11577 if (dyn == ((void *)0))
11583 while (dyn->d_tag != 0)
11585 if (dyn->d_tag < 34)
11586 info[dyn->d_tag] = dyn;
11587 else if (dyn->d_tag >= 0x70000000 &&
11588 dyn->d_tag < 0x70000000 + 0)
11589 info[dyn->d_tag - 0x70000000 + 34] = dyn;
11590 else if (dyn->d_tag >= 0x6cbdd030 &&
11591 dyn->d_tag < 0x6cbdd030 + 2)
11592 info[(34 + 0 + 16 + 3 + 12 + 10 + (dyn->d_tag - 0x6cbdd030))] = dyn;
11593 else if ((Elf32_Word) (0x6fffffff - (dyn->d_tag)) < 16)
11594 info[(34 + 0 + (0x6fffffff - (dyn->d_tag)))] = dyn;
11595 else if ((Elf32_Word) ((Elf32_Word)-((Elf32_Sword) (dyn->d_tag) <<1>>1)-1) < 3)
11596 info[((Elf32_Word)-((Elf32_Sword) (dyn->d_tag) <<1>>1)-1) + 34 + 0
11598 else if ((Elf32_Word) (0x6ffffdff - (dyn->d_tag)) < 12)
11599 info[(0x6ffffdff - (dyn->d_tag)) + 34 + 0
11601 else if ((Elf32_Word) (0x6ffffeff - (dyn->d_tag)) < 10)
11602 info[(0x6ffffeff - (dyn->d_tag)) + 34 + 0
11603 + 16 + 3 + 12] = dyn;
11611 if (l->l_addr != 0)
11613 Elf64_Addr l_addr = l->l_addr;
11615 # 141 "dynamic-link.h"
11616 do if (info[4] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[4]->d_tag; temp[cnt].d_un.d_ptr = info[4]->d_un.d_ptr + l_addr; info[4] = temp + cnt++; } else info[4]->d_un.d_ptr += l_addr; } while (0);
11617 do if (info[3] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[3]->d_tag; temp[cnt].d_un.d_ptr = info[3]->d_un.d_ptr + l_addr; info[3] = temp + cnt++; } else info[3]->d_un.d_ptr += l_addr; } while (0);
11618 do if (info[5] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[5]->d_tag; temp[cnt].d_un.d_ptr = info[5]->d_un.d_ptr + l_addr; info[5] = temp + cnt++; } else info[5]->d_un.d_ptr += l_addr; } while (0);
11619 do if (info[6] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[6]->d_tag; temp[cnt].d_un.d_ptr = info[6]->d_un.d_ptr + l_addr; info[6] = temp + cnt++; } else info[6]->d_un.d_ptr += l_addr; } while (0);
11621 do if (info[7] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[7]->d_tag; temp[cnt].d_un.d_ptr = info[7]->d_un.d_ptr + l_addr; info[7] = temp + cnt++; } else info[7]->d_un.d_ptr += l_addr; } while (0);
11626 do if (info[23] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[23]->d_tag; temp[cnt].d_un.d_ptr = info[23]->d_un.d_ptr + l_addr; info[23] = temp + cnt++; } else info[23]->d_un.d_ptr += l_addr; } while (0);
11627 do if (info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr + l_addr; info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] = temp + cnt++; } else info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr += l_addr; } while (0);
11628 do if (info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_un.d_ptr + l_addr; info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))] = temp + cnt++; } else info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_un.d_ptr += l_addr; } while (0);
11629 do if (info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_un.d_ptr + l_addr; info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))] = temp + cnt++; } else info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_un.d_ptr += l_addr; } while (0);
11631 ((void) ((cnt <= 8) ? 0 : (__assert_fail ("cnt <= 8", "dynamic-link.h", 156, __PRETTY_FUNCTION__), 0)));
11634 if (info[20] != ((void *)0))
11639 ((void) ((info[20]->d_un.d_val == 7) ? 0 : (__assert_fail ("info[20]->d_un.d_val == 7", "dynamic-link.h", 164, __PRETTY_FUNCTION__), 0)));
11646 if (info[7] != ((void *)0))
11647 ((void) ((info[9]->d_un.d_val == sizeof (Elf64_Rela)) ? 0 : (__assert_fail ("info[9]->d_un.d_val == sizeof (Elf64_Rela)", "dynamic-link.h", 172, __PRETTY_FUNCTION__), 0)));
11648 # 188 "dynamic-link.h"
11649 if (info[30] != ((void *)0))
11654 l->l_flags = info[30]->d_un.d_val;
11656 if (l->l_flags & 0x00000002)
11657 info[16] = info[30];
11658 if (l->l_flags & 0x00000004)
11659 info[22] = info[30];
11660 if (l->l_flags & 0x00000008)
11661 info[24] = info[30];
11663 if (info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))] != ((void *)0))
11665 l->l_flags_1 = info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))]->d_un.d_val;
11667 if (l->l_flags_1 & 0x00000001)
11668 info[24] = info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))];
11670 if (info[29] != ((void *)0))
11672 info[15] = ((void *)0);
11676 # 1 "../sysdeps/unix/sysv/linux/dl-librecon.h" 1
11677 # 24 "../sysdeps/unix/sysv/linux/dl-librecon.h"
11678 static inline void __attribute__ ((unused, always_inline))
11679 _dl_osversion_init (char *assume_kernel)
11681 unsigned long int i, j, osversion = 0;
11682 char *p = assume_kernel, *q;
11684 for (i = 0; i < 3; i++, p = q + 1)
11686 j = __strtoul_internal (p, &q, 0, 0);
11687 if (j >= 255 || p == q || (i < 2 && *q && *q != '.'))
11692 osversion |= j << (16 - 8 * i);
11697 _rtld_local_ro._dl_osversion = osversion;
11700 # 1 "../sysdeps/generic/unsecvars.h" 1
11702 # 1 "../sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h" 1
11703 # 25 "../sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h"
11704 # 1 "../sysdeps/unix/sysv/linux/s390/dl-cache.h" 1
11705 # 1 "../sysdeps/unix/sysv/linux/sparc/dl-cache.h" 1
11706 # 39 "../sysdeps/unix/sysv/linux/sparc/dl-cache.h"
11707 # 1 "../sysdeps/generic/dl-cache.h" 1
11708 # 61 "../sysdeps/generic/dl-cache.h"
11712 unsigned int key, value;
11717 char magic[sizeof "ld.so-1.7.0" - 1];
11718 unsigned int nlibs;
11719 struct file_entry libs[0];
11727 struct file_entry_new
11730 uint32_t key, value;
11731 uint32_t osversion;
11735 struct cache_file_new
11737 char magic[sizeof "glibc-ld.so.cache" - 1];
11738 char version[sizeof "1.1" - 1];
11740 uint32_t len_strings;
11741 uint32_t unused[5];
11743 struct file_entry_new libs[0];
11752 extern int _dl_cache_libcmp (const char *p1, const char *p2)
11754 # 39 "../sysdeps/unix/sysv/linux/sparc/dl-cache.h" 2
11755 # 1 "../sysdeps/unix/sysv/linux/s390/dl-cache.h" 2
11756 # 25 "../sysdeps/unix/sysv/linux/s390/s390-64/dl-cache.h" 2
11758 # 1 "../sysdeps/unix/sysv/linux/dl-osinfo.h" 1
11759 # 22 "../sysdeps/unix/sysv/linux/dl-osinfo.h"
11760 # 1 "../include/sys/sysctl.h" 1
11762 # 1 "../sysdeps/unix/sysv/linux/sys/sysctl.h" 1
11763 # 24 "../sysdeps/unix/sysv/linux/sys/sysctl.h"
11764 # 1 "/usr/lib64/gcc/s390x-suse-linux/4.1.0/include/stddef.h" 1 3 4
11765 # 25 "../sysdeps/unix/sysv/linux/sys/sysctl.h" 2
11766 # 44 "../sysdeps/unix/sysv/linux/sys/sysctl.h"
11767 # 1 "/usr/include/linux/sysctl.h" 1 3 4
11768 # 28 "/usr/include/linux/sysctl.h" 3 4
11769 # 1 "/usr/include/linux/kernel.h" 1 3 4
11770 # 29 "/usr/include/linux/sysctl.h" 2 3 4
11771 # 1 "/usr/include/linux/types.h" 1 3 4
11772 # 30 "/usr/include/linux/sysctl.h" 2 3 4
11782 struct __sysctl_args {
11789 unsigned long __unused[4];
11821 INOTIFY_MAX_USER_INSTANCES=1,
11822 INOTIFY_MAX_USER_WATCHES=2,
11823 INOTIFY_MAX_QUEUED_EVENTS=3
11840 KERN_REALROOTDEV=16,
11842 KERN_SPARC_REBOOT=21,
11846 KERN_PPC_HTABRECLAIM=25,
11847 KERN_PPC_ZEROPAGED=26,
11848 KERN_PPC_POWERSAVE_NAP=27,
11850 KERN_SG_BIG_BUFF=29,
11862 KERN_MAX_THREADS=39,
11867 KERN_SPARC_STOP_A=44,
11869 KERN_OVERFLOWUID=46,
11870 KERN_OVERFLOWGID=47,
11873 KERN_IEEE_EMULATION_WARNINGS=50,
11874 KERN_S390_USER_DEBUG_LOGGING=51,
11875 KERN_CORE_USES_PID=52,
11879 KERN_CORE_PATTERN=56,
11880 KERN_PANIC_ON_OOPS=57,
11881 KERN_HPPA_PWRSW=58,
11882 KERN_HPPA_UNALIGNED=59,
11883 KERN_PRINTK_RATELIMIT=60,
11884 KERN_PRINTK_RATELIMIT_BURST=61,
11886 KERN_NGROUPS_MAX=63,
11887 KERN_SPARC_SCONS_PWROFF=64,
11889 KERN_UNKNOWN_NMI_PANIC=66,
11890 KERN_BOOTLOADER_TYPE=67,
11892 KERN_SETUID_DUMPABLE=69,
11893 KERN_SPIN_RETRY=70,
11894 KERN_ACPI_VIDEO_FLAGS=71,
11895 KERN_IA64_UNALIGNED=72,
11896 KERN_COMPAT_LOG=73,
11897 KERN_MAX_LOCK_DEPTH=74,
11898 KERN_NMI_WATCHDOG=75,
11899 KERN_PANIC_ON_NMI=76,
11911 VM_OVERCOMMIT_MEMORY=5,
11916 VM_PAGE_CLUSTER=10,
11917 VM_DIRTY_BACKGROUND=11,
11920 VM_DIRTY_EXPIRE_CS=14,
11921 VM_NR_PDFLUSH_THREADS=15,
11922 VM_OVERCOMMIT_RATIO=16,
11924 VM_HUGETLB_PAGES=18,
11926 VM_LOWMEM_RESERVE_RATIO=20,
11927 VM_MIN_FREE_KBYTES=21,
11928 VM_MAX_MAP_COUNT=22,
11931 VM_HUGETLB_GROUP=25,
11932 VM_VFS_CACHE_PRESSURE=26,
11933 VM_LEGACY_VA_LAYOUT=27,
11934 VM_SWAP_TOKEN_TIMEOUT=28,
11935 VM_DROP_PAGECACHE=29,
11936 VM_PERCPU_PAGELIST_FRACTION=30,
11937 VM_ZONE_RECLAIM_MODE=31,
11938 VM_MIN_UNMAPPED=32,
11939 VM_PANIC_ON_OOM=33,
11940 VM_VDSO_ENABLED=34,
11974 RANDOM_ENTROPY_COUNT=2,
11975 RANDOM_READ_THRESH=3,
11976 RANDOM_WRITE_THRESH=4,
11991 BUS_ISA_MEM_BASE=1,
11992 BUS_ISA_PORT_BASE=2,
11993 BUS_ISA_PORT_SHIFT=3
11999 NET_CORE_WMEM_MAX=1,
12000 NET_CORE_RMEM_MAX=2,
12001 NET_CORE_WMEM_DEFAULT=3,
12002 NET_CORE_RMEM_DEFAULT=4,
12004 NET_CORE_MAX_BACKLOG=6,
12005 NET_CORE_FASTROUTE=7,
12006 NET_CORE_MSG_COST=8,
12007 NET_CORE_MSG_BURST=9,
12008 NET_CORE_OPTMEM_MAX=10,
12009 NET_CORE_HOT_LIST_LENGTH=11,
12010 NET_CORE_DIVERT_VERSION=12,
12011 NET_CORE_NO_CONG_THRESH=13,
12012 NET_CORE_NO_CONG=14,
12013 NET_CORE_LO_CONG=15,
12014 NET_CORE_MOD_CONG=16,
12015 NET_CORE_DEV_WEIGHT=17,
12016 NET_CORE_SOMAXCONN=18,
12017 NET_CORE_BUDGET=19,
12018 NET_CORE_AEVENT_ETIME=20,
12019 NET_CORE_AEVENT_RSEQTH=21,
12030 NET_UNIX_DESTROY_DELAY=1,
12031 NET_UNIX_DELETE_DELAY=2,
12032 NET_UNIX_MAX_DGRAM_QLEN=3,
12038 NET_NF_CONNTRACK_MAX=1,
12039 NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
12040 NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
12041 NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
12042 NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
12043 NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
12044 NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
12045 NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
12046 NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
12047 NET_NF_CONNTRACK_UDP_TIMEOUT=10,
12048 NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
12049 NET_NF_CONNTRACK_ICMP_TIMEOUT=12,
12050 NET_NF_CONNTRACK_GENERIC_TIMEOUT=13,
12051 NET_NF_CONNTRACK_BUCKETS=14,
12052 NET_NF_CONNTRACK_LOG_INVALID=15,
12053 NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
12054 NET_NF_CONNTRACK_TCP_LOOSE=17,
12055 NET_NF_CONNTRACK_TCP_BE_LIBERAL=18,
12056 NET_NF_CONNTRACK_TCP_MAX_RETRANS=19,
12057 NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
12058 NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
12059 NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
12060 NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
12061 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
12062 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
12063 NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
12064 NET_NF_CONNTRACK_COUNT=27,
12065 NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28,
12066 NET_NF_CONNTRACK_FRAG6_TIMEOUT=29,
12067 NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30,
12068 NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31,
12069 NET_NF_CONNTRACK_CHECKSUM=32,
12076 NET_IPV4_FORWARD=8,
12077 NET_IPV4_DYNADDR=9,
12082 NET_IPV4_FIB_HASH=19,
12083 NET_IPV4_NETFILTER=20,
12085 NET_IPV4_TCP_TIMESTAMPS=33,
12086 NET_IPV4_TCP_WINDOW_SCALING=34,
12087 NET_IPV4_TCP_SACK=35,
12088 NET_IPV4_TCP_RETRANS_COLLAPSE=36,
12089 NET_IPV4_DEFAULT_TTL=37,
12090 NET_IPV4_AUTOCONFIG=38,
12091 NET_IPV4_NO_PMTU_DISC=39,
12092 NET_IPV4_TCP_SYN_RETRIES=40,
12093 NET_IPV4_IPFRAG_HIGH_THRESH=41,
12094 NET_IPV4_IPFRAG_LOW_THRESH=42,
12095 NET_IPV4_IPFRAG_TIME=43,
12096 NET_IPV4_TCP_MAX_KA_PROBES=44,
12097 NET_IPV4_TCP_KEEPALIVE_TIME=45,
12098 NET_IPV4_TCP_KEEPALIVE_PROBES=46,
12099 NET_IPV4_TCP_RETRIES1=47,
12100 NET_IPV4_TCP_RETRIES2=48,
12101 NET_IPV4_TCP_FIN_TIMEOUT=49,
12102 NET_IPV4_IP_MASQ_DEBUG=50,
12103 NET_TCP_SYNCOOKIES=51,
12105 NET_TCP_RFC1337=53,
12106 NET_TCP_SYN_TAILDROP=54,
12107 NET_TCP_MAX_SYN_BACKLOG=55,
12108 NET_IPV4_LOCAL_PORT_RANGE=56,
12109 NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
12110 NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
12111 NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
12112 NET_IPV4_ICMP_DESTUNREACH_RATE=60,
12113 NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
12114 NET_IPV4_ICMP_PARAMPROB_RATE=62,
12115 NET_IPV4_ICMP_ECHOREPLY_RATE=63,
12116 NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
12117 NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
12118 NET_TCP_TW_RECYCLE=66,
12119 NET_IPV4_ALWAYS_DEFRAG=67,
12120 NET_IPV4_TCP_KEEPALIVE_INTVL=68,
12121 NET_IPV4_INET_PEER_THRESHOLD=69,
12122 NET_IPV4_INET_PEER_MINTTL=70,
12123 NET_IPV4_INET_PEER_MAXTTL=71,
12124 NET_IPV4_INET_PEER_GC_MINTIME=72,
12125 NET_IPV4_INET_PEER_GC_MAXTIME=73,
12126 NET_TCP_ORPHAN_RETRIES=74,
12127 NET_TCP_ABORT_ON_OVERFLOW=75,
12128 NET_TCP_SYNACK_RETRIES=76,
12129 NET_TCP_MAX_ORPHANS=77,
12130 NET_TCP_MAX_TW_BUCKETS=78,
12132 NET_TCP_REORDERING=80,
12138 NET_TCP_APP_WIN=86,
12139 NET_TCP_ADV_WIN_SCALE=87,
12140 NET_IPV4_NONLOCAL_BIND=88,
12141 NET_IPV4_ICMP_RATELIMIT=89,
12142 NET_IPV4_ICMP_RATEMASK=90,
12143 NET_TCP_TW_REUSE=91,
12145 NET_TCP_LOW_LATENCY=93,
12146 NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
12147 NET_IPV4_IGMP_MAX_MSF=96,
12148 NET_TCP_NO_METRICS_SAVE=97,
12149 NET_TCP_DEFAULT_WIN_SCALE=105,
12150 NET_TCP_MODERATE_RCVBUF=106,
12151 NET_TCP_TSO_WIN_DIVISOR=107,
12152 NET_TCP_BIC_BETA=108,
12153 NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
12154 NET_TCP_CONG_CONTROL=110,
12156 NET_IPV4_IPFRAG_MAX_DIST=112,
12157 NET_TCP_MTU_PROBING=113,
12158 NET_TCP_BASE_MSS=114,
12159 NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
12160 NET_TCP_DMA_COPYBREAK=116,
12161 NET_TCP_SLOW_START_AFTER_IDLE=117,
12162 NET_CIPSOV4_CACHE_ENABLE=118,
12163 NET_CIPSOV4_CACHE_BUCKET_SIZE=119,
12164 NET_CIPSOV4_RBM_OPTFMT=120,
12165 NET_CIPSOV4_RBM_STRICTVALID=121,
12166 NET_TCP_AVAIL_CONG_CONTROL=122,
12167 NET_TCP_ALLOWED_CONG_CONTROL=123,
12171 NET_IPV4_ROUTE_FLUSH=1,
12172 NET_IPV4_ROUTE_MIN_DELAY=2,
12173 NET_IPV4_ROUTE_MAX_DELAY=3,
12174 NET_IPV4_ROUTE_GC_THRESH=4,
12175 NET_IPV4_ROUTE_MAX_SIZE=5,
12176 NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
12177 NET_IPV4_ROUTE_GC_TIMEOUT=7,
12178 NET_IPV4_ROUTE_GC_INTERVAL=8,
12179 NET_IPV4_ROUTE_REDIRECT_LOAD=9,
12180 NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
12181 NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
12182 NET_IPV4_ROUTE_ERROR_COST=12,
12183 NET_IPV4_ROUTE_ERROR_BURST=13,
12184 NET_IPV4_ROUTE_GC_ELASTICITY=14,
12185 NET_IPV4_ROUTE_MTU_EXPIRES=15,
12186 NET_IPV4_ROUTE_MIN_PMTU=16,
12187 NET_IPV4_ROUTE_MIN_ADVMSS=17,
12188 NET_IPV4_ROUTE_SECRET_INTERVAL=18,
12189 NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19,
12194 NET_PROTO_CONF_ALL=-2,
12195 NET_PROTO_CONF_DEFAULT=-3
12202 NET_IPV4_CONF_FORWARDING=1,
12203 NET_IPV4_CONF_MC_FORWARDING=2,
12204 NET_IPV4_CONF_PROXY_ARP=3,
12205 NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
12206 NET_IPV4_CONF_SECURE_REDIRECTS=5,
12207 NET_IPV4_CONF_SEND_REDIRECTS=6,
12208 NET_IPV4_CONF_SHARED_MEDIA=7,
12209 NET_IPV4_CONF_RP_FILTER=8,
12210 NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
12211 NET_IPV4_CONF_BOOTP_RELAY=10,
12212 NET_IPV4_CONF_LOG_MARTIANS=11,
12213 NET_IPV4_CONF_TAG=12,
12214 NET_IPV4_CONF_ARPFILTER=13,
12215 NET_IPV4_CONF_MEDIUM_ID=14,
12216 NET_IPV4_CONF_NOXFRM=15,
12217 NET_IPV4_CONF_NOPOLICY=16,
12218 NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
12219 NET_IPV4_CONF_ARP_ANNOUNCE=18,
12220 NET_IPV4_CONF_ARP_IGNORE=19,
12221 NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
12222 NET_IPV4_CONF_ARP_ACCEPT=21,
12223 __NET_IPV4_CONF_MAX
12229 NET_IPV4_NF_CONNTRACK_MAX=1,
12230 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
12231 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
12232 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
12233 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
12234 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
12235 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
12236 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
12237 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
12238 NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
12239 NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
12240 NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
12241 NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
12242 NET_IPV4_NF_CONNTRACK_BUCKETS=14,
12243 NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
12244 NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
12245 NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
12246 NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
12247 NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
12248 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
12249 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
12250 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
12251 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
12252 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
12253 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
12254 NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
12255 NET_IPV4_NF_CONNTRACK_COUNT=27,
12256 NET_IPV4_NF_CONNTRACK_CHECKSUM=28,
12265 NET_IPV6_BINDV6ONLY=20,
12266 NET_IPV6_IP6FRAG_HIGH_THRESH=21,
12267 NET_IPV6_IP6FRAG_LOW_THRESH=22,
12268 NET_IPV6_IP6FRAG_TIME=23,
12269 NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
12270 NET_IPV6_MLD_MAX_MSF=25,
12274 NET_IPV6_ROUTE_FLUSH=1,
12275 NET_IPV6_ROUTE_GC_THRESH=2,
12276 NET_IPV6_ROUTE_MAX_SIZE=3,
12277 NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
12278 NET_IPV6_ROUTE_GC_TIMEOUT=5,
12279 NET_IPV6_ROUTE_GC_INTERVAL=6,
12280 NET_IPV6_ROUTE_GC_ELASTICITY=7,
12281 NET_IPV6_ROUTE_MTU_EXPIRES=8,
12282 NET_IPV6_ROUTE_MIN_ADVMSS=9,
12283 NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10
12287 NET_IPV6_FORWARDING=1,
12288 NET_IPV6_HOP_LIMIT=2,
12290 NET_IPV6_ACCEPT_RA=4,
12291 NET_IPV6_ACCEPT_REDIRECTS=5,
12292 NET_IPV6_AUTOCONF=6,
12293 NET_IPV6_DAD_TRANSMITS=7,
12294 NET_IPV6_RTR_SOLICITS=8,
12295 NET_IPV6_RTR_SOLICIT_INTERVAL=9,
12296 NET_IPV6_RTR_SOLICIT_DELAY=10,
12297 NET_IPV6_USE_TEMPADDR=11,
12298 NET_IPV6_TEMP_VALID_LFT=12,
12299 NET_IPV6_TEMP_PREFERED_LFT=13,
12300 NET_IPV6_REGEN_MAX_RETRY=14,
12301 NET_IPV6_MAX_DESYNC_FACTOR=15,
12302 NET_IPV6_MAX_ADDRESSES=16,
12303 NET_IPV6_FORCE_MLD_VERSION=17,
12304 NET_IPV6_ACCEPT_RA_DEFRTR=18,
12305 NET_IPV6_ACCEPT_RA_PINFO=19,
12306 NET_IPV6_ACCEPT_RA_RTR_PREF=20,
12307 NET_IPV6_RTR_PROBE_INTERVAL=21,
12308 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
12309 NET_IPV6_PROXY_NDP=23,
12315 NET_IPV6_ICMP_RATELIMIT=1
12320 NET_NEIGH_MCAST_SOLICIT=1,
12321 NET_NEIGH_UCAST_SOLICIT=2,
12322 NET_NEIGH_APP_SOLICIT=3,
12323 NET_NEIGH_RETRANS_TIME=4,
12324 NET_NEIGH_REACHABLE_TIME=5,
12325 NET_NEIGH_DELAY_PROBE_TIME=6,
12326 NET_NEIGH_GC_STALE_TIME=7,
12327 NET_NEIGH_UNRES_QLEN=8,
12328 NET_NEIGH_PROXY_QLEN=9,
12329 NET_NEIGH_ANYCAST_DELAY=10,
12330 NET_NEIGH_PROXY_DELAY=11,
12331 NET_NEIGH_LOCKTIME=12,
12332 NET_NEIGH_GC_INTERVAL=13,
12333 NET_NEIGH_GC_THRESH1=14,
12334 NET_NEIGH_GC_THRESH2=15,
12335 NET_NEIGH_GC_THRESH3=16,
12336 NET_NEIGH_RETRANS_TIME_MS=17,
12337 NET_NEIGH_REACHABLE_TIME_MS=18,
12343 NET_DCCP_DEFAULT=1,
12348 NET_IPX_PPROP_BROADCASTING=1,
12349 NET_IPX_FORWARDING=2
12360 NET_LLC2_TIMEOUT=1,
12365 NET_LLC_STATION_ACK_TIMEOUT=1,
12370 NET_LLC2_ACK_TIMEOUT=1,
12371 NET_LLC2_P_TIMEOUT=2,
12372 NET_LLC2_REJ_TIMEOUT=3,
12373 NET_LLC2_BUSY_TIMEOUT=4,
12378 NET_ATALK_AARP_EXPIRY_TIME=1,
12379 NET_ATALK_AARP_TICK_TIME=2,
12380 NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
12381 NET_ATALK_AARP_RESOLVE_TIME=4
12387 NET_NETROM_DEFAULT_PATH_QUALITY=1,
12388 NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
12389 NET_NETROM_NETWORK_TTL_INITIALISER=3,
12390 NET_NETROM_TRANSPORT_TIMEOUT=4,
12391 NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
12392 NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
12393 NET_NETROM_TRANSPORT_BUSY_DELAY=7,
12394 NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
12395 NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
12396 NET_NETROM_ROUTING_CONTROL=10,
12397 NET_NETROM_LINK_FAILS_COUNT=11,
12398 NET_NETROM_RESET=12
12403 NET_AX25_IP_DEFAULT_MODE=1,
12404 NET_AX25_DEFAULT_MODE=2,
12405 NET_AX25_BACKOFF_TYPE=3,
12406 NET_AX25_CONNECT_MODE=4,
12407 NET_AX25_STANDARD_WINDOW=5,
12408 NET_AX25_EXTENDED_WINDOW=6,
12409 NET_AX25_T1_TIMEOUT=7,
12410 NET_AX25_T2_TIMEOUT=8,
12411 NET_AX25_T3_TIMEOUT=9,
12412 NET_AX25_IDLE_TIMEOUT=10,
12414 NET_AX25_PACLEN=12,
12415 NET_AX25_PROTOCOL=13,
12416 NET_AX25_DAMA_SLAVE_TIMEOUT=14
12421 NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
12422 NET_ROSE_CALL_REQUEST_TIMEOUT=2,
12423 NET_ROSE_RESET_REQUEST_TIMEOUT=3,
12424 NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
12425 NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
12426 NET_ROSE_ROUTING_CONTROL=6,
12427 NET_ROSE_LINK_FAIL_TIMEOUT=7,
12428 NET_ROSE_MAX_VCS=8,
12429 NET_ROSE_WINDOW_SIZE=9,
12430 NET_ROSE_NO_ACTIVITY_TIMEOUT=10
12435 NET_X25_RESTART_REQUEST_TIMEOUT=1,
12436 NET_X25_CALL_REQUEST_TIMEOUT=2,
12437 NET_X25_RESET_REQUEST_TIMEOUT=3,
12438 NET_X25_CLEAR_REQUEST_TIMEOUT=4,
12439 NET_X25_ACK_HOLD_BACK_TIMEOUT=5
12445 NET_TR_RIF_TIMEOUT=1
12450 NET_DECNET_NODE_TYPE = 1,
12451 NET_DECNET_NODE_ADDRESS = 2,
12452 NET_DECNET_NODE_NAME = 3,
12453 NET_DECNET_DEFAULT_DEVICE = 4,
12454 NET_DECNET_TIME_WAIT = 5,
12455 NET_DECNET_DN_COUNT = 6,
12456 NET_DECNET_DI_COUNT = 7,
12457 NET_DECNET_DR_COUNT = 8,
12458 NET_DECNET_DST_GC_INTERVAL = 9,
12459 NET_DECNET_CONF = 10,
12460 NET_DECNET_NO_FC_MAX_CWND = 11,
12461 NET_DECNET_MEM = 12,
12462 NET_DECNET_RMEM = 13,
12463 NET_DECNET_WMEM = 14,
12464 NET_DECNET_DEBUG_LEVEL = 255
12469 NET_DECNET_CONF_LOOPBACK = -2,
12470 NET_DECNET_CONF_DDCMP = -3,
12471 NET_DECNET_CONF_PPP = -4,
12472 NET_DECNET_CONF_X25 = -5,
12473 NET_DECNET_CONF_GRE = -6,
12474 NET_DECNET_CONF_ETHER = -7
12481 NET_DECNET_CONF_DEV_PRIORITY = 1,
12482 NET_DECNET_CONF_DEV_T1 = 2,
12483 NET_DECNET_CONF_DEV_T2 = 3,
12484 NET_DECNET_CONF_DEV_T3 = 4,
12485 NET_DECNET_CONF_DEV_FORWARDING = 5,
12486 NET_DECNET_CONF_DEV_BLKSIZE = 6,
12487 NET_DECNET_CONF_DEV_STATE = 7
12492 NET_SCTP_RTO_INITIAL = 1,
12493 NET_SCTP_RTO_MIN = 2,
12494 NET_SCTP_RTO_MAX = 3,
12495 NET_SCTP_RTO_ALPHA = 4,
12496 NET_SCTP_RTO_BETA = 5,
12497 NET_SCTP_VALID_COOKIE_LIFE = 6,
12498 NET_SCTP_ASSOCIATION_MAX_RETRANS = 7,
12499 NET_SCTP_PATH_MAX_RETRANS = 8,
12500 NET_SCTP_MAX_INIT_RETRANSMITS = 9,
12501 NET_SCTP_HB_INTERVAL = 10,
12502 NET_SCTP_PRESERVE_ENABLE = 11,
12503 NET_SCTP_MAX_BURST = 12,
12504 NET_SCTP_ADDIP_ENABLE = 13,
12505 NET_SCTP_PRSCTP_ENABLE = 14,
12506 NET_SCTP_SNDBUF_POLICY = 15,
12507 NET_SCTP_SACK_TIMEOUT = 16,
12508 NET_SCTP_RCVBUF_POLICY = 17,
12513 NET_BRIDGE_NF_CALL_ARPTABLES = 1,
12514 NET_BRIDGE_NF_CALL_IPTABLES = 2,
12515 NET_BRIDGE_NF_CALL_IP6TABLES = 3,
12516 NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
12550 FS_DQ_CACHE_HITS = 5,
12551 FS_DQ_ALLOCATED = 6,
12554 FS_DQ_WARNINGS = 9,
12573 DEV_CDROM_AUTOCLOSE=2,
12574 DEV_CDROM_AUTOEJECT=3,
12577 DEV_CDROM_CHECK_MEDIA=6
12582 DEV_PARPORT_DEFAULT=-3
12587 DEV_RAID_SPEED_LIMIT_MIN=1,
12588 DEV_RAID_SPEED_LIMIT_MAX=2
12593 DEV_PARPORT_DEFAULT_TIMESLICE=1,
12594 DEV_PARPORT_DEFAULT_SPINTIME=2
12599 DEV_PARPORT_SPINTIME=1,
12600 DEV_PARPORT_BASE_ADDR=2,
12603 DEV_PARPORT_MODES=5,
12604 DEV_PARPORT_DEVICES=6,
12605 DEV_PARPORT_AUTOPROBE=16
12610 DEV_PARPORT_DEVICES_ACTIVE=-3,
12615 DEV_PARPORT_DEVICE_TIMESLICE=1,
12620 DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
12621 DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
12622 DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
12623 DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
12624 DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
12625 DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
12630 DEV_SCSI_LOGGING_LEVEL=1,
12635 DEV_IPMI_POWEROFF_POWERCYCLE=1,
12641 ABI_DEFHANDLER_COFF=1,
12642 ABI_DEFHANDLER_ELF=2,
12643 ABI_DEFHANDLER_LCALL7=3,
12644 ABI_DEFHANDLER_LIBCSO=4,
12646 ABI_FAKE_UTSNAME=6,
12648 # 45 "../sysdeps/unix/sysv/linux/sys/sysctl.h" 2
12649 # 64 "../sysdeps/unix/sysv/linux/sys/sysctl.h"
12653 extern int sysctl (int *__name, int __nlen, void *__oldval,
12654 size_t *__oldlenp, void *__newval, size_t __newlen) __attribute__ ((__nothrow__));
12657 # 3 "../include/sys/sysctl.h" 2
12660 extern int __sysctl (int *__name, int __nlen, void *__oldval,
12661 size_t *__oldlenp, void *__newval, size_t __newlen);
12663 # 23 "../sysdeps/unix/sysv/linux/dl-osinfo.h" 2
12664 # 1 "../include/sys/utsname.h" 1
12666 # 1 "../posix/sys/utsname.h" 1
12667 # 28 "../posix/sys/utsname.h"
12670 # 1 "../sysdeps/unix/sysv/linux/bits/utsname.h" 1
12671 # 31 "../posix/sys/utsname.h" 2
12672 # 49 "../posix/sys/utsname.h"
12692 char domainname[65];
12698 # 82 "../posix/sys/utsname.h"
12699 extern int uname (struct utsname *__name) __attribute__ ((__nothrow__));
12703 # 3 "../include/sys/utsname.h" 2
12705 extern int __uname (struct utsname *__name);
12709 # 24 "../sysdeps/unix/sysv/linux/dl-osinfo.h" 2
12710 # 1 "../sysdeps/unix/sysv/linux/kernel-features.h" 1
12711 # 25 "../sysdeps/unix/sysv/linux/dl-osinfo.h" 2
12712 # 1 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 1
12713 # 20 "../sysdeps/unix/sysv/linux/dl-sysdep.h"
12714 # 1 "../sysdeps/generic/dl-sysdep.h" 1
12715 # 21 "../sysdeps/unix/sysv/linux/dl-sysdep.h" 2
12716 # 26 "../sysdeps/unix/sysv/linux/dl-osinfo.h" 2
12717 # 35 "../sysdeps/unix/sysv/linux/dl-osinfo.h"
12719 __attribute__ ((__noreturn__))
12720 dl_fatal (const char *str)
12722 _dl_dprintf (2, str);
12727 static inline int __attribute__ ((always_inline))
12728 _dl_discover_osversion (void)
12731 if (_rtld_local_ro._dl_sysinfo_map != ((void *)0))
12736 static const struct
12738 Elf64_Word vendorlen;
12739 Elf64_Word datalen;
12742 } expected_note = { sizeof "Linux", sizeof (Elf64_Word), 0, "Linux" };
12743 const Elf64_Phdr *const phdr = _rtld_local_ro._dl_sysinfo_map->l_phdr;
12744 const Elf64_Word phnum = _rtld_local_ro._dl_sysinfo_map->l_phnum;
12745 for (uint_fast16_t i = 0; i < phnum; ++i)
12746 if (phdr[i].p_type == 4)
12748 const Elf64_Addr start = (phdr[i].p_vaddr
12749 + _rtld_local_ro._dl_sysinfo_map->l_addr);
12752 Elf64_Word vendorlen;
12753 Elf64_Word datalen;
12755 } *note = (const void *) start;
12756 while ((Elf64_Addr) (note + 1) - start < phdr[i].p_memsz)
12758 if (!memcmp (note, &expected_note, sizeof expected_note))
12759 return *(const Elf64_Word *) ((const void *) note
12760 + sizeof expected_note);
12762 note = ((const void *) (note + 1)
12763 + (((note->vendorlen) + sizeof (Elf64_Word) - 1) & -sizeof (Elf64_Word)) + (((note->datalen) + sizeof (Elf64_Word) - 1) & -sizeof (Elf64_Word)));
12770 char *buf = bufmem;
12771 unsigned int version;
12774 struct utsname uts;
12777 if (__uname (&uts))
12780 int fd = __open ("/proc/sys/kernel/osrelease", 00);
12783 ssize_t reslen = __read (fd, bufmem, sizeof (bufmem));
12789 buf[(((reslen)<((ssize_t) sizeof (bufmem) - 1))?(reslen):((ssize_t) sizeof (bufmem) - 1))] = '\0';
12799 while ((*cp >= '0') && (*cp <= '9'))
12801 unsigned int here = *cp++ - '0';
12803 while ((*cp >= '0') && (*cp <= '9'))
12806 here += *cp++ - '0';
12819 version <<= 8 * (3 - parts);
12823 # 162 "../sysdeps/unix/sysv/linux/dl-osinfo.h"
12824 static inline uintptr_t __attribute__ ((always_inline))
12825 _dl_setup_stack_chk_guard (void)
12828 # 176 "../sysdeps/unix/sysv/linux/dl-osinfo.h"
12830 unsigned char *p = (unsigned char *) &ret;
12831 p[sizeof (ret) - 1] = 255;
12832 p[sizeof (ret) - 2] = '\n';
12836 # 1 "../sysdeps/generic/dl-procinfo.h" 1
12840 # 1 "../include/assert.h" 1
12841 # 1 "../assert/assert.h" 1
12842 # 65 "../assert/assert.h"
12846 extern void __assert_fail (__const char *__assertion, __const char *__file,
12847 unsigned int __line, __const char *__function)
12848 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
12851 extern void __assert_perror_fail (int __errnum, __const char *__file,
12852 unsigned int __line,
12853 __const char *__function)
12854 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
12859 extern void __assert (const char *__assertion, const char *__file, int __line)
12860 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
12864 # 2 "../include/assert.h" 2
12869 extern void __assert_fail (__const char *__assertion, __const char *__file,
12870 unsigned int __line, __const char *__function)
12871 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
12874 extern void __assert_perror_fail (int __errnum, __const char *__file,
12875 unsigned int __line,
12876 __const char *__function)
12877 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
12880 extern __typeof (__assert_fail) __assert_fail __asm__ ("" "__GI___assert_fail") __attribute__ ((visibility ("hidden")));
12881 extern __typeof (__assert_perror_fail) __assert_perror_fail __asm__ ("" "__GI___assert_perror_fail") __attribute__ ((visibility ("hidden")));
12885 extern __typeof (__mempcpy) __mempcpy __attribute__ ((visibility ("hidden")));
12888 extern __typeof (_exit) exit_internal asm ("_exit") __attribute__ ((visibility ("hidden")));
12892 static void print_unresolved (int errcode, const char *objname,
12893 const char *errsting);
12896 static void print_missing_version (int errcode, const char *objname,
12897 const char *errsting);
12900 static void print_statistics (hp_timing_t *total_timep);
12903 static void process_dl_audit (char *str);
12906 enum mode { normal, list, verify, trace };
12911 static void process_envvars (enum mode *modep);
12919 int _dl_argc __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden")));
12920 char **_dl_argv __attribute__ ((section (".data.rel.ro"))) = ((void *)0);
12921 unsigned int _dl_skip_args __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden")));
12923 extern __typeof (_dl_argv) _dl_argv_internal __attribute__ ((alias ("_dl_argv")));
12931 uintptr_t __guard_local __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden"))) __attribute__ ((nocommon));
12932 extern __typeof (__guard_local) __guard __attribute__ ((weak, alias ("__guard_local")));;
12937 uintptr_t __pointer_chk_guard_local
12938 __attribute__ ((section (".data.rel.ro"))) __attribute__ ((visibility ("hidden"))) __attribute__ ((nocommon));
12945 static struct audit_list
12948 struct audit_list *next;
12951 struct rtld_global _rtld_global =
12954 ._dl_stack_flags = (1 << 2)|(1 << 1)|(1 << 0),
12956 ._dl_load_lock = {{ { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0, 0 } } }}
12963 extern struct rtld_global _rtld_local
12964 __attribute__ ((alias ("_rtld_global"), visibility ("hidden")));
12969 struct rtld_global_ro _rtld_global_ro __attribute__ ((section (".data.rel.ro"))) =
12972 # 1 "../sysdeps/generic/dl-procinfo.c" 1
12978 ._dl_use_load_bias = -2,
12979 ._dl_correct_cache_id = 0x403,
12980 ._dl_hwcap_mask = (0),
12982 ._dl_fpu_control = 0x00000000,
12983 ._dl_pointer_guard = 1,
12986 ._dl_debug_printf = _dl_debug_printf,
12987 ._dl_catch_error = _dl_catch_error,
12988 ._dl_signal_error = _dl_signal_error,
12989 ._dl_mcount = _dl_mcount_internal,
12990 ._dl_lookup_symbol_x = _dl_lookup_symbol_x,
12991 ._dl_check_caller = _dl_check_caller,
12992 ._dl_open = _dl_open,
12993 ._dl_close = _dl_close
12999 extern struct rtld_global_ro _rtld_local_ro
13000 __attribute__ ((alias ("_rtld_global_ro"), visibility ("hidden")));
13003 static void dl_main (const Elf64_Phdr *phdr, Elf64_Word phnum,
13004 Elf64_Addr *user_entry);
13007 static struct libname_list _dl_rtld_libname;
13008 static struct libname_list _dl_rtld_libname2;
13010 static Elf64_Addr _dl_start_final (void *arg);
13012 extern char _begin[] __attribute__ ((visibility ("hidden")));
13013 extern char _etext[] __attribute__ ((visibility ("hidden")));
13014 extern char _end[] __attribute__ ((visibility ("hidden")));
13018 asm ("\n.text\n.align 4\n.globl _start\n.globl _dl_start_user\n_start:\n lgr %r2,%r15\n # Alloc stack frame\n aghi %r15,-160\n # Set the back chain to zero\n xc 0(8,%r15),0(%r15)\n # Call _dl_start with %r2 pointing to arg on stack\n brasl %r14,_dl_start # call _dl_start\n_dl_start_user:\n # Save the user entry point address in %r8.\n lgr %r8,%r2\n # Point %r12 at the GOT.\n larl %r12,_GLOBAL_OFFSET_TABLE_\n # See if we were run as a command with the executable file\n # name as an extra leading argument.\n lghi %r1,_dl_skip_args@GOT\n lg %r1,0(%r1,%r12)\n lgf %r1,0(%r1) # load _dl_skip_args\n # Get the original argument count.\n lg %r0,160(%r15)\n # Subtract _dl_skip_args from it.\n sgr %r0,%r1\n # Adjust the stack pointer to skip _dl_skip_args words.\n sllg %r1,%r1,3\n agr %r15,%r1\n # Set the back chain to zero again\n xc 0(8,%r15),0(%r15)\n # Store back the modified argument count.\n stg %r0,160(%r15)\n # The special initializer gets called with the stack just\n # as the application's entry point will see it; it can\n # switch stacks if it moves these contents over.\n" "\n # Call the function to run the initializers.\n # Load the parameters:\n # (%r2, %r3, %r4, %r5) = (_dl_loaded, argc, argv, envp)\n lghi %r2,_rtld_local@GOT\n lg %r2,0(%r2,%r12)\n lg %r2,0(%r2)\n lg %r3,160(%r15)\n la %r4,168(%r15)\n lgr %r5,%r3\n sllg %r5,%r5,3\n la %r5,176(%r5,%r15)\n brasl %r14,_dl_init_internal@PLT\n # Pass our finalizer function to the user in %r14, as per ELF ABI.\n lghi %r14,_dl_fini@GOT\n lg %r14,0(%r14,%r12)\n # Free stack frame\n aghi %r15,160\n # Jump to the user's entry point (saved in %r8).\n br %r8\n");
13020 static inline Elf64_Addr __attribute__ ((always_inline))
13021 _dl_start_final (void *arg)
13027 Elf64_Addr start_addr;
13043 _dl_setup_hash (&_rtld_local._dl_rtld_map);
13044 _rtld_local._dl_rtld_map.l_real = &_rtld_local._dl_rtld_map;
13045 _rtld_local._dl_rtld_map.l_map_start = (Elf64_Addr) _begin;
13046 _rtld_local._dl_rtld_map.l_map_end = (Elf64_Addr) _end;
13047 _rtld_local._dl_rtld_map.l_text_end = (Elf64_Addr) _etext;
13049 __libc_stack_end = __builtin_frame_address (0);
13055 start_addr = _dl_sysdep_start (arg, &dl_main);
13057 if (__builtin_expect (_rtld_local_ro._dl_debug_mask & (1 << 7), 0))
13062 print_statistics (((void *)0));
13069 static Elf64_Addr __attribute__ ((__used__))
13070 _dl_start (void *arg)
13073 # 1 "dynamic-link.h" 1
13074 # 21 "dynamic-link.h"
13075 # 1 "../include/assert.h" 1
13076 # 1 "../assert/assert.h" 1
13077 # 65 "../assert/assert.h"
13081 extern void __assert_fail (__const char *__assertion, __const char *__file,
13082 unsigned int __line, __const char *__function)
13083 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
13086 extern void __assert_perror_fail (int __errnum, __const char *__file,
13087 unsigned int __line,
13088 __const char *__function)
13089 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
13094 extern void __assert (const char *__assertion, const char *__file, int __line)
13095 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
13099 # 2 "../include/assert.h" 2
13104 extern void __assert_fail (__const char *__assertion, __const char *__file,
13105 unsigned int __line, __const char *__function)
13106 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
13109 extern void __assert_perror_fail (int __errnum, __const char *__file,
13110 unsigned int __line,
13111 __const char *__function)
13112 __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
13115 extern __typeof (__assert_fail) __assert_fail __asm__ ("" "__GI___assert_fail") __attribute__ ((visibility ("hidden")));
13116 extern __typeof (__assert_perror_fail) __assert_perror_fail __asm__ ("" "__GI___assert_perror_fail") __attribute__ ((visibility ("hidden")));
13117 # 22 "dynamic-link.h" 2
13118 # 44 "dynamic-link.h"
13119 auto inline void __attribute__((always_inline))
13120 elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
13121 const Elf64_Sym *sym, const struct r_found_version *version,
13122 void *const reloc_addr);
13123 auto inline void __attribute__((always_inline))
13124 elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
13125 void *const reloc_addr);
13132 auto inline void __attribute__((always_inline))
13133 elf_machine_lazy_rel (struct link_map *map,
13134 Elf64_Addr l_addr, const Elf64_Rela *reloc);
13138 # 1 "../sysdeps/s390/s390-64/dl-machine.h" 1
13139 # 252 "../sysdeps/s390/s390-64/dl-machine.h"
13141 __attribute__ ((always_inline))
13142 elf_machine_rela (struct link_map *map, const Elf64_Rela *reloc,
13143 const Elf64_Sym *sym, const struct r_found_version *version,
13144 void *const reloc_addr_arg)
13146 Elf64_Addr *const reloc_addr = reloc_addr_arg;
13147 const unsigned int r_type = ((reloc->r_info) & 0xffffffff);
13148 # 280 "../sysdeps/s390/s390-64/dl-machine.h"
13149 if (__builtin_expect (r_type == 0, 0))
13154 const Elf64_Sym *const refsym = sym;
13156 struct link_map *sym_map = ((*(&sym))->st_shndx == 0 ? 0 : &_rtld_local._dl_rtld_map);
13157 Elf64_Addr value = sym == ((void *)0) ? 0 : sym_map->l_addr + sym->st_value;
13163 *reloc_addr = value + reloc->r_addend;
13165 # 408 "../sysdeps/s390/s390-64/dl-machine.h"
13171 __attribute__ ((always_inline))
13172 elf_machine_rela_relative (Elf64_Addr l_addr, const Elf64_Rela *reloc,
13173 void *const reloc_addr_arg)
13175 Elf64_Addr *const reloc_addr = reloc_addr_arg;
13176 *reloc_addr = l_addr + reloc->r_addend;
13180 __attribute__ ((always_inline))
13181 elf_machine_lazy_rel (struct link_map *map,
13182 Elf64_Addr l_addr, const Elf64_Rela *reloc)
13184 Elf64_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset);
13185 const unsigned int r_type = ((reloc->r_info) & 0xffffffff);
13187 if (__builtin_expect (r_type == 11, 1))
13189 if (__builtin_expect (map->l_mach.plt, 0) == 0)
13190 *reloc_addr += l_addr;
13194 + (((Elf64_Addr) reloc_addr) - map->l_mach.gotplt) * 4;
13197 _dl_reloc_bad_type (map, r_type, 1);
13199 # 64 "dynamic-link.h" 2
13200 # 78 "dynamic-link.h"
13203 inline void __attribute__ ((unused, always_inline))
13204 elf_get_dynamic_info (struct link_map *l, Elf64_Dyn *temp)
13206 Elf64_Dyn *dyn = l->l_ld;
13216 while (dyn->d_tag != 0)
13218 if (dyn->d_tag < 34)
13219 info[dyn->d_tag] = dyn;
13220 else if (dyn->d_tag >= 0x70000000 &&
13221 dyn->d_tag < 0x70000000 + 0)
13222 info[dyn->d_tag - 0x70000000 + 34] = dyn;
13223 else if (dyn->d_tag >= 0x6cbdd030 &&
13224 dyn->d_tag < 0x6cbdd030 + 2)
13225 info[(34 + 0 + 16 + 3 + 12 + 10 + (dyn->d_tag - 0x6cbdd030))] = dyn;
13226 else if ((Elf32_Word) (0x6fffffff - (dyn->d_tag)) < 16)
13227 info[(34 + 0 + (0x6fffffff - (dyn->d_tag)))] = dyn;
13228 else if ((Elf32_Word) ((Elf32_Word)-((Elf32_Sword) (dyn->d_tag) <<1>>1)-1) < 3)
13229 info[((Elf32_Word)-((Elf32_Sword) (dyn->d_tag) <<1>>1)-1) + 34 + 0
13231 else if ((Elf32_Word) (0x6ffffdff - (dyn->d_tag)) < 12)
13232 info[(0x6ffffdff - (dyn->d_tag)) + 34 + 0
13234 else if ((Elf32_Word) (0x6ffffeff - (dyn->d_tag)) < 10)
13235 info[(0x6ffffeff - (dyn->d_tag)) + 34 + 0
13236 + 16 + 3 + 12] = dyn;
13244 if (l->l_addr != 0)
13246 Elf64_Addr l_addr = l->l_addr;
13248 # 141 "dynamic-link.h"
13249 do if (info[4] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[4]->d_tag; temp[cnt].d_un.d_ptr = info[4]->d_un.d_ptr + l_addr; info[4] = temp + cnt++; } else info[4]->d_un.d_ptr += l_addr; } while (0);
13250 do if (info[3] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[3]->d_tag; temp[cnt].d_un.d_ptr = info[3]->d_un.d_ptr + l_addr; info[3] = temp + cnt++; } else info[3]->d_un.d_ptr += l_addr; } while (0);
13251 do if (info[5] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[5]->d_tag; temp[cnt].d_un.d_ptr = info[5]->d_un.d_ptr + l_addr; info[5] = temp + cnt++; } else info[5]->d_un.d_ptr += l_addr; } while (0);
13252 do if (info[6] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[6]->d_tag; temp[cnt].d_un.d_ptr = info[6]->d_un.d_ptr + l_addr; info[6] = temp + cnt++; } else info[6]->d_un.d_ptr += l_addr; } while (0);
13254 do if (info[7] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[7]->d_tag; temp[cnt].d_un.d_ptr = info[7]->d_un.d_ptr + l_addr; info[7] = temp + cnt++; } else info[7]->d_un.d_ptr += l_addr; } while (0);
13259 do if (info[23] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[23]->d_tag; temp[cnt].d_un.d_ptr = info[23]->d_un.d_ptr + l_addr; info[23] = temp + cnt++; } else info[23]->d_un.d_ptr += l_addr; } while (0);
13260 do if (info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr + l_addr; info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] = temp + cnt++; } else info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr += l_addr; } while (0);
13261 do if (info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_un.d_ptr + l_addr; info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))] = temp + cnt++; } else info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 - 0x6cbdd030))]->d_un.d_ptr += l_addr; } while (0);
13262 do if (info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))] != ((void *)0)) { if (temp) { temp[cnt].d_tag = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_tag; temp[cnt].d_un.d_ptr = info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_un.d_ptr + l_addr; info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))] = temp + cnt++; } else info[(34 + 0 + 16 + 3 + 12 + 10 + (0x6cbdd030 + 1 - 0x6cbdd030))]->d_un.d_ptr += l_addr; } while (0);
13264 ((void) ((cnt <= 8) ? 0 : (__assert_fail ("cnt <= 8", "dynamic-link.h", 156, __PRETTY_FUNCTION__), 0)));
13267 if (info[20] != ((void *)0))
13272 ((void) ((info[20]->d_un.d_val == 7) ? 0 : (__assert_fail ("info[20]->d_un.d_val == 7", "dynamic-link.h", 164, __PRETTY_FUNCTION__), 0)));
13279 if (info[7] != ((void *)0))
13280 ((void) ((info[9]->d_un.d_val == sizeof (Elf64_Rela)) ? 0 : (__assert_fail ("info[9]->d_un.d_val == sizeof (Elf64_Rela)", "dynamic-link.h", 172, __PRETTY_FUNCTION__), 0)));
13288 ((void) ((info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))] == ((void *)0) || info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))]->d_un.d_val == 0x00000001) ? 0 : (__assert_fail ("info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))] == ((void *)0) || info[(34 + 0 + (0x6fffffff - (0x6ffffffb)))]->d_un.d_val == 0x00000001", "dynamic-link.h", 181, __PRETTY_FUNCTION__), 0)));
13290 ((void) ((info[30] == ((void *)0) || info[30]->d_un.d_val == 0x00000008) ? 0 : (__assert_fail ("info[30] == ((void *)0) || info[30]->d_un.d_val == 0x00000008", "dynamic-link.h", 183, __PRETTY_FUNCTION__), 0)));
13293 ((void) ((info[29] == ((void *)0)) ? 0 : (__assert_fail ("info[29] == ((void *)0)", "dynamic-link.h", 185, __PRETTY_FUNCTION__), 0)));
13294 ((void) ((info[15] == ((void *)0)) ? 0 : (__assert_fail ("info[15] == ((void *)0)", "dynamic-link.h", 186, __PRETTY_FUNCTION__), 0)));
13295 # 213 "dynamic-link.h"
13297 # 333 "dynamic-link.h"
13300 auto inline void __attribute__ ((always_inline))
13301 elf_dynamic_do_rela (struct link_map *map,
13302 Elf64_Addr reladdr, Elf64_Addr relsize,
13305 const Elf64_Rela *r = (const void *) reladdr;
13306 const Elf64_Rela *end = (const void *) (reladdr + relsize);
13307 Elf64_Addr l_addr = map->l_addr;
13310 const Elf64_Sym *const symtab =
13311 (const void *) (map)->l_info[6]->d_un.d_ptr;
13312 Elf64_Word nrelative = (map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff9)))] == ((void *)0)
13313 ? 0 : map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff9)))]->d_un.d_val);
13314 const Elf64_Rela *relative = r;
13315 r = r + (((nrelative)<(relsize / sizeof (Elf64_Rela)))?(nrelative):(relsize / sizeof (Elf64_Rela)));
13317 for (; relative < r; ++relative)
13318 elf_machine_rela_relative (l_addr, relative, (void *) (l_addr + relative->r_offset));
13322 ((void) ((map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] != ((void *)0)) ? 0 : (__assert_fail ("map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))] != ((void *)0)", "do-rel.h", 109, __PRETTY_FUNCTION__), 0)));
13327 const Elf64_Half *const version =
13328 (const void *) (map)->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff0)))]->d_un.d_ptr;
13330 for (; r < end; ++r)
13332 Elf64_Half ndx = version[((r->r_info) >> 32)] & 0x7fff;
13333 elf_machine_rela (map, r, &symtab[((r->r_info) >> 32)],
13334 &map->l_versions[ndx],
13335 (void *) (l_addr + r->r_offset));
13346 # 334 "dynamic-link.h" 2
13353 _rtld_local._dl_rtld_map.l_addr = elf_machine_load_address ();
13356 _rtld_local._dl_rtld_map.l_ld = (void *) _rtld_local._dl_rtld_map.l_addr + elf_machine_dynamic ();
13357 elf_get_dynamic_info (&_rtld_local._dl_rtld_map, ((void *)0));
13359 if (_rtld_local._dl_rtld_map.l_addr || ! _rtld_local._dl_rtld_map.l_info[(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf5)))])
13364 do { int edr_lazy = elf_machine_runtime_setup ((&_rtld_local._dl_rtld_map), (0), (0)); ; do { struct { Elf64_Addr start, size; int lazy; } ranges[2]; ranges[0].lazy = 0; ranges[0].size = ranges[1].size = 0; ranges[0].start = 0; if (((&_rtld_local._dl_rtld_map))->l_info[7]) { ranges[0].start = (((&_rtld_local._dl_rtld_map)))->l_info[7]->d_un.d_ptr; ranges[0].size = ((&_rtld_local._dl_rtld_map))->l_info[8]->d_un.d_val; } if (((&_rtld_local._dl_rtld_map))->l_info[20] && (!0 || ((&_rtld_local._dl_rtld_map))->l_info[20]->d_un.d_val == 7)) { Elf64_Addr start = (((&_rtld_local._dl_rtld_map)))->l_info[23]->d_un.d_ptr; if (! (1) && ((edr_lazy) || ranges[0].start + ranges[0].size != start)) { ranges[1].start = start; ranges[1].size = ((&_rtld_local._dl_rtld_map))->l_info[2]->d_un.d_val; ranges[1].lazy = (edr_lazy); } else { ((void) ((ranges[0].start + ranges[0].size == start) ? 0 : (__assert_fail ("ranges[0].start + ranges[0].size == start", "rtld.c", 535, __PRETTY_FUNCTION__), 0))); ranges[0].size += ((&_rtld_local._dl_rtld_map))->l_info[2]->d_un.d_val; } } if ((1)) elf_dynamic_do_rela (((&_rtld_local._dl_rtld_map)), ranges[0].start, ranges[0].size, 0); else { int ranges_index; for (ranges_index = 0; ranges_index < 2; ++ranges_index) elf_dynamic_do_rela (((&_rtld_local._dl_rtld_map)), ranges[ranges_index].start, ranges[ranges_index].size, ranges[ranges_index].lazy); } } while (0); } while (0);
13366 _rtld_local._dl_rtld_map.l_relocated = 1;
13370 Elf64_Addr entry = _dl_start_final (arg);
13376 struct relocate_args
13378 struct link_map *l;
13386 struct link_map *loader;
13390 struct link_map *map;
13393 struct dlmopen_args
13396 struct link_map *map;
13402 struct link_map *map;
13407 struct version_check_args
13414 relocate_doit (void *a)
13416 struct relocate_args *args = (struct relocate_args *) a;
13418 _dl_relocate_object (args->l, args->l->l_scope, args->lazy, 0);
13424 struct map_args *args = (struct map_args *) a;
13425 args->map = _dl_map_object (args->loader, args->str,
13426 args->is_preloaded, lt_library, 0, args->mode,
13431 dlmopen_doit (void *a)
13433 struct dlmopen_args *args = (struct dlmopen_args *) a;
13434 args->map = _dl_open (args->fname, 0x00001 | 0x80000000 | 0x08000000,
13435 dl_main, -1, _dl_argc, _dl_argv_internal,
13440 lookup_doit (void *a)
13442 struct lookup_args *args = (struct lookup_args *) a;
13443 const Elf64_Sym *ref = ((void *)0);
13444 args->result = ((void *)0);
13445 lookup_t l = _dl_lookup_symbol_x (args->name, args->map, &ref,
13446 args->map->l_local_scope, ((void *)0), 0,
13447 DL_LOOKUP_RETURN_NEWEST, ((void *)0));
13448 if (ref != ((void *)0))
13449 args->result = (void *) (((l) ? (l)->l_addr : 0) + ref->st_value);
13453 version_check_doit (void *a)
13455 struct version_check_args *args = (struct version_check_args *) a;
13456 if (_dl_check_all_versions (_rtld_local._dl_ns[0]._ns_loaded, 1,
13457 args->dotrace) && args->doexit)
13463 static inline struct link_map *
13464 find_needed (const char *name)
13466 struct r_scope_elem *scope = &_rtld_local._dl_ns[0]._ns_loaded->l_searchlist;
13467 unsigned int n = scope->r_nlist;
13470 if (_dl_name_match_p (name, scope->r_list[n]))
13471 return scope->r_list[n];
13474 return ((void *)0);
13478 match_version (const char *string, struct link_map *map)
13480 const char *strtab = (const void *) (map)->l_info[5]->d_un.d_ptr;
13484 if (map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffc)))] == ((void *)0))
13488 def = (Elf64_Verdef *) ((char *) map->l_addr
13489 + map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffc)))]->d_un.d_ptr);
13492 Elf64_Verdaux *aux = (Elf64_Verdaux *) ((char *) def + def->vd_aux);
13495 if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (string) && __builtin_constant_p (strtab + aux->vda_name) && (__s1_len = strlen (string), __s2_len = strlen (strtab + aux->vda_name), (!((size_t)(const void *)((string) + 1) - (size_t)(const void *)(string) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((strtab + aux->vda_name) + 1) - (size_t)(const void *)(strtab + aux->vda_name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (string, strtab + aux->vda_name) : (__builtin_constant_p (string) && ((size_t)(const void *)((string) + 1) - (size_t)(const void *)(string) == 1) && (__s1_len = strlen (string), __s1_len < 4) ? (__builtin_constant_p (strtab + aux->vda_name) && ((size_t)(const void *)((strtab + aux->vda_name) + 1) - (size_t)(const void *)(strtab + aux->vda_name) == 1) ? __builtin_strcmp (string, strtab + aux->vda_name) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (strtab + aux->vda_name); register int __result = (((__const unsigned char *) (__const char *) (string))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (string))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (string))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (string))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (strtab + aux->vda_name) && ((size_t)(const void *)((strtab + aux->vda_name) + 1) - (size_t)(const void *)(strtab + aux->vda_name) == 1) && (__s2_len = strlen (strtab + aux->vda_name), __s2_len < 4) ? (__builtin_constant_p (string) && ((size_t)(const void *)((string) + 1) - (size_t)(const void *)(string) == 1) ? __builtin_strcmp (string, strtab + aux->vda_name) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (string); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (strtab + aux->vda_name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (strtab + aux->vda_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (strtab + aux->vda_name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (strtab + aux->vda_name))[3]); } } __result; }))) : __builtin_strcmp (string, strtab + aux->vda_name)))); }) == 0)
13500 if (def->vd_next == 0)
13504 def = (Elf64_Verdef *) ((char *) def + def->vd_next);
13511 static _Bool tls_init_tp_called;
13517 _rtld_local._dl_tls_static_nelem = _rtld_local._dl_tls_max_dtv_idx;
13521 if (_rtld_local._dl_initial_dtv != ((void *)0))
13522 return ((void *)0);
13527 size_t nelem = _rtld_local._dl_tls_max_dtv_idx + 1 + (62);
13530 _rtld_local._dl_tls_dtv_slotinfo_list = (struct dtv_slotinfo_list *)
13531 calloc (sizeof (struct dtv_slotinfo_list)
13532 + nelem * sizeof (struct dtv_slotinfo), 1);
13536 struct dtv_slotinfo *slotinfo = _rtld_local._dl_tls_dtv_slotinfo_list->slotinfo;
13537 _rtld_local._dl_tls_dtv_slotinfo_list->len = nelem;
13538 _rtld_local._dl_tls_dtv_slotinfo_list->next = ((void *)0);
13542 ((void) ((_rtld_local._dl_ns[0 + 1]._ns_loaded == ((void *)0)) ? 0 : (__assert_fail ("_rtld_local._dl_ns[0 + 1]._ns_loaded == ((void *)0)", "rtld.c", 738, __PRETTY_FUNCTION__), 0)));
13544 for (struct link_map *l = _rtld_local._dl_ns[0]._ns_loaded; l != ((void *)0);
13546 if (l->l_tls_blocksize != 0)
13550 slotinfo[i].map = l;
13554 ((void) ((i == _rtld_local._dl_tls_max_dtv_idx) ? 0 : (__assert_fail ("i == _rtld_local._dl_tls_max_dtv_idx", "rtld.c", 750, __PRETTY_FUNCTION__), 0)));
13557 _dl_determine_tlsoffset ();
13564 void *tcbp = _dl_allocate_tls_storage ();
13565 if (tcbp == ((void *)0))
13566 do { _dl_dprintf (2, "cannot allocate TLS data structures for initial thread"); exit_internal (127); } while (1);
13571 _rtld_local._dl_initial_dtv = (((tcbhead_t *) (tcbp))->dtv);
13575 const char *lossage = ({ void *_thrdescr = (tcbp); tcbhead_t *_head = _thrdescr; _head->tcb = _thrdescr; _head->self = _thrdescr; ; __builtin_set_thread_pointer (_thrdescr); ((void *)0); });
13576 if (__builtin_expect (lossage != ((void *)0), 0))
13577 do { _dl_dprintf (2, "cannot set up thread-local storage: %s\n", lossage); exit_internal (127); } while (1);
13578 tls_init_tp_called = 1;
13587 void ** __attribute__ ((const))
13588 _dl_initial_error_catch_tsd (void)
13596 static unsigned int
13597 do_preload (char *fname, struct link_map *main_map, const char *where)
13599 const char *objname;
13600 const char *err_str = ((void *)0);
13601 struct map_args args;
13605 args.loader = main_map;
13606 args.is_preloaded = 1;
13609 unsigned int old_nloaded = _rtld_local._dl_ns[0]._ns_nloaded;
13611 (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit, &args);
13612 if (__builtin_expect (err_str != ((void *)0), 0))
13614 _dl_dprintf (2, "ERROR: ld.so: object '%s' from %s cannot be preloaded: ignored.\n", fname, where);
13620 else if (_rtld_local._dl_ns[0]._ns_nloaded != old_nloaded)
13631 rtld_lock_default_lock_recursive (void *lock)
13633 ++((pthread_mutex_t *)(lock))->__data.__count;;
13637 rtld_lock_default_unlock_recursive (void *lock)
13639 --((pthread_mutex_t *)(lock))->__data.__count;;
13645 static const char *library_path __attribute__ ((section (".data.rel.ro")));
13647 static const char *preloadlist __attribute__ ((section (".data.rel.ro")));
13649 static int version_info __attribute__ ((section (".data.rel.ro")));
13652 dl_main (const Elf64_Phdr *phdr,
13654 Elf64_Addr *user_entry)
13656 const Elf64_Phdr *ph;
13658 struct link_map *main_map;
13661 _Bool has_interp = 0;
13663 _Bool prelinked = 0;
13664 _Bool rtld_is_main = 0;
13671 void *tcbp = ((void *)0);
13676 _rtld_local._dl_error_catch_tsd = &_dl_initial_error_catch_tsd;
13680 _rtld_local._dl_init_static_tls = &_dl_nothread_init_static_tls;
13685 _rtld_local._dl_rtld_lock_recursive = rtld_lock_default_lock_recursive;
13686 _rtld_local._dl_rtld_unlock_recursive = rtld_lock_default_unlock_recursive;
13691 _rtld_local._dl_make_stack_executable_hook = &_dl_make_stack_executable;
13694 process_envvars (&mode);
13701 if (*user_entry == (Elf64_Addr) _start)
13707 _rtld_local._dl_rtld_map.l_name = (_dl_argv_internal[0]);
13709 while (_dl_argc > 1)
13710 if (! __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_dl_argv_internal[1]) && __builtin_constant_p ("--list") && (__s1_len = strlen (_dl_argv_internal[1]), __s2_len = strlen ("--list"), (!((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--list") + 1) - (size_t)(const void *)("--list") == 1) || __s2_len >= 4)) ? __builtin_strcmp (_dl_argv_internal[1], "--list") : (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) && (__s1_len = strlen (_dl_argv_internal[1]), __s1_len < 4) ? (__builtin_constant_p ("--list") && ((size_t)(const void *)(("--list") + 1) - (size_t)(const void *)("--list") == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--list") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("--list"); register int __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("--list") && ((size_t)(const void *)(("--list") + 1) - (size_t)(const void *)("--list") == 1) && (__s2_len = strlen ("--list"), __s2_len < 4) ? (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--list") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_dl_argv_internal[1]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("--list"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("--list"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("--list"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("--list"))[3]); } } __result; }))) : __builtin_strcmp (_dl_argv_internal[1], "--list")))); }))
13713 _rtld_local_ro._dl_lazy = -1;
13717 ++_dl_argv_internal;
13719 else if (! __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_dl_argv_internal[1]) && __builtin_constant_p ("--verify") && (__s1_len = strlen (_dl_argv_internal[1]), __s2_len = strlen ("--verify"), (!((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--verify") + 1) - (size_t)(const void *)("--verify") == 1) || __s2_len >= 4)) ? __builtin_strcmp (_dl_argv_internal[1], "--verify") : (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) && (__s1_len = strlen (_dl_argv_internal[1]), __s1_len < 4) ? (__builtin_constant_p ("--verify") && ((size_t)(const void *)(("--verify") + 1) - (size_t)(const void *)("--verify") == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--verify") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("--verify"); register int __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("--verify") && ((size_t)(const void *)(("--verify") + 1) - (size_t)(const void *)("--verify") == 1) && (__s2_len = strlen ("--verify"), __s2_len < 4) ? (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--verify") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_dl_argv_internal[1]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("--verify"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("--verify"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("--verify"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("--verify"))[3]); } } __result; }))) : __builtin_strcmp (_dl_argv_internal[1], "--verify")))); }))
13725 ++_dl_argv_internal;
13727 else if (! __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_dl_argv_internal[1]) && __builtin_constant_p ("--library-path") && (__s1_len = strlen (_dl_argv_internal[1]), __s2_len = strlen ("--library-path"), (!((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--library-path") + 1) - (size_t)(const void *)("--library-path") == 1) || __s2_len >= 4)) ? __builtin_strcmp (_dl_argv_internal[1], "--library-path") : (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) && (__s1_len = strlen (_dl_argv_internal[1]), __s1_len < 4) ? (__builtin_constant_p ("--library-path") && ((size_t)(const void *)(("--library-path") + 1) - (size_t)(const void *)("--library-path") == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--library-path") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("--library-path"); register int __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("--library-path") && ((size_t)(const void *)(("--library-path") + 1) - (size_t)(const void *)("--library-path") == 1) && (__s2_len = strlen ("--library-path"), __s2_len < 4) ? (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--library-path") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_dl_argv_internal[1]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("--library-path"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("--library-path"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("--library-path"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("--library-path"))[3]); } } __result; }))) : __builtin_strcmp (_dl_argv_internal[1], "--library-path")))); })
13730 library_path = _dl_argv_internal[2];
13732 _dl_skip_args += 2;
13734 _dl_argv_internal += 2;
13736 else if (! __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_dl_argv_internal[1]) && __builtin_constant_p ("--inhibit-rpath") && (__s1_len = strlen (_dl_argv_internal[1]), __s2_len = strlen ("--inhibit-rpath"), (!((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--inhibit-rpath") + 1) - (size_t)(const void *)("--inhibit-rpath") == 1) || __s2_len >= 4)) ? __builtin_strcmp (_dl_argv_internal[1], "--inhibit-rpath") : (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) && (__s1_len = strlen (_dl_argv_internal[1]), __s1_len < 4) ? (__builtin_constant_p ("--inhibit-rpath") && ((size_t)(const void *)(("--inhibit-rpath") + 1) - (size_t)(const void *)("--inhibit-rpath") == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--inhibit-rpath") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("--inhibit-rpath"); register int __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("--inhibit-rpath") && ((size_t)(const void *)(("--inhibit-rpath") + 1) - (size_t)(const void *)("--inhibit-rpath") == 1) && (__s2_len = strlen ("--inhibit-rpath"), __s2_len < 4) ? (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--inhibit-rpath") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_dl_argv_internal[1]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("--inhibit-rpath"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("--inhibit-rpath"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("--inhibit-rpath"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("--inhibit-rpath"))[3]); } } __result; }))) : __builtin_strcmp (_dl_argv_internal[1], "--inhibit-rpath")))); })
13739 _rtld_local_ro._dl_inhibit_rpath = _dl_argv_internal[2];
13741 _dl_skip_args += 2;
13743 _dl_argv_internal += 2;
13745 else if (! __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_dl_argv_internal[1]) && __builtin_constant_p ("--audit") && (__s1_len = strlen (_dl_argv_internal[1]), __s2_len = strlen ("--audit"), (!((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("--audit") + 1) - (size_t)(const void *)("--audit") == 1) || __s2_len >= 4)) ? __builtin_strcmp (_dl_argv_internal[1], "--audit") : (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) && (__s1_len = strlen (_dl_argv_internal[1]), __s1_len < 4) ? (__builtin_constant_p ("--audit") && ((size_t)(const void *)(("--audit") + 1) - (size_t)(const void *)("--audit") == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--audit") : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("--audit"); register int __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_dl_argv_internal[1]))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("--audit") && ((size_t)(const void *)(("--audit") + 1) - (size_t)(const void *)("--audit") == 1) && (__s2_len = strlen ("--audit"), __s2_len < 4) ? (__builtin_constant_p (_dl_argv_internal[1]) && ((size_t)(const void *)((_dl_argv_internal[1]) + 1) - (size_t)(const void *)(_dl_argv_internal[1]) == 1) ? __builtin_strcmp (_dl_argv_internal[1], "--audit") : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_dl_argv_internal[1]); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("--audit"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("--audit"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("--audit"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("--audit"))[3]); } } __result; }))) : __builtin_strcmp (_dl_argv_internal[1], "--audit")))); }) && _dl_argc > 2)
13747 process_dl_audit (_dl_argv_internal[2]);
13749 _dl_skip_args += 2;
13751 _dl_argv_internal += 2;
13759 do { _dl_dprintf (2, "Usage: ld.so [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]\nYou have invoked `ld.so', the helper program for shared library executables.\nThis program usually lives in the file `/lib/ld.so', and special directives\nin executable files using ELF shared libraries tell the system's program\nloader to load the helper program from this file. This helper program loads\nthe shared libraries needed by the program executable, prepares the program\nto run, and runs it. You may invoke this helper program directly from the\ncommand line to load and run an ELF executable file; this is like executing\nthat file itself, but always uses this helper program from the file you\nspecified, instead of the helper program file specified in the executable\nfile you run. This is mostly of use for maintainers to test new versions\nof this helper program; chances are you did not intend to run this program.\n\n --list list all dependencies and how they are resolved\n --verify verify that given object really is a dynamically linked\n object we can handle\n --library-path PATH use given PATH instead of content of the environment\n variable LD_LIBRARY_PATH\n --inhibit-rpath LIST ignore RUNPATH and RPATH information in object names\n in LIST\n"); exit_internal (127); } while (1);
13763 ++_dl_argv_internal;
13765 for (ph = phdr; ph < &phdr[phnum]; ++ph)
13766 if (ph->p_type == 0x6474e551)
13768 _rtld_local._dl_stack_flags = ph->p_flags;
13772 if (__builtin_expect (mode, normal) == verify)
13774 const char *objname;
13775 const char *err_str = ((void *)0);
13776 struct map_args args;
13779 args.str = (_dl_argv_internal[0]);
13780 args.loader = ((void *)0);
13781 args.is_preloaded = 0;
13782 args.mode = 0x20000000;
13783 (void) _dl_catch_error (&objname, &err_str, &malloced, map_doit,
13785 if (__builtin_expect (err_str != ((void *)0), 0))
13793 _dl_map_object (((void *)0), (_dl_argv_internal[0]), 0, lt_library, 0,
13801 main_map = _rtld_local._dl_ns[0]._ns_loaded;
13803 phdr = main_map->l_phdr;
13804 phnum = main_map->l_phnum;
13809 main_map->l_name = (char *) "";
13810 *user_entry = main_map->l_entry;
13816 main_map = _dl_new_object ((char *) "", "", lt_executable, ((void *)0),
13818 ((void) ((main_map != ((void *)0)) ? 0 : (__assert_fail ("main_map != ((void *)0)", "rtld.c", 1060, __PRETTY_FUNCTION__), 0)));
13819 ((void) ((main_map == _rtld_local._dl_ns[0]._ns_loaded) ? 0 : (__assert_fail ("main_map == _rtld_local._dl_ns[0]._ns_loaded", "rtld.c", 1061, __PRETTY_FUNCTION__), 0)));
13820 main_map->l_phdr = phdr;
13821 main_map->l_phnum = phnum;
13822 main_map->l_entry = *user_entry;
13826 main_map->l_map_end = 0;
13827 main_map->l_text_end = 0;
13829 main_map->l_map_start = ~0;
13831 ++main_map->l_direct_opencount;
13834 for (ph = phdr; ph < &phdr[phnum]; ++ph)
13835 switch (ph->p_type)
13839 main_map->l_addr = (Elf64_Addr) phdr - ph->p_vaddr;
13844 main_map->l_ld = (void *) main_map->l_addr + ph->p_vaddr;
13853 _dl_rtld_libname.name = ((const char *) main_map->l_addr
13856 _rtld_local._dl_rtld_map.l_libname = &_dl_rtld_libname;
13863 if (_rtld_local._dl_rtld_map.l_ld == ((void *)0))
13865 const char *p = ((void *)0);
13866 const char *cp = _dl_rtld_libname.name;
13869 while (*cp != '\0')
13873 if (p != ((void *)0))
13875 _dl_rtld_libname2.name = p;
13877 _dl_rtld_libname.next = &_dl_rtld_libname2;
13885 Elf64_Addr mapstart;
13886 Elf64_Addr allocend;
13889 mapstart = (main_map->l_addr + (ph->p_vaddr & ~(ph->p_align - 1)));
13890 if (main_map->l_map_start > mapstart)
13891 main_map->l_map_start = mapstart;
13894 allocend = main_map->l_addr + ph->p_vaddr + ph->p_memsz;
13895 if (main_map->l_map_end < allocend)
13896 main_map->l_map_end = allocend;
13897 if ((ph->p_flags & (1 << 0)) && allocend > main_map->l_text_end)
13898 main_map->l_text_end = allocend;
13904 if (ph->p_memsz > 0)
13910 main_map->l_tls_blocksize = ph->p_memsz;
13911 main_map->l_tls_align = ph->p_align;
13912 if (ph->p_align == 0)
13913 main_map->l_tls_firstbyte_offset = 0;
13915 main_map->l_tls_firstbyte_offset = (ph->p_vaddr
13916 & (ph->p_align - 1));
13917 main_map->l_tls_initimage_size = ph->p_filesz;
13918 main_map->l_tls_initimage = (void *) ph->p_vaddr;
13921 _rtld_local._dl_tls_max_dtv_idx = main_map->l_tls_modid = 1;
13930 _rtld_local._dl_stack_flags = ph->p_flags;
13934 main_map->l_relro_addr = ph->p_vaddr;
13935 main_map->l_relro_size = ph->p_memsz;
13941 if (main_map->l_tls_initimage != ((void *)0))
13942 main_map->l_tls_initimage
13943 = (char *) main_map->l_tls_initimage + main_map->l_addr;
13945 if (! main_map->l_map_end)
13946 main_map->l_map_end = ~0;
13947 if (! main_map->l_text_end)
13948 main_map->l_text_end = ~0;
13949 if (! _rtld_local._dl_rtld_map.l_libname && _rtld_local._dl_rtld_map.l_name)
13953 _dl_rtld_libname.name = _rtld_local._dl_rtld_map.l_name;
13955 _rtld_local._dl_rtld_map.l_libname = &_dl_rtld_libname;
13958 ((void) ((_rtld_local._dl_rtld_map.l_libname) ? 0 : (__assert_fail ("_rtld_local._dl_rtld_map.l_libname", "rtld.c", 1217, __PRETTY_FUNCTION__), 0)));
13962 if (_rtld_local._dl_rtld_map.l_info[14] != ((void *)0)
13963 && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (_rtld_local._dl_rtld_map.l_libname->name) && __builtin_constant_p ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) && (__s1_len = strlen (_rtld_local._dl_rtld_map.l_libname->name), __s2_len = strlen ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val), (!((size_t)(const void *)((_rtld_local._dl_rtld_map.l_libname->name) + 1) - (size_t)(const void *)(_rtld_local._dl_rtld_map.l_libname->name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) + 1) - (size_t)(const void *)((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) == 1) || __s2_len >= 4)) ? __builtin_strcmp (_rtld_local._dl_rtld_map.l_libname->name, (const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) : (__builtin_constant_p (_rtld_local._dl_rtld_map.l_libname->name) && ((size_t)(const void *)((_rtld_local._dl_rtld_map.l_libname->name) + 1) - (size_t)(const void *)(_rtld_local._dl_rtld_map.l_libname->name) == 1) && (__s1_len = strlen (_rtld_local._dl_rtld_map.l_libname->name), __s1_len < 4) ? (__builtin_constant_p ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) && ((size_t)(const void *)(((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) + 1) - (size_t)(const void *)((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) == 1) ? __builtin_strcmp (_rtld_local._dl_rtld_map.l_libname->name, (const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val); register int __result = (((__const unsigned char *) (__const char *) (_rtld_local._dl_rtld_map.l_libname->name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_rtld_local._dl_rtld_map.l_libname->name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (_rtld_local._dl_rtld_map.l_libname->name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (_rtld_local._dl_rtld_map.l_libname->name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) && ((size_t)(const void *)(((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) + 1) - (size_t)(const void *)((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) == 1) && (__s2_len = strlen ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val), __s2_len < 4) ? (__builtin_constant_p (_rtld_local._dl_rtld_map.l_libname->name) && ((size_t)(const void *)((_rtld_local._dl_rtld_map.l_libname->name) + 1) - (size_t)(const void *)(_rtld_local._dl_rtld_map.l_libname->name) == 1) ? __builtin_strcmp (_rtld_local._dl_rtld_map.l_libname->name, (const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (_rtld_local._dl_rtld_map.l_libname->name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val))[3]); } } __result; }))) : __builtin_strcmp (_rtld_local._dl_rtld_map.l_libname->name, (const char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_val)))); }) != 0)
13967 static struct libname_list newname;
13968 newname.name = ((char *) (&_rtld_local._dl_rtld_map)->l_info[5]->d_un.d_ptr
13969 + _rtld_local._dl_rtld_map.l_info[14]->d_un.d_ptr);
13970 newname.next = ((void *)0);
13971 newname.dont_free = 1;
13973 ((void) ((_rtld_local._dl_rtld_map.l_libname->next == ((void *)0)) ? 0 : (__assert_fail ("_rtld_local._dl_rtld_map.l_libname->next == ((void *)0)", "rtld.c", 1232, __PRETTY_FUNCTION__), 0)));
13974 _rtld_local._dl_rtld_map.l_libname->next = &newname;
13978 ((void) ((_rtld_local._dl_rtld_map.l_relocated) ? 0 : (__assert_fail ("_rtld_local._dl_rtld_map.l_relocated", "rtld.c", 1237, __PRETTY_FUNCTION__), 0)));
13980 if (! rtld_is_main)
13983 elf_get_dynamic_info (main_map, ((void *)0));
13985 _dl_setup_hash (main_map);
13988 if (__builtin_expect (mode, normal) == verify)
13994 if (main_map->l_ld == ((void *)0))
14001 exit_internal (has_interp ? 0 : 2);
14004 struct link_map **first_preload = &_rtld_local._dl_rtld_map.l_next;
14008 if (_rtld_local_ro._dl_sysinfo_dso != ((void *)0))
14015 struct link_map *l = _dl_new_object ((char *) "", "", lt_library, ((void *)0),
14017 if (__builtin_expect (l != ((void *)0), 1))
14019 static Elf64_Dyn dyn_temp[8] __attribute__ ((section (".data.rel.ro")));
14021 l->l_phdr = ((const void *) _rtld_local_ro._dl_sysinfo_dso
14022 + _rtld_local_ro._dl_sysinfo_dso->e_phoff);
14023 l->l_phnum = _rtld_local_ro._dl_sysinfo_dso->e_phnum;
14024 for (uint_fast16_t i = 0; i < l->l_phnum; ++i)
14026 const Elf64_Phdr *const ph = &l->l_phdr[i];
14027 if (ph->p_type == 2)
14029 l->l_ld = (void *) ph->p_vaddr;
14030 l->l_ldnum = ph->p_memsz / sizeof (Elf64_Dyn);
14032 else if (ph->p_type == 1)
14035 l->l_addr = ph->p_vaddr;
14036 if (ph->p_vaddr + ph->p_memsz >= l->l_map_end)
14037 l->l_map_end = ph->p_vaddr + ph->p_memsz;
14038 if ((ph->p_flags & (1 << 0))
14039 && ph->p_vaddr + ph->p_memsz >= l->l_text_end)
14040 l->l_text_end = ph->p_vaddr + ph->p_memsz;
14044 ((void) ((ph->p_type != 7) ? 0 : (__assert_fail ("ph->p_type != 7", "rtld.c", 1303, __PRETTY_FUNCTION__), 0)));
14046 l->l_map_start = (Elf64_Addr) _rtld_local_ro._dl_sysinfo_dso;
14047 l->l_addr = l->l_map_start - l->l_addr;
14048 l->l_map_end += l->l_addr;
14049 l->l_text_end += l->l_addr;
14050 l->l_ld = (void *) ((Elf64_Addr) l->l_ld + l->l_addr);
14051 elf_get_dynamic_info (l, dyn_temp);
14052 _dl_setup_hash (l);
14053 l->l_relocated = 1;
14059 l->l_local_scope[0]->r_nlist = 1;
14060 l->l_local_scope[0]->r_list = &l->l_real;
14066 if (l->l_info[14] != ((void *)0))
14070 const char *dsoname = ((char *) (l)->l_info[5]->d_un.d_ptr
14071 + l->l_info[14]->d_un.d_val);
14072 size_t len = strlen (dsoname);
14073 char *copy = malloc (len);
14074 if (copy == ((void *)0))
14075 do { _dl_dprintf (2, "out of memory\n"); exit_internal (127); } while (1);
14076 l->l_libname->name = memcpy (copy, dsoname, len);
14080 ((void) ((l->l_next == ((void *)0)) ? 0 : (__assert_fail ("l->l_next == ((void *)0)", "rtld.c", 1339, __PRETTY_FUNCTION__), 0)));
14081 ((void) ((l->l_prev == main_map) ? 0 : (__assert_fail ("l->l_prev == main_map", "rtld.c", 1340, __PRETTY_FUNCTION__), 0)));
14082 _rtld_local._dl_rtld_map.l_next = l;
14083 l->l_prev = &_rtld_local._dl_rtld_map;
14084 first_preload = &l->l_next;
14087 _rtld_local_ro._dl_sysinfo_map = l;
14097 do { int version = _dl_discover_osversion (); if (__builtin_expect (version >= 0, 1)) { if (__builtin_expect (_rtld_local_ro._dl_osversion == 0, 1) || _rtld_local_ro._dl_osversion > version) _rtld_local_ro._dl_osversion = version; if ((2 * 65536 + 6 * 256 + 9) > 0 && version < (2 * 65536 + 6 * 256 + 9)) dl_fatal ("FATAL: kernel too old\n"); } else if ((2 * 65536 + 6 * 256 + 9) > 0) dl_fatal ("FATAL: cannot determine kernel version\n"); } while (0);
14102 _dl_init_paths (library_path);
14105 struct r_debug *r = _dl_debug_initialize (_rtld_local._dl_rtld_map.l_addr,
14107 r->r_state = RT_CONSISTENT;
14112 if (! _rtld_local._dl_rtld_map.l_name)
14115 _rtld_local._dl_rtld_map.l_name = (char *) _rtld_local._dl_rtld_map.l_libname->name;
14116 _rtld_local._dl_rtld_map.l_type = lt_library;
14117 main_map->l_next = &_rtld_local._dl_rtld_map;
14118 _rtld_local._dl_rtld_map.l_prev = main_map;
14119 ++_rtld_local._dl_ns[0]._ns_nloaded;
14120 ++_rtld_local._dl_load_adds;
14125 if (_rtld_local_ro._dl_use_load_bias == (Elf64_Addr) -2)
14126 _rtld_local_ro._dl_use_load_bias = main_map->l_addr == 0 ? -1 : 0;
14130 Elf64_Ehdr *rtld_ehdr = (Elf64_Ehdr *) _rtld_local._dl_rtld_map.l_map_start;
14131 Elf64_Phdr *rtld_phdr = (Elf64_Phdr *) (_rtld_local._dl_rtld_map.l_map_start
14132 + rtld_ehdr->e_phoff);
14133 _rtld_local._dl_rtld_map.l_phdr = rtld_phdr;
14134 _rtld_local._dl_rtld_map.l_phnum = rtld_ehdr->e_phnum;
14138 size_t cnt = rtld_ehdr->e_phnum;
14140 if (rtld_phdr[cnt].p_type == 0x6474e552)
14142 _rtld_local._dl_rtld_map.l_relro_addr = rtld_phdr[cnt].p_vaddr;
14143 _rtld_local._dl_rtld_map.l_relro_size = rtld_phdr[cnt].p_memsz;
14149 if (_rtld_local._dl_rtld_map.l_tls_blocksize != 0)
14151 _rtld_local._dl_rtld_map.l_tls_modid = _dl_next_tls_modid ();
14155 if (__builtin_expect (audit_list != ((void *)0), 0))
14158 struct audit_ifaces *last_audit = ((void *)0);
14159 struct audit_list *al = audit_list->next;
14163 int tls_idx = _rtld_local._dl_tls_max_dtv_idx;
14165 tcbp = init_tls ();
14167 struct dlmopen_args dlmargs;
14168 dlmargs.fname = al->name;
14169 dlmargs.map = ((void *)0);
14171 const char *objname;
14172 const char *err_str = ((void *)0);
14174 (void) _dl_catch_error (&objname, &err_str, &malloced, dlmopen_doit,
14176 if (__builtin_expect (err_str != ((void *)0), 0))
14179 _dl_dprintf (2, "ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", al->name, err_str);
14183 free ((char *) err_str);
14187 struct lookup_args largs;
14188 largs.name = "la_version";
14189 largs.map = dlmargs.map;
14192 (void) _dl_catch_error (&objname, &err_str, &malloced,
14193 lookup_doit, &largs);
14195 unsigned int (*laversion) (unsigned int);
14197 if (err_str == ((void *)0)
14198 && (laversion = largs.result) != ((void *)0)
14199 && (lav = laversion (1)) > 0
14206 struct audit_ifaces ifaces;
14208 void (*fptr[8]) (void);
14209 } *newp = malloc (sizeof (*newp));
14213 static const char audit_iface_names[] =
14226 "la_" "s390_64_gnu_pltenter" "\0"
14227 "la_" "s390_64_gnu_pltexit" "\0"
14229 unsigned int cnt = 0;
14230 const char *cp = audit_iface_names;
14234 (void) _dl_catch_error (&objname, &err_str, &malloced,
14235 lookup_doit, &largs);
14238 if (err_str == ((void *)0) && largs.result != ((void *)0))
14240 newp->fptr[cnt] = largs.result;
14244 _rtld_local._dl_rtld_map.l_audit[cnt].cookie
14245 = (intptr_t) &_rtld_local._dl_rtld_map;
14248 newp->fptr[cnt] = ((void *)0);
14251 cp = (char *) rawmemchr (cp, '\0') + 1;
14253 while (*cp != '\0');
14254 ((void) ((cnt == 8) ? 0 : (__assert_fail ("cnt == 8", "rtld.c", 1521, __PRETTY_FUNCTION__), 0)));
14257 newp->ifaces.next = ((void *)0);
14258 if (last_audit == ((void *)0))
14259 last_audit = _rtld_local_ro._dl_audit = &newp->ifaces;
14261 last_audit = last_audit->next = &newp->ifaces;
14262 ++_rtld_local_ro._dl_naudit;
14265 dlmargs.map->l_auditing = 1;
14273 Lmid_t ns = dlmargs.map->l_ns;
14275 _dl_close (dlmargs.map);
14278 ((void) ((_rtld_local._dl_ns[ns]._ns_loaded == ((void *)0)) ? 0 : (__assert_fail ("_rtld_local._dl_ns[ns]._ns_loaded == ((void *)0)", "rtld.c", 1545, __PRETTY_FUNCTION__), 0)));
14279 ((void) ((_rtld_local._dl_ns[ns]._ns_nloaded == 0) ? 0 : (__assert_fail ("_rtld_local._dl_ns[ns]._ns_nloaded == 0", "rtld.c", 1546, __PRETTY_FUNCTION__), 0)));
14282 _rtld_local._dl_tls_max_dtv_idx = tls_idx;
14290 while (al != audit_list->next);
14294 if (__builtin_expect (_rtld_local_ro._dl_naudit > 0, 0))
14296 struct link_map *ls[2] = { main_map, &_rtld_local._dl_rtld_map };
14298 for (unsigned int outer = 0; outer < 2; ++outer)
14300 struct audit_ifaces *afct = _rtld_local_ro._dl_audit;
14301 for (unsigned int cnt = 0; cnt < _rtld_local_ro._dl_naudit; ++cnt)
14303 if (afct->objopen != ((void *)0))
14305 ls[outer]->l_audit[cnt].bindflags
14306 = afct->objopen (ls[outer], 0,
14307 &ls[outer]->l_audit[cnt].cookie);
14309 ls[outer]->l_audit_any_plt
14310 |= ls[outer]->l_audit[cnt].bindflags != 0;
14325 if (main_map->l_info[21] != ((void *)0))
14328 main_map->l_info[21]->d_un.d_ptr = (Elf64_Addr) r;
14332 if (_rtld_local._dl_rtld_map.l_info[21] != ((void *)0))
14333 _rtld_local._dl_rtld_map.l_info[21]->d_un.d_ptr = (Elf64_Addr) r;
14337 r->r_state = RT_ADD;
14338 _dl_debug_state ();
14342 if (__builtin_expect (_rtld_local_ro._dl_naudit > 0, 0))
14344 struct audit_ifaces *afct = _rtld_local_ro._dl_audit;
14345 for (unsigned int cnt = 0; cnt < _rtld_local_ro._dl_naudit; ++cnt)
14347 if (afct->activity != ((void *)0))
14348 afct->activity (&main_map->l_audit[cnt].cookie, LA_ACT_ADD);
14357 ((void) ((*first_preload == ((void *)0)) ? 0 : (__assert_fail ("*first_preload == ((void *)0)", "rtld.c", 1624, __PRETTY_FUNCTION__), 0)));
14358 struct link_map **preloads = ((void *)0);
14359 unsigned int npreloads = 0;
14361 if (__builtin_expect (preloadlist != ((void *)0), 0))
14368 char *list = (__extension__ ({ __const char *__old = (preloadlist); size_t __len = strlen (__old) + 1; char *__new = (char *) __builtin_alloca (__len); (char *) memcpy (__new, __old, __len); }));
14374 while ((p = (strsep) (&list, " :")) != ((void *)0))
14376 && (__builtin_expect (! __libc_enable_secure_internal, 1)
14377 || (__extension__ (__builtin_constant_p ('/') && !__builtin_constant_p (p) && ('/') == '\0' ? (char *) __rawmemchr (p, '/') : __builtin_strchr (p, '/'))) == ((void *)0)))
14378 npreloads += do_preload (p, main_map, "LD_PRELOAD");
14391 static const char preload_file[] = "/etc/ld.so.preload";
14392 if (__builtin_expect (__access (preload_file, 4) == 0, 0))
14395 file = _dl_sysdep_read_whole_file (preload_file, &file_size,
14397 if (__builtin_expect (file != ((void *) -1), 0))
14411 char *comment = memchr (runp, '#', rest);
14412 if (comment == ((void *)0))
14415 rest -= comment - runp;
14418 while (--rest > 0 && *++comment != '\n');
14424 if (file[file_size - 1] != ' ' && file[file_size - 1] != '\t'
14425 && file[file_size - 1] != '\n' && file[file_size - 1] != ':')
14427 problem = &file[file_size];
14428 while (problem > file && problem[-1] != ' '
14429 && problem[-1] != '\t'
14430 && problem[-1] != '\n' && problem[-1] != ':')
14433 if (problem > file)
14434 problem[-1] = '\0';
14438 problem = ((void *)0);
14439 file[file_size - 1] = '\0';
14444 if (file != problem)
14448 while ((p = __extension__ ({ char __r0, __r1, __r2; (__builtin_constant_p (": \t\n") && ((size_t)(const void *)((": \t\n") + 1) - (size_t)(const void *)(": \t\n") == 1) && (__r0 = ((__const char *) (": \t\n"))[0], ((__const char *) (": \t\n"))[0] != '\0') ? ((__r1 = ((__const char *) (": \t\n"))[1], ((__const char *) (": \t\n"))[1] == '\0') ? __strsep_1c (&runp, __r0) : ((__r2 = ((__const char *) (": \t\n"))[2], __r2 == '\0') ? __strsep_2c (&runp, __r0, __r1) : (((__const char *) (": \t\n"))[3] == '\0' ? __strsep_3c (&runp, __r0, __r1, __r2) : __strsep_g (&runp, ": \t\n")))) : __strsep_g (&runp, ": \t\n")); })) != ((void *)0))
14450 npreloads += do_preload (p, main_map, preload_file);
14453 if (problem != ((void *)0))
14455 char *p = (__extension__ ({ __const char *__old = (problem); size_t __len = __strnlen (__old, (file_size - (problem - file))); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); }));
14457 npreloads += do_preload (p, main_map, preload_file);
14465 __munmap (file, file_size);
14469 if (__builtin_expect (*first_preload != ((void *)0), 0))
14472 struct link_map *l = *first_preload;
14473 preloads = __builtin_alloca (npreloads * sizeof preloads[0]);
14480 ((void) ((i == npreloads) ? 0 : (__assert_fail ("i == npreloads", "rtld.c", 1747, __PRETTY_FUNCTION__), 0)));
14487 _dl_map_object_deps (main_map, preloads, npreloads, mode == trace, 0);
14493 for (i = main_map->l_searchlist.r_nlist; i > 0; )
14494 main_map->l_searchlist.r_list[--i]->l_global = 1;
14496 _rtld_local._dl_rtld_map.l_prev->l_next = _rtld_local._dl_rtld_map.l_next;
14497 if (_rtld_local._dl_rtld_map.l_next != ((void *)0))
14498 _rtld_local._dl_rtld_map.l_next->l_prev = _rtld_local._dl_rtld_map.l_prev;
14500 for (i = 1; i < main_map->l_searchlist.r_nlist; ++i)
14501 if (main_map->l_searchlist.r_list[i] == &_rtld_local._dl_rtld_map)
14504 _Bool rtld_multiple_ref = 0;
14505 if (__builtin_expect (i < main_map->l_searchlist.r_nlist, 1))
14511 rtld_multiple_ref = 1;
14513 _rtld_local._dl_rtld_map.l_prev = main_map->l_searchlist.r_list[i - 1];
14514 if (__builtin_expect (mode, normal) == normal)
14516 _rtld_local._dl_rtld_map.l_next = (i + 1 < main_map->l_searchlist.r_nlist
14517 ? main_map->l_searchlist.r_list[i + 1]
14520 if (_rtld_local_ro._dl_sysinfo_map != ((void *)0)
14521 && _rtld_local._dl_rtld_map.l_prev->l_next == _rtld_local_ro._dl_sysinfo_map
14522 && _rtld_local._dl_rtld_map.l_next != _rtld_local_ro._dl_sysinfo_map)
14523 _rtld_local._dl_rtld_map.l_prev = _rtld_local_ro._dl_sysinfo_map;
14532 _rtld_local._dl_rtld_map.l_next = _rtld_local._dl_rtld_map.l_prev->l_next;
14534 ((void) ((_rtld_local._dl_rtld_map.l_prev->l_next == _rtld_local._dl_rtld_map.l_next) ? 0 : (__assert_fail ("_rtld_local._dl_rtld_map.l_prev->l_next == _rtld_local._dl_rtld_map.l_next", "rtld.c", 1808, __PRETTY_FUNCTION__), 0)));
14535 _rtld_local._dl_rtld_map.l_prev->l_next = &_rtld_local._dl_rtld_map;
14536 if (_rtld_local._dl_rtld_map.l_next != ((void *)0))
14538 ((void) ((_rtld_local._dl_rtld_map.l_next->l_prev == _rtld_local._dl_rtld_map.l_prev) ? 0 : (__assert_fail ("_rtld_local._dl_rtld_map.l_next->l_prev == _rtld_local._dl_rtld_map.l_prev", "rtld.c", 1812, __PRETTY_FUNCTION__), 0)));
14539 _rtld_local._dl_rtld_map.l_next->l_prev = &_rtld_local._dl_rtld_map;
14546 struct version_check_args args;
14547 args.doexit = mode == normal;
14548 args.dotrace = mode == trace;
14549 _dl_receive_error (print_missing_version, version_check_doit, &args);
14552 _Bool was_tls_init_tp_called = tls_init_tp_called;
14553 if (tcbp == ((void *)0))
14554 tcbp = init_tls ();
14558 uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
14560 __guard_local = stack_chk_guard;
14563 ((struct pthread *) __builtin_thread_pointer ())->header.stack_guard = (stack_chk_guard);
14569 if (_rtld_local_ro._dl_pointer_guard)
14572 uintptr_t pointer_chk_guard = stack_chk_guard;
14581 __pointer_chk_guard_local = pointer_chk_guard;
14584 if (__builtin_expect (mode, normal) != normal)
14590 struct link_map *l;
14592 if (_rtld_local_ro._dl_debug_mask & (1 << 10))
14594 struct r_scope_elem *scope = &main_map->l_searchlist;
14596 for (i = 0; i < scope->r_nlist; i++)
14598 l = scope->r_list [i];
14601 _dl_dprintf (1, "\t%s => not found\n", l->l_libname->name);
14604 if (_dl_name_match_p (_rtld_local_ro._dl_trace_prelink, l))
14605 _rtld_local_ro._dl_trace_prelink_map = l;
14606 _dl_dprintf (1, "\t%s => %s (0x%0*Zx, 0x%0*Zx)", l->l_libname->name[0] ? l->l_libname->name : (_dl_argv_internal[0]) ?: "<main program>", l->l_name[0] ? l->l_name : (_dl_argv_internal[0]) ?: "<main program>", (int) sizeof l->l_map_start * 2, (size_t) l->l_map_start, (int) sizeof l->l_addr * 2, (size_t) l->l_addr);
14608 if (l->l_tls_modid)
14609 _dl_dprintf (1, " TLS(0x%Zx, 0x%0*Zx)\n", l->l_tls_modid, (int) sizeof l->l_tls_offset * 2, (size_t) l->l_tls_offset);
14614 _dl_dprintf (1, "\n");
14617 else if (_rtld_local_ro._dl_debug_mask & (1 << 8))
14622 struct link_map *l = main_map;
14625 struct relocate_args args = { .l = l, .lazy = _rtld_local_ro._dl_lazy };
14626 _dl_receive_error (print_unresolved, relocate_doit, &args);
14630 Elf64_Dyn *dyn = main_map->l_ld;
14632 while (dyn->d_tag != 0)
14634 if (dyn->d_tag == 1)
14642 _dl_dprintf (1, "Unused direct dependencies:\n");
14646 _dl_dprintf (1, "\t%s\n", l->l_name);
14653 exit_internal (first != 1);
14655 else if (! main_map->l_info[1])
14656 _dl_dprintf (1, "\tstatically linked\n");
14659 for (l = main_map->l_next; l; l = l->l_next)
14662 _dl_dprintf (1, "\t%s => not found\n", l->l_libname->name);
14663 else if (__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (l->l_libname->name) && __builtin_constant_p (l->l_name) && (__s1_len = strlen (l->l_libname->name), __s2_len = strlen (l->l_name), (!((size_t)(const void *)((l->l_libname->name) + 1) - (size_t)(const void *)(l->l_libname->name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((l->l_name) + 1) - (size_t)(const void *)(l->l_name) == 1) || __s2_len >= 4)) ? __builtin_strcmp (l->l_libname->name, l->l_name) : (__builtin_constant_p (l->l_libname->name) && ((size_t)(const void *)((l->l_libname->name) + 1) - (size_t)(const void *)(l->l_libname->name) == 1) && (__s1_len = strlen (l->l_libname->name), __s1_len < 4) ? (__builtin_constant_p (l->l_name) && ((size_t)(const void *)((l->l_name) + 1) - (size_t)(const void *)(l->l_name) == 1) ? __builtin_strcmp (l->l_libname->name, l->l_name) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (l->l_name); register int __result = (((__const unsigned char *) (__const char *) (l->l_libname->name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (l->l_libname->name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (l->l_libname->name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (l->l_libname->name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (l->l_name) && ((size_t)(const void *)((l->l_name) + 1) - (size_t)(const void *)(l->l_name) == 1) && (__s2_len = strlen (l->l_name), __s2_len < 4) ? (__builtin_constant_p (l->l_libname->name) && ((size_t)(const void *)((l->l_libname->name) + 1) - (size_t)(const void *)(l->l_libname->name) == 1) ? __builtin_strcmp (l->l_libname->name, l->l_name) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (l->l_libname->name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (l->l_name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (l->l_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (l->l_name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (l->l_name))[3]); } } __result; }))) : __builtin_strcmp (l->l_libname->name, l->l_name)))); }) == 0)
14664 _dl_dprintf (1, "\t%s (0x%0*Zx)\n", l->l_libname->name, (int) sizeof l->l_map_start * 2, (size_t) l->l_map_start);
14668 _dl_dprintf (1, "\t%s => %s (0x%0*Zx)\n", l->l_libname->name, l->l_name, (int) sizeof l->l_map_start * 2, (size_t) l->l_map_start);
14673 if (__builtin_expect (mode, trace) != trace)
14674 for (i = 1; i < (unsigned int) _dl_argc; ++i)
14676 const Elf64_Sym *ref = ((void *)0);
14677 Elf64_Addr loadbase;
14680 result = _dl_lookup_symbol_x (_dl_argv_internal[i], main_map,
14681 &ref, main_map->l_scope, ((void *)0),
14683 DL_LOOKUP_ADD_DEPENDENCY, ((void *)0));
14685 loadbase = ((result) ? (result)->l_addr : 0);
14687 _dl_dprintf (1, "%s found at 0x%0*Zd in object at 0x%0*Zd\n", _dl_argv_internal[i], (int) sizeof ref->st_value * 2, (size_t) ref->st_value, (int) sizeof loadbase * 2, (size_t) loadbase);
14696 if (_rtld_local_ro._dl_lazy >= 0 && _rtld_local_ro._dl_verbose)
14699 struct relocate_args args;
14700 struct link_map *l;
14702 args.lazy = _rtld_local_ro._dl_lazy;
14705 while (l->l_next != ((void *)0))
14709 if (l != &_rtld_local._dl_rtld_map && ! l->l_faked)
14712 _dl_receive_error (print_unresolved, relocate_doit,
14717 while (l != ((void *)0));
14719 if ((_rtld_local_ro._dl_debug_mask & (1 << 10))
14720 && rtld_multiple_ref)
14723 _rtld_local._dl_rtld_map.l_relocated = 0;
14724 _dl_relocate_object (&_rtld_local._dl_rtld_map, main_map->l_scope,
14734 struct link_map *map;
14736 for (map = main_map; map != ((void *)0); map = map->l_next)
14738 const char *strtab;
14739 Elf64_Dyn *dyn = map->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffe)))];
14740 Elf64_Verneed *ent;
14742 if (dyn == ((void *)0))
14745 strtab = (const void *) (map)->l_info[5]->d_un.d_ptr;
14746 ent = (Elf64_Verneed *) (map->l_addr + dyn->d_un.d_ptr);
14750 _dl_dprintf (1, "\n\tVersion information:\n");
14754 _dl_dprintf (1, "\t%s:\n", map->l_name[0] ? map->l_name : (_dl_argv_internal[0]));
14759 Elf64_Vernaux *aux;
14760 struct link_map *needed;
14762 needed = find_needed (strtab + ent->vn_file);
14763 aux = (Elf64_Vernaux *) ((char *) ent + ent->vn_aux);
14767 const char *fname = ((void *)0);
14769 if (needed != ((void *)0)
14770 && match_version (strtab + aux->vna_name,
14772 fname = needed->l_name;
14774 _dl_dprintf (1, "\t\t%s (%s) %s=> %s\n", strtab + ent->vn_file, strtab + aux->vna_name, aux->vna_flags & 0x2 ? "[WEAK] " : "", fname ?: "not found");
14781 if (aux->vna_next == 0)
14786 aux = (Elf64_Vernaux *) ((char *) aux
14790 if (ent->vn_next == 0)
14795 ent = (Elf64_Verneed *) ((char *) ent + ent->vn_next);
14804 if (main_map->l_info[(34 + 0 + 16 + 3 + 12 + (0x6ffffeff - (0x6ffffef9)))]
14805 && ! __builtin_expect (_rtld_local_ro._dl_profile != ((void *)0), 0))
14807 Elf64_Lib *liblist, *liblistend;
14808 struct link_map **r_list, **r_listend, *l;
14809 const char *strtab = (const void *) (main_map)->l_info[5]->d_un.d_ptr;
14811 ((void) ((main_map->l_info[(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf7)))] != ((void *)0)) ? 0 : (__assert_fail ("main_map->l_info[(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf7)))] != ((void *)0)", "rtld.c", 2101, __PRETTY_FUNCTION__), 0)));
14812 liblist = (Elf64_Lib *)
14813 main_map->l_info[(34 + 0 + 16 + 3 + 12 + (0x6ffffeff - (0x6ffffef9)))]->d_un.d_ptr;
14814 liblistend = (Elf64_Lib *)
14815 ((char *) liblist +
14816 main_map->l_info[(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf7)))]->d_un.d_val);
14817 r_list = main_map->l_searchlist.r_list;
14818 r_listend = r_list + main_map->l_searchlist.r_nlist;
14820 for (; r_list < r_listend && liblist < liblistend; r_list++)
14832 if (l->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf8)))] == ((void *)0)
14833 || l->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf8)))]->d_un.d_val
14834 != liblist->l_checksum)
14837 if (l->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf5)))] == ((void *)0)
14838 || l->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf5)))]->d_un.d_val
14839 != liblist->l_time_stamp)
14842 if (! _dl_name_match_p (strtab + liblist->l_name, l))
14849 if (r_list == r_listend && liblist == liblistend)
14852 if (__builtin_expect (_rtld_local_ro._dl_debug_mask & (1 << 0), 0))
14853 _dl_debug_printf ("\nprelink checking: %s\n",
14854 prelinked ? "ok" : "failed");
14859 _rtld_local._dl_ns[0]._ns_main_searchlist = &main_map->l_searchlist;
14860 _rtld_local._dl_ns[0]._ns_global_scope[0] = &main_map->l_searchlist;
14864 _rtld_local_ro._dl_initial_searchlist = *_rtld_local._dl_ns[0]._ns_main_searchlist;
14868 if (main_map->l_info [(34 + 0 + 16 + 3 + 12 + (0x6ffffeff - (0x6ffffef8)))] != ((void *)0))
14870 Elf64_Rela *conflict, *conflictend;
14877 ((void) ((main_map->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf6)))] != ((void *)0)) ? 0 : (__assert_fail ("main_map->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf6)))] != ((void *)0)", "rtld.c", 2167, __PRETTY_FUNCTION__), 0)));
14878 conflict = (Elf64_Rela *)
14879 main_map->l_info [(34 + 0 + 16 + 3 + 12 + (0x6ffffeff - (0x6ffffef8)))]->d_un.d_ptr;
14880 conflictend = (Elf64_Rela *)
14882 + main_map->l_info [(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf6)))]->d_un.d_val);
14883 _dl_resolve_conflicts (main_map, conflict, conflictend);
14890 for (struct link_map *l = main_map; l != ((void *)0); l = l->l_next)
14892 l->l_relocated = 1;
14893 if (l->l_relro_size)
14894 _dl_protect_relro (l);
14898 if (l->l_tls_blocksize != 0 && tls_init_tp_called)
14899 _dl_add_to_slotinfo (l);
14903 _dl_sysdep_start_cleanup ();
14908 int consider_profiling = _rtld_local_ro._dl_profile != ((void *)0);
14916 _rtld_local_ro._dl_lazy |= consider_profiling;
14918 struct link_map *l = main_map;
14928 struct libname_list *lnp = l->l_libname->next;
14930 while (__builtin_expect (lnp != ((void *)0), 0))
14932 lnp->dont_free = 1;
14936 if (l != &_rtld_local._dl_rtld_map)
14937 _dl_relocate_object (l, l->l_scope, _rtld_local_ro._dl_lazy,
14938 consider_profiling);
14942 if (l->l_tls_blocksize != 0 && tls_init_tp_called)
14943 _dl_add_to_slotinfo (l);
14958 _dl_sysdep_start_cleanup ();
14964 if (__builtin_expect (_rtld_local._dl_profile_map != ((void *)0), 0))
14966 _dl_start_profile ();
14968 if (rtld_multiple_ref)
14974 _rtld_local._dl_rtld_map.l_relocated = 0;
14975 _dl_relocate_object (&_rtld_local._dl_rtld_map, main_map->l_scope, 0, 0);
14987 if (!was_tls_init_tp_called && _rtld_local._dl_tls_max_dtv_idx > 0)
14988 ++_rtld_local._dl_tls_generation;
14993 _dl_allocate_tls_init (tcbp);
14997 if (! tls_init_tp_called)
14999 const char *lossage = ({ void *_thrdescr = (tcbp); tcbhead_t *_head = _thrdescr; _head->tcb = _thrdescr; _head->self = _thrdescr; ; __builtin_set_thread_pointer (_thrdescr); ((void *)0); });
15000 if (__builtin_expect (lossage != ((void *)0), 0))
15001 do { _dl_dprintf (2, "cannot set up thread-local storage: %s\n", lossage); exit_internal (127); } while (1);
15010 if (__builtin_expect (_rtld_local_ro._dl_naudit > 0, 0))
15012 struct link_map *head = _rtld_local._dl_ns[0]._ns_loaded;
15014 if (head->l_auditing == 0)
15016 struct audit_ifaces *afct = _rtld_local_ro._dl_audit;
15017 for (unsigned int cnt = 0; cnt < _rtld_local_ro._dl_naudit; ++cnt)
15019 if (afct->activity != ((void *)0))
15020 afct->activity (&head->l_audit[cnt].cookie, LA_ACT_CONSISTENT);
15030 r = _dl_debug_initialize (0, 0);
15031 r->r_state = RT_CONSISTENT;
15032 _dl_debug_state ();
15036 _dl_unload_cache ();
15046 print_unresolved (int errcode __attribute__ ((unused)), const char *objname,
15047 const char *errstring)
15049 if (objname[0] == '\0')
15050 objname = (_dl_argv_internal[0]) ?: "<main program>";
15051 _dl_dprintf (2, "%s (%s)\n", errstring, objname);
15057 print_missing_version (int errcode __attribute__ ((unused)),
15058 const char *objname, const char *errstring)
15060 _dl_dprintf (2, "%s: %s: %s\n", (_dl_argv_internal[0]) ?: "<program name unknown>", objname, errstring);
15065 static int any_debug __attribute__ ((section (".data.rel.ro")));
15070 process_dl_debug (const char *dl_debug)
15074 static const struct
15077 const char name[10];
15078 const char helptext[41];
15079 unsigned short int mask;
15083 { sizeof ("libs") - 1, "libs", "display library search paths",
15084 (1 << 0) | (1 << 1) },
15085 { sizeof ("reloc") - 1, "reloc", "display relocation processing",
15086 (1 << 5) | (1 << 1) },
15087 { sizeof ("files") - 1, "files", "display progress for input file",
15088 (1 << 6) | (1 << 1) },
15089 { sizeof ("symbols") - 1, "symbols", "display symbol table processing",
15090 (1 << 3) | (1 << 1) },
15091 { sizeof ("bindings") - 1, "bindings", "display information about symbol binding",
15092 (1 << 2) | (1 << 1) },
15093 { sizeof ("versions") - 1, "versions", "display version dependencies",
15094 (1 << 4) | (1 << 1) },
15095 { sizeof ("all") - 1, "all", "all previous options combined",
15096 (1 << 0) | (1 << 5) | (1 << 6) | (1 << 3)
15097 | (1 << 2) | (1 << 4) | (1 << 1) },
15098 { sizeof ("statistics") - 1, "statistics", "display relocation statistics",
15100 { sizeof ("unused") - 1, "unused", "determined unused DSOs",
15102 { sizeof ("help") - 1, "help", "display this help message and exit",
15108 while (*dl_debug != '\0')
15110 if (*dl_debug != ' ' && *dl_debug != ',' && *dl_debug != ':')
15115 while (dl_debug[len] != '\0' && dl_debug[len] != ' '
15116 && dl_debug[len] != ',' && dl_debug[len] != ':')
15119 for (cnt = 0; cnt < (sizeof (debopts) / sizeof (debopts[0])); ++cnt)
15120 if (debopts[cnt].len == len
15121 && memcmp (dl_debug, debopts[cnt].name, len) == 0)
15123 _rtld_local_ro._dl_debug_mask |= debopts[cnt].mask;
15128 if (cnt == (sizeof (debopts) / sizeof (debopts[0])))
15132 char *copy = (__extension__ ({ __const char *__old = (dl_debug); size_t __len = __strnlen (__old, (len)); char *__new = (char *) __builtin_alloca (__len + 1); __new[__len] = '\0'; (char *) memcpy (__new, __old, __len); }));
15133 _dl_dprintf (2, "warning: debug option `%s' unknown; try LD_DEBUG=help\n", copy);
15144 if (_rtld_local_ro._dl_debug_mask & (1 << 9))
15148 _dl_dprintf (1, "Valid options for the LD_DEBUG environment variable are:\n\n");
15151 for (cnt = 0; cnt < (sizeof (debopts) / sizeof (debopts[0])); ++cnt)
15152 _dl_dprintf (1, " %.*s%s%s\n", debopts[cnt].len, debopts[cnt].name, " " + debopts[cnt].len - 3, debopts[cnt].helptext);
15156 _dl_dprintf (1, "\nTo direct the debugging output into a file instead of standard output\na filename can be specified using the LD_DEBUG_OUTPUT environment variable.\n");
15164 process_dl_audit (char *str)
15169 while ((p = (strsep) (&str, ":")) != ((void *)0))
15171 && (__builtin_expect (! __libc_enable_secure_internal, 1)
15172 || (__extension__ (__builtin_constant_p ('/') && !__builtin_constant_p (p) && ('/') == '\0' ? (char *) __rawmemchr (p, '/') : __builtin_strchr (p, '/'))) == ((void *)0)))
15176 struct audit_list *newp = malloc (sizeof (*newp));
15179 if (audit_list == ((void *)0))
15180 audit_list = newp->next = newp;
15183 newp->next = audit_list->next;
15184 audit_list = audit_list->next = newp;
15192 extern char **_environ __attribute__ ((visibility ("hidden")));
15196 process_envvars (enum mode *modep)
15198 char **runp = _environ;
15200 enum mode mode = normal;
15201 char *debug_output = ((void *)0);
15204 _rtld_local_ro._dl_profile_output
15205 = &"/var/tmp\0/var/profile"[__libc_enable_secure_internal ? 9 : 0];
15207 while ((envline = _dl_next_ld_env_entry (&runp)) != ((void *)0))
15211 while (envline[len] != '\0' && envline[len] != '=')
15214 if (envline[len] != '=')
15224 if (memcmp (envline, "WARN", 4) == 0)
15225 _rtld_local_ro._dl_verbose = envline[5] != '\0';
15230 if (memcmp (envline, "DEBUG", 5) == 0)
15232 process_dl_debug (&envline[6]);
15235 if (memcmp (envline, "AUDIT", 5) == 0)
15236 process_dl_audit (&envline[6]);
15241 if (memcmp (envline, "VERBOSE", 7) == 0)
15243 version_info = envline[8] != '\0';
15248 if (memcmp (envline, "PRELOAD", 7) == 0)
15250 preloadlist = &envline[8];
15255 if (memcmp (envline, "PROFILE", 7) == 0 && envline[8] != '\0')
15256 _rtld_local_ro._dl_profile = &envline[8];
15261 if (memcmp (envline, "BIND_NOW", 8) == 0)
15263 _rtld_local_ro._dl_lazy = envline[9] == '\0';
15266 if (memcmp (envline, "BIND_NOT", 8) == 0)
15267 _rtld_local_ro._dl_bind_not = envline[9] != '\0';
15273 if (!__libc_enable_secure_internal
15274 && memcmp (envline, "SHOW_AUXV", 9) == 0)
15280 if (memcmp (envline, "HWCAP_MASK", 10) == 0)
15281 _rtld_local_ro._dl_hwcap_mask = __strtoul_internal (&envline[11], ((void *)0),
15287 if (!__libc_enable_secure_internal
15288 && memcmp (envline, "ORIGIN_PATH", 11) == 0)
15289 _rtld_local_ro._dl_origin_path = &envline[12];
15294 if (memcmp (envline, "LIBRARY_PATH", 12) == 0)
15296 library_path = &envline[13];
15301 if (memcmp (envline, "DEBUG_OUTPUT", 12) == 0)
15303 debug_output = &envline[13];
15307 if (!__libc_enable_secure_internal
15308 && memcmp (envline, "DYNAMIC_WEAK", 12) == 0)
15309 _rtld_local_ro._dl_dynamic_weak = 1;
15316 if (memcmp (envline, "ASSUME_KERNEL", 13) == 0) { _dl_osversion_init (&envline[14]); break; }
15318 if (!__libc_enable_secure_internal
15319 && memcmp (envline, "USE_LOAD_BIAS", 13) == 0)
15321 _rtld_local_ro._dl_use_load_bias = envline[14] == '1' ? -1 : 0;
15325 if (memcmp (envline, "POINTER_GUARD", 13) == 0)
15326 _rtld_local_ro._dl_pointer_guard = envline[14] != '0';
15331 if (!__libc_enable_secure_internal
15332 && memcmp (envline, "PROFILE_OUTPUT", 14) == 0
15333 && envline[15] != '\0')
15334 _rtld_local_ro._dl_profile_output = &envline[15];
15339 if (memcmp (envline, "TRACE_PRELINKING", 16) == 0)
15342 _rtld_local_ro._dl_verbose = 1;
15343 _rtld_local_ro._dl_debug_mask |= (1 << 10);
15344 _rtld_local_ro._dl_trace_prelink = &envline[17];
15350 if (memcmp (envline, "TRACE_LOADED_OBJECTS", 20) == 0)
15362 if (__builtin_expect (__libc_enable_secure_internal, 0))
15364 static const char unsecure_envvars[] =
15368 "GCONV_PATH\0" "GETCONF_DIR\0" "HOSTALIASES\0" "LD_AUDIT\0" "LD_DEBUG\0" "LD_DEBUG_OUTPUT\0" "LD_DYNAMIC_WEAK\0" "LD_LIBRARY_PATH\0" "LD_ORIGIN_PATH\0" "LD_PRELOAD\0" "LD_PROFILE\0" "LD_SHOW_AUXV\0" "LD_USE_LOAD_BIAS\0" "LOCALDOMAIN\0" "LOCPATH\0" "MALLOC_TRACE\0" "NLSPATH\0" "RESOLV_HOST_CONF\0" "RES_OPTIONS\0" "TMPDIR\0" "TZDIR\0";
15371 nextp = unsecure_envvars;
15376 nextp = (char *) (strchr) (nextp, '\0') + 1;
15378 while (*nextp != '\0');
15380 if (__access ("/etc/suid-debug", 0) != 0)
15382 unsetenv ("MALLOC_CHECK_");
15383 _rtld_local_ro._dl_debug_mask = 0;
15386 if (mode != normal)
15392 else if (any_debug && debug_output != ((void *)0))
15395 const int flags = 01 | 02000 | 0100 | 0400000;
15399 size_t name_len = strlen (debug_output);
15400 char buf[name_len + 12];
15403 buf[name_len + 11] = '\0';
15404 startp = _itoa (__getpid (), &buf[name_len + 11], 10, 0);
15406 startp = memcpy (startp - name_len, debug_output, name_len);
15408 _rtld_local_ro._dl_debug_fd = __open (startp, flags, (0400|0200|(0400 >> 3)|(0200 >> 3)|((0400 >> 3) >> 3)|((0200 >> 3) >> 3)));
15409 if (_rtld_local_ro._dl_debug_fd == -1)
15411 _rtld_local_ro._dl_debug_fd = 1;
15418 __attribute ((noinline))
15419 print_statistics (hp_timing_t *rtld_total_timep)
15422 unsigned long int num_relative_relocations = 0;
15423 for (Lmid_t ns = 0; ns < 16; ++ns)
15425 if (_rtld_local._dl_ns[ns]._ns_loaded == ((void *)0))
15428 struct r_scope_elem *scope = &_rtld_local._dl_ns[ns]._ns_loaded->l_searchlist;
15430 for (unsigned int i = 0; i < scope->r_nlist; i++)
15432 struct link_map *l = scope->r_list [i];
15434 if (l->l_addr != 0 && l->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffa)))])
15435 num_relative_relocations
15436 += l->l_info[(34 + 0 + (0x6fffffff - (0x6ffffffa)))]->d_un.d_val;
15441 if ((l->l_addr != 0 || !l->l_info[(34 + 0 + 16 + 3 + (0x6ffffdff - (0x6ffffdf5)))])
15442 && l->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff9)))])
15448 num_relative_relocations
15449 += l->l_info[(34 + 0 + (0x6fffffff - (0x6ffffff9)))]->d_un.d_val;
15453 _dl_debug_printf (" number of relocations: %lu\n"
15454 " number of relocations from cache: %lu\n"
15455 " number of relative relocations: %lu\n",
15456 _rtld_local._dl_num_relocations,
15457 _rtld_local._dl_num_cache_relocations,
15458 num_relative_relocations);