4 #define __STDC_HOSTED__ 1
6 #define __GNUC_MINOR__ 5
7 #define __GNUC_PATCHLEVEL__ 3
8 #define __SIZE_TYPE__ long unsigned int
9 #define __PTRDIFF_TYPE__ long int
10 #define __WCHAR_TYPE__ int
11 #define __WINT_TYPE__ unsigned int
12 #define __INTMAX_TYPE__ long long int
13 #define __UINTMAX_TYPE__ long long unsigned int
14 #define __CHAR16_TYPE__ short unsigned int
15 #define __CHAR32_TYPE__ unsigned int
16 #define __SIG_ATOMIC_TYPE__ int
17 #define __INT8_TYPE__ signed char
18 #define __INT16_TYPE__ short int
19 #define __INT32_TYPE__ int
20 #define __INT64_TYPE__ long long int
21 #define __UINT8_TYPE__ unsigned char
22 #define __UINT16_TYPE__ short unsigned int
23 #define __UINT32_TYPE__ unsigned int
24 #define __UINT64_TYPE__ long long unsigned int
25 #define __INT_LEAST8_TYPE__ signed char
26 #define __INT_LEAST16_TYPE__ short int
27 #define __INT_LEAST32_TYPE__ int
28 #define __INT_LEAST64_TYPE__ long long int
29 #define __UINT_LEAST8_TYPE__ unsigned char
30 #define __UINT_LEAST16_TYPE__ short unsigned int
31 #define __UINT_LEAST32_TYPE__ unsigned int
32 #define __UINT_LEAST64_TYPE__ long long unsigned int
33 #define __INT_FAST8_TYPE__ signed char
34 #define __INT_FAST16_TYPE__ int
35 #define __INT_FAST32_TYPE__ int
36 #define __INT_FAST64_TYPE__ long long int
37 #define __UINT_FAST8_TYPE__ unsigned char
38 #define __UINT_FAST16_TYPE__ unsigned int
39 #define __UINT_FAST32_TYPE__ unsigned int
40 #define __UINT_FAST64_TYPE__ long long unsigned int
41 #define __INTPTR_TYPE__ int
42 #define __UINTPTR_TYPE__ unsigned int
43 #define __GXX_ABI_VERSION 1002
44 #define __SCHAR_MAX__ 127
45 #define __SHRT_MAX__ 32767
46 #define __INT_MAX__ 2147483647
47 #define __LONG_MAX__ 2147483647L
48 #define __LONG_LONG_MAX__ 9223372036854775807LL
49 #define __WCHAR_MAX__ 2147483647
50 #define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
51 #define __WINT_MAX__ 4294967295U
52 #define __WINT_MIN__ 0U
53 #define __PTRDIFF_MAX__ 2147483647L
54 #define __SIZE_MAX__ 4294967295UL
55 #define __CHAR_BIT__ 8
56 #define __INTMAX_MAX__ 9223372036854775807LL
57 #define __INTMAX_C(c) c ## LL
58 #define __UINTMAX_MAX__ 18446744073709551615ULL
59 #define __UINTMAX_C(c) c ## ULL
60 #define __SIG_ATOMIC_MAX__ 2147483647
61 #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
62 #define __INT8_MAX__ 127
63 #define __INT16_MAX__ 32767
64 #define __INT32_MAX__ 2147483647
65 #define __INT64_MAX__ 9223372036854775807LL
66 #define __UINT8_MAX__ 255
67 #define __UINT16_MAX__ 65535
68 #define __UINT32_MAX__ 4294967295U
69 #define __UINT64_MAX__ 18446744073709551615ULL
70 #define __INT_LEAST8_MAX__ 127
72 #define __INT_LEAST16_MAX__ 32767
73 #define __INT16_C(c) c
74 #define __INT_LEAST32_MAX__ 2147483647
75 #define __INT32_C(c) c
76 #define __INT_LEAST64_MAX__ 9223372036854775807LL
77 #define __INT64_C(c) c ## LL
78 #define __UINT_LEAST8_MAX__ 255
79 #define __UINT8_C(c) c
80 #define __UINT_LEAST16_MAX__ 65535
81 #define __UINT16_C(c) c
82 #define __UINT_LEAST32_MAX__ 4294967295U
83 #define __UINT32_C(c) c ## U
84 #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
85 #define __UINT64_C(c) c ## ULL
86 #define __INT_FAST8_MAX__ 127
87 #define __INT_FAST16_MAX__ 2147483647
88 #define __INT_FAST32_MAX__ 2147483647
89 #define __INT_FAST64_MAX__ 9223372036854775807LL
90 #define __UINT_FAST8_MAX__ 255
91 #define __UINT_FAST16_MAX__ 4294967295U
92 #define __UINT_FAST32_MAX__ 4294967295U
93 #define __UINT_FAST64_MAX__ 18446744073709551615ULL
94 #define __INTPTR_MAX__ 2147483647
95 #define __UINTPTR_MAX__ 4294967295U
96 #define __FLT_EVAL_METHOD__ 0
97 #define __DEC_EVAL_METHOD__ 2
98 #define __FLT_RADIX__ 2
99 #define __FLT_MANT_DIG__ 24
100 #define __FLT_DIG__ 6
101 #define __FLT_MIN_EXP__ (-125)
102 #define __FLT_MIN_10_EXP__ (-37)
103 #define __FLT_MAX_EXP__ 128
104 #define __FLT_MAX_10_EXP__ 38
105 #define __FLT_MAX__ 3.4028234663852886e+38F
106 #define __FLT_MIN__ 1.1754943508222875e-38F
107 #define __FLT_EPSILON__ 1.1920928955078125e-7F
108 #define __FLT_DENORM_MIN__ 1.4012984643248171e-45F
109 #define __FLT_HAS_DENORM__ 1
110 #define __FLT_HAS_INFINITY__ 1
111 #define __FLT_HAS_QUIET_NAN__ 1
112 #define __DBL_MANT_DIG__ 53
113 #define __DBL_DIG__ 15
114 #define __DBL_MIN_EXP__ (-1021)
115 #define __DBL_MIN_10_EXP__ (-307)
116 #define __DBL_MAX_EXP__ 1024
117 #define __DBL_MAX_10_EXP__ 308
118 #define __DBL_MAX__ ((double)1.7976931348623157e+308L)
119 #define __DBL_MIN__ ((double)2.2250738585072014e-308L)
120 #define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
121 #define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
122 #define __DBL_HAS_DENORM__ 1
123 #define __DBL_HAS_INFINITY__ 1
124 #define __DBL_HAS_QUIET_NAN__ 1
125 #define __LDBL_MANT_DIG__ 53
126 #define __LDBL_DIG__ 15
127 #define __LDBL_MIN_EXP__ (-1021)
128 #define __LDBL_MIN_10_EXP__ (-307)
129 #define __LDBL_MAX_EXP__ 1024
130 #define __LDBL_MAX_10_EXP__ 308
131 #define __DECIMAL_DIG__ 17
132 #define __LDBL_MAX__ 1.7976931348623157e+308L
133 #define __LDBL_MIN__ 2.2250738585072014e-308L
134 #define __LDBL_EPSILON__ 2.2204460492503131e-16L
135 #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
136 #define __LDBL_HAS_DENORM__ 1
137 #define __LDBL_HAS_INFINITY__ 1
138 #define __LDBL_HAS_QUIET_NAN__ 1
139 #define __DEC32_MANT_DIG__ 7
140 #define __DEC32_MIN_EXP__ (-94)
141 #define __DEC32_MAX_EXP__ 97
142 #define __DEC32_MIN__ 1E-95DF
143 #define __DEC32_MAX__ 9.999999E96DF
144 #define __DEC32_EPSILON__ 1E-6DF
145 #define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
146 #define __DEC64_MANT_DIG__ 16
147 #define __DEC64_MIN_EXP__ (-382)
148 #define __DEC64_MAX_EXP__ 385
149 #define __DEC64_MIN__ 1E-383DD
150 #define __DEC64_MAX__ 9.999999999999999E384DD
151 #define __DEC64_EPSILON__ 1E-15DD
152 #define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
153 #define __DEC128_MANT_DIG__ 34
154 #define __DEC128_MIN_EXP__ (-6142)
155 #define __DEC128_MAX_EXP__ 6145
156 #define __DEC128_MIN__ 1E-6143DL
157 #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
158 #define __DEC128_EPSILON__ 1E-33DL
159 #define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
160 #define __REGISTER_PREFIX__
161 #define __USER_LABEL_PREFIX__ _
162 #define __VERSION__ "4.5.3"
163 #define __GNUC_GNU_INLINE__ 1
164 #define __OPTIMIZE_SIZE__ 1
165 #define __OPTIMIZE__ 1
166 #define __FINITE_MATH_ONLY__ 0
171 #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
172 #define __PRAGMA_REDEFINE_EXTNAME 1
173 #define __SIZEOF_INT__ 4
174 #define __SIZEOF_LONG__ 4
175 #define __SIZEOF_LONG_LONG__ 8
176 #define __SIZEOF_SHORT__ 2
177 #define __SIZEOF_FLOAT__ 4
178 #define __SIZEOF_DOUBLE__ 8
179 #define __SIZEOF_LONG_DOUBLE__ 8
180 #define __SIZEOF_SIZE_T__ 4
181 #define __SIZEOF_WCHAR_T__ 4
182 #define __SIZEOF_WINT_T__ 4
183 #define __SIZEOF_PTRDIFF_T__ 4
184 #define __SIZEOF_POINTER__ 4
191 #define __ADSPBLACKFIN__ 1
192 #define __ADSPLPBLACKFIN__ 1
193 #define __SILICON_REVISION__ 0xffff
194 #define __WORKAROUNDS_ENABLED 1
195 #define __WORKAROUND_SPECULATIVE_LOADS 1
196 #define __WORKAROUND_SPECULATIVE_SYNCS 1
197 #define __WORKAROUND_RETS 1
198 #define __WORKAROUND_UNSAFE_NULL_ADDR 1
199 #define __BFIN_FDPIC__ 1
201 #define __gnu_linux__ 1
209 #define __BIGGEST_ALIGNMENT__ 4
212 #define __UCLIBC_UNDERSCORES__ 1
213 #define NOT_IN_libc 1
215 #define UCLIBC_RUNTIME_PREFIX "/usr/bfin-linux-uclibc/"
216 #define UCLIBC_LDSO "ld-uClibc.so.0"
217 #define LDSO_ELFINTERP "bfin/elfinterp.c"
218 #define NOT_IN_libc 1
220 #define UCLIBC_RUNTIME_PREFIX "/usr/bfin-linux-uclibc/"
221 #define UCLIBC_LDSO "ld-uClibc.so.0"
222 # 1 "././include/libc-symbols.h" 1
223 # 23 "././include/libc-symbols.h"
224 #define _LIBC_SYMBOLS_H 1
225 # 32 "././include/libc-symbols.h"
227 # 51 "././include/libc-symbols.h"
228 # 1 "./include/bits/uClibc_arch_features.h" 1
234 #define _BITS_UCLIBC_ARCH_FEATURES_H
237 #define __UCLIBC_ABORT_INSTRUCTION__ ".short 2"
240 #define __UCLIBC_MMAP_HAS_6_ARGS__
243 #undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__
246 #undef __UCLIBC_BROKEN_CREATE_MODULE__
249 #undef __UCLIBC_HANDLE_OLDER_RLIMIT__
252 #define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
255 #undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
258 #define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
261 #undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
264 #undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
267 #undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
270 #define __UCLIBC_HAVE_SIGNED_ZERO__
273 #undef __UCLIBC_ASM_LINE_SEP__
274 # 52 "././include/libc-symbols.h" 2
277 #define _GNU_SOURCE 1
284 #define likely(x) __builtin_expect((!!(x)),1)
287 #define unlikely(x) __builtin_expect((!!(x)),0)
291 #define __cold __attribute__ ((__cold__))
294 #define __hot __attribute__ ((__hot__))
295 # 82 "././include/libc-symbols.h"
296 #define __LINUX_COMPILER_H
299 #define __cast__(_to)
303 #define attribute_optimize(x) __attribute__ ((optimize(x)))
308 #define attribute_unused __attribute__ ((unused))
311 #define attribute_noreturn __attribute__ ((__noreturn__))
316 #define libc_freeres_ptr(decl) __make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment)))
319 #define __libc_freeres_fn_section __attribute__ ((section ("__libc_freeres_fn")))
320 # 115 "././include/libc-symbols.h"
321 #define __stringify_1(x) #x
322 #define __stringify(x) __stringify_1(x)
325 #define HAVE_ASM_SET_DIRECTIVE
333 #define ASM_GLOBAL_DIRECTIVE .global
337 #define HAVE_ASM_WEAK_DIRECTIVE
345 #undef HAVE_ASM_WEAKEXT_DIRECTIVE
351 #undef HAVE_ASM_GLOBAL_DOT_NAME
357 #undef HAVE_ASM_CFI_DIRECTIVES
361 #define HAVE_WEAK_SYMBOLS
369 #define C_SYMBOL_NAME(name) _ ##name
376 #define ASM_LINE_SEP ;
377 # 189 "././include/libc-symbols.h"
378 #define strong_alias(name,aliasname) _strong_alias(name, aliasname)
379 #define _strong_alias(name,aliasname) extern __typeof (name) aliasname __attribute__ ((alias (#name)));
383 #define strong_alias_untyped(name,aliasname) _strong_alias_untyped(name, aliasname)
385 #define _strong_alias_untyped(name,aliasname) extern __typeof (aliasname) aliasname __attribute__ ((alias (#name)));
390 #define weak_function __attribute__ ((weak))
391 #define weak_const_function __attribute__ ((weak, __const__))
397 #define weak_alias(name,aliasname) _weak_alias (name, aliasname)
398 #define _weak_alias(name,aliasname) extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
402 #define weak_extern(symbol) _weak_extern (weak symbol)
403 #define _weak_extern(expr) _Pragma (#expr)
404 # 317 "././include/libc-symbols.h"
405 #define internal_function
410 #define __make_section_unallocated(section_string) __asm__ (".section " section_string "\n\t.previous");
411 # 331 "././include/libc-symbols.h"
412 #define __sec_comment "\n#APP\n\t#"
418 #define link_warning(symbol,msg) __make_section_unallocated (".gnu.warning." #symbol) static const char __evoke_link_warning_ ##symbol[] __attribute__ ((used, section (".gnu.warning." #symbol __sec_comment))) = msg;
419 # 360 "././include/libc-symbols.h"
420 #define INTUSE(name) name
422 #define INTVARDEF(name)
423 #define INTDEF2(name,newname)
424 #define INTVARDEF2(name,newname)
425 # 471 "././include/libc-symbols.h"
426 #define attribute_hidden __attribute__ ((visibility ("hidden")))
427 #define attribute_protected __attribute__ ((visibility ("protected")))
428 #define __hidden_proto_hiddenattr(attrs...) __attribute__ ((visibility ("hidden"), ##attrs))
429 # 483 "././include/libc-symbols.h"
430 #define hidden_proto(name,attrs...) __hidden_proto(name, __GI_ ##name, ##attrs)
431 #define __hidden_proto(name,internal,attrs...) extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) __hidden_proto_hiddenattr (attrs);
434 #define __hidden_asmname(name) __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
435 #define __hidden_asmname1(prefix,name) __hidden_asmname2(prefix, name)
436 #define __hidden_asmname2(prefix,name) #prefix name
437 #define __hidden_ver1(local,internal,name) extern __typeof (name) __EI_ ##name __asm__(__hidden_asmname (#internal)); extern __typeof (name) __EI_ ##name __attribute__((alias (__hidden_asmname1 (,#local))))
440 #define hidden_ver(local,name) __hidden_ver1(local, __GI_ ##name, name);
441 #define hidden_data_ver(local,name) hidden_ver(local, name)
442 #define hidden_def(name) __hidden_ver1(__GI_ ##name, name, name);
443 #define hidden_data_def(name) hidden_def(name)
444 #define hidden_weak(name) __hidden_ver1(__GI_ ##name, name, name) __attribute__((weak));
446 #define hidden_data_weak(name) hidden_weak(name)
447 # 586 "././include/libc-symbols.h"
448 #define versioned_symbol(lib,local,symbol,version)
450 #define hidden_ver(local,name)
451 #undef hidden_data_ver
452 #define hidden_data_ver(local,name)
453 # 601 "././include/libc-symbols.h"
454 #define libc_hidden_proto(name,attrs...)
455 #define libc_hidden_def(name)
456 #define libc_hidden_weak(name)
457 #define libc_hidden_ver(local,name)
458 #define libc_hidden_data_def(name)
459 #define libc_hidden_data_weak(name)
460 #define libc_hidden_data_ver(local,name)
464 #define rtld_hidden_proto(name,attrs...) hidden_proto (name, ##attrs)
465 #define rtld_hidden_def(name) hidden_def (name)
466 #define rtld_hidden_weak(name) hidden_weak (name)
467 #define rtld_hidden_ver(local,name) hidden_ver (local, name)
468 #define rtld_hidden_data_def(name) hidden_data_def (name)
469 #define rtld_hidden_data_weak(name) hidden_data_weak (name)
470 #define rtld_hidden_data_ver(local,name) hidden_data_ver (local, name)
471 # 637 "././include/libc-symbols.h"
472 #define libm_hidden_proto(name,attrs...)
473 #define libm_hidden_def(name)
474 #define libm_hidden_weak(name)
475 #define libm_hidden_ver(local,name)
476 #define libm_hidden_data_def(name)
477 #define libm_hidden_data_weak(name)
478 #define libm_hidden_data_ver(local,name)
479 # 655 "././include/libc-symbols.h"
480 #define libresolv_hidden_proto(name,attrs...)
481 #define libresolv_hidden_def(name)
482 #define libresolv_hidden_weak(name)
483 #define libresolv_hidden_ver(local,name)
484 #define libresolv_hidden_data_def(name)
485 #define libresolv_hidden_data_weak(name)
486 #define libresolv_hidden_data_ver(local,name)
487 # 673 "././include/libc-symbols.h"
488 #define librt_hidden_proto(name,attrs...)
489 #define librt_hidden_def(name)
490 #define librt_hidden_weak(name)
491 #define librt_hidden_ver(local,name)
492 #define librt_hidden_data_def(name)
493 #define librt_hidden_data_weak(name)
494 #define librt_hidden_data_ver(local,name)
495 # 691 "././include/libc-symbols.h"
496 #define libdl_hidden_proto(name,attrs...)
497 #define libdl_hidden_def(name)
498 #define libdl_hidden_weak(name)
499 #define libdl_hidden_ver(local,name)
500 #define libdl_hidden_data_def(name)
501 #define libdl_hidden_data_weak(name)
502 #define libdl_hidden_data_ver(local,name)
503 # 709 "././include/libc-symbols.h"
504 #define libintl_hidden_proto(name,attrs...)
505 #define libintl_hidden_def(name)
506 #define libintl_hidden_weak(name)
507 #define libintl_hidden_ver(local,name)
508 #define libintl_hidden_data_def(name)
509 #define libintl_hidden_data_weak(name)
510 #define libintl_hidden_data_ver(local,name)
511 # 727 "././include/libc-symbols.h"
512 #define libnsl_hidden_proto(name,attrs...)
513 #define libnsl_hidden_def(name)
514 #define libnsl_hidden_weak(name)
515 #define libnsl_hidden_ver(local,name)
516 #define libnsl_hidden_data_def(name)
517 #define libnsl_hidden_data_weak(name)
518 #define libnsl_hidden_data_ver(local,name)
519 # 745 "././include/libc-symbols.h"
520 #define libutil_hidden_proto(name,attrs...)
521 #define libutil_hidden_def(name)
522 #define libutil_hidden_weak(name)
523 #define libutil_hidden_ver(local,name)
524 #define libutil_hidden_data_def(name)
525 #define libutil_hidden_data_weak(name)
526 #define libutil_hidden_data_ver(local,name)
527 # 763 "././include/libc-symbols.h"
528 #define libcrypt_hidden_proto(name,attrs...)
529 #define libcrypt_hidden_def(name)
530 #define libcrypt_hidden_weak(name)
531 #define libcrypt_hidden_ver(local,name)
532 #define libcrypt_hidden_data_def(name)
533 #define libcrypt_hidden_data_weak(name)
534 #define libcrypt_hidden_data_ver(local,name)
535 # 781 "././include/libc-symbols.h"
536 #define libpthread_hidden_proto(name,attrs...)
537 #define libpthread_hidden_def(name)
538 #define libpthread_hidden_weak(name)
539 #define libpthread_hidden_ver(local,name)
540 #define libpthread_hidden_data_def(name)
541 #define libpthread_hidden_data_weak(name)
542 #define libpthread_hidden_data_ver(local,name)
543 # 1 "<command-line>" 2
544 # 1 "ldso/ldso/ldso.c"
545 # 33 "ldso/ldso/ldso.c"
546 # 1 "./ldso/include/ldso.h" 1
547 # 9 "./ldso/include/ldso.h"
550 # 1 "./include/features.h" 1
551 # 20 "./include/features.h"
552 #define _FEATURES_H 1
553 # 95 "./include/features.h"
558 #undef __USE_POSIX199309
559 #undef __USE_POSIX199506
561 #undef __USE_XOPEN_EXTENDED
564 #undef __USE_XOPEN2K8
565 #undef __USE_LARGEFILE
566 #undef __USE_LARGEFILE64
567 #undef __USE_FILE_OFFSET64
573 #undef __USE_REENTRANT
574 #undef __USE_FORTIFY_LEVEL
576 #undef __KERNEL_STRICT_NAMES
581 #define __KERNEL_STRICT_NAMES
586 # 136 "./include/features.h"
587 #define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
588 # 153 "./include/features.h"
589 #undef _ISOC99_SOURCE
590 #define _ISOC99_SOURCE 1
592 #define _POSIX_SOURCE 1
593 #undef _POSIX_C_SOURCE
594 #define _POSIX_C_SOURCE 200809L
596 #define _XOPEN_SOURCE 700
597 #undef _XOPEN_SOURCE_EXTENDED
598 #define _XOPEN_SOURCE_EXTENDED 1
599 #undef _LARGEFILE64_SOURCE
600 #define _LARGEFILE64_SOURCE 1
602 #define _BSD_SOURCE 1
604 #define _SVID_SOURCE 1
605 #undef _ATFILE_SOURCE
606 #define _ATFILE_SOURCE 1
613 # 186 "./include/features.h"
614 #define __need_uClibc_config_h
615 # 1 "./include/bits/uClibc_config.h" 1
620 #define __UCLIBC_MAJOR__ 0
621 #define __UCLIBC_MINOR__ 9
622 #define __UCLIBC_SUBLEVEL__ 34
626 #undef __TARGET_alpha__
627 #undef __TARGET_arm__
628 #undef __TARGET_avr32__
629 #define __TARGET_bfin__ 1
630 #undef __TARGET_cris__
632 #undef __TARGET_frv__
633 #undef __TARGET_h8300__
634 #undef __TARGET_hppa__
635 #undef __TARGET_i386__
636 #undef __TARGET_i960__
637 #undef __TARGET_ia64__
638 #undef __TARGET_m68k__
639 #undef __TARGET_microblaze__
640 #undef __TARGET_mips__
641 #undef __TARGET_nios__
642 #undef __TARGET_nios2__
643 #undef __TARGET_powerpc__
645 #undef __TARGET_sh64__
646 #undef __TARGET_sparc__
647 #undef __TARGET_v850__
648 #undef __TARGET_vax__
649 #undef __TARGET_x86_64__
650 #undef __TARGET_xtensa__
651 #undef __TARGET_c6x__
654 #define __TARGET_ARCH__ "bfin"
655 #define __FORCE_OPTIONS_FOR_ARCH__ 1
656 #define __TARGET_SUBARCH__ ""
657 #undef __UCLIBC_FORMAT_ELF__
658 #define __UCLIBC_FORMAT_FDPIC_ELF__ 1
659 #undef __UCLIBC_FORMAT_DSBT_ELF__
660 #undef __UCLIBC_FORMAT_FLAT__
661 #undef __UCLIBC_FORMAT_FLAT_SEP_DATA__
662 #undef __UCLIBC_FORMAT_SHARED_FLAT__
663 #define __ARCH_LITTLE_ENDIAN__ 1
666 #define __ARCH_HAS_NO_MMU__ 1
669 #define __UCLIBC_HAS_FLOATS__ 1
670 #define __UCLIBC_HAS_FPU__ 1
671 #undef __DO_C99_MATH__
672 #undef __DO_XSI_MATH__
673 #undef __UCLIBC_HAS_FENV__
674 #define __KERNEL_HEADERS__ "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include"
675 #define __UCLIBC_UCLINUX_BROKEN_MUNMAP__ 1
676 #define __HAVE_DOT_CONFIG__ 1
680 #define __HAVE_SHARED__ 1
681 #undef __FORCE_SHAREABLE_TEXT_SEGMENTS__
682 #define __LDSO_LDD_SUPPORT__ 1
683 #define __LDSO_CACHE_SUPPORT__ 1
684 #define __LDSO_PRELOAD_ENV_SUPPORT__ 1
685 #undef __LDSO_PRELOAD_FILE_SUPPORT__
686 #define __LDSO_BASE_FILENAME__ "ld.so"
687 #undef __LDSO_STANDALONE_SUPPORT__
688 #undef __LDSO_PRELINK_SUPPORT__
689 #define __UCLIBC_STATIC_LDCONFIG__ 1
690 #define __LDSO_RUNPATH__ 1
691 #define __LDSO_SEARCH_INTERP_PATH__ 1
692 #define __LDSO_LD_LIBRARY_PATH__ 1
693 #undef __LDSO_NO_CLEANUP__
694 #define __UCLIBC_CTOR_DTOR__ 1
695 #undef __LDSO_GNU_HASH_SUPPORT__
696 #define __HAS_NO_THREADS__ 1
697 #undef __LINUXTHREADS_OLD__
698 #undef __LINUXTHREADS_NEW__
699 #undef __UCLIBC_HAS_THREADS_NATIVE__
700 #define __UCLIBC_HAS_SYSLOG__ 1
701 #define __UCLIBC_HAS_LFS__ 1
703 #undef __MALLOC_SIMPLE__
704 #undef __MALLOC_STANDARD__
705 #undef __MALLOC_GLIBC_COMPAT__
706 #define __UCLIBC_DYNAMIC_ATEXIT__ 1
707 #undef __COMPAT_ATEXIT__
708 #undef __UCLIBC_SUSV3_LEGACY__
709 #undef __UCLIBC_SUSV3_LEGACY_MACROS__
710 #undef __UCLIBC_SUSV4_LEGACY__
711 #undef __UCLIBC_STRICT_HEADERS__
712 #undef __UCLIBC_HAS_STUBS__
713 #define __UCLIBC_HAS_SHADOW__ 1
714 #undef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
715 #define __UCLIBC_HAS_PTY__ 1
716 #define __ASSUME_DEVPTS__ 1
717 #define __UNIX98PTY_ONLY__ 1
718 #undef __UCLIBC_HAS_GETPT__
719 #undef __UCLIBC_HAS_LIBUTIL__
720 #define __UCLIBC_HAS_TM_EXTENSIONS__ 1
721 #define __UCLIBC_HAS_TZ_CACHING__ 1
722 #define __UCLIBC_HAS_TZ_FILE__ 1
723 #define __UCLIBC_HAS_TZ_FILE_READ_MANY__ 1
724 #define __UCLIBC_TZ_FILE_PATH__ "/etc/TZ"
725 #define __UCLIBC_FALLBACK_TO_ETC_LOCALTIME__ 1
728 #define __UCLIBC_PWD_BUFFER_SIZE__ 256
729 #define __UCLIBC_GRP_BUFFER_SIZE__ 256
732 #define __UCLIBC_LINUX_MODULE_26__ 1
733 #define __UCLIBC_LINUX_SPECIFIC__ 1
734 #define __UCLIBC_HAS_GNU_ERROR__ 1
735 #define __UCLIBC_BSD_SPECIFIC__ 1
736 #define __UCLIBC_HAS_BSD_ERR__ 1
737 #undef __UCLIBC_HAS_OBSOLETE_BSD_SIGNAL__
738 #undef __UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL__
739 #undef __UCLIBC_NTP_LEGACY__
740 #undef __UCLIBC_SV4_DEPRECATED__
741 #define __UCLIBC_HAS_REALTIME__ 1
742 #define __UCLIBC_HAS_ADVANCED_REALTIME__ 1
743 #define __UCLIBC_HAS_EPOLL__ 1
744 #define __UCLIBC_HAS_XATTR__ 1
745 #define __UCLIBC_HAS_PROFILING__ 1
746 #define __UCLIBC_HAS_CRYPT_IMPL__ 1
747 #undef __UCLIBC_HAS_SHA256_CRYPT_IMPL__
748 #undef __UCLIBC_HAS_SHA512_CRYPT_IMPL__
749 #define __UCLIBC_HAS_CRYPT__ 1
750 #define __UCLIBC_HAS_NETWORK_SUPPORT__ 1
751 #define __UCLIBC_HAS_SOCKET__ 1
752 #define __UCLIBC_HAS_IPV4__ 1
753 #undef __UCLIBC_HAS_IPV6__
754 #undef __UCLIBC_HAS_RPC__
755 #undef __UCLIBC_USE_NETLINK__
756 #undef __UCLIBC_HAS_BSD_RES_CLOSE__
757 #define __UCLIBC_HAS_COMPAT_RES_STATE__ 1
758 #undef __UCLIBC_HAS_EXTRA_COMPAT_RES_STATE__
759 #undef __UCLIBC_HAS_RESOLVER_SUPPORT__
760 #undef __UCLIBC_HAS_LIBRESOLV_STUB__
761 #undef __UCLIBC_HAS_LIBNSL_STUB__
764 #define __UCLIBC_HAS_STRING_GENERIC_OPT__ 1
765 #define __UCLIBC_HAS_STRING_ARCH_OPT__ 1
766 #define __UCLIBC_HAS_CTYPE_TABLES__ 1
767 #define __UCLIBC_HAS_CTYPE_SIGNED__ 1
768 #define __UCLIBC_HAS_CTYPE_UNSAFE__ 1
769 #undef __UCLIBC_HAS_CTYPE_CHECKED__
770 #undef __UCLIBC_HAS_CTYPE_ENFORCED__
771 #undef __UCLIBC_HAS_WCHAR__
772 #undef __UCLIBC_HAS_LOCALE__
773 #undef __UCLIBC_HAS_HEXADECIMAL_FLOATS__
774 #undef __UCLIBC_HAS_GLIBC_CUSTOM_PRINTF__
775 #undef __USE_OLD_VFPRINTF__
776 #define __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__ 9
777 #undef __UCLIBC_HAS_SCANF_GLIBC_A_FLAG__
778 #undef __UCLIBC_HAS_STDIO_BUFSIZ_NONE__
779 #undef __UCLIBC_HAS_STDIO_BUFSIZ_256__
780 #undef __UCLIBC_HAS_STDIO_BUFSIZ_512__
781 #undef __UCLIBC_HAS_STDIO_BUFSIZ_1024__
782 #undef __UCLIBC_HAS_STDIO_BUFSIZ_2048__
783 #define __UCLIBC_HAS_STDIO_BUFSIZ_4096__ 1
784 #undef __UCLIBC_HAS_STDIO_BUFSIZ_8192__
785 #define __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE__ 1
786 #undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4__
787 #undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8__
788 #undef __UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT__
789 #define __UCLIBC_HAS_STDIO_GETC_MACRO__ 1
790 #define __UCLIBC_HAS_STDIO_PUTC_MACRO__ 1
791 #define __UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION__ 1
792 #undef __UCLIBC_HAS_FOPEN_LARGEFILE_MODE__
793 #undef __UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE__
794 #undef __UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE__
795 #undef __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__
796 #undef __UCLIBC_HAS_PRINTF_M_SPEC__
797 #define __UCLIBC_HAS_ERRNO_MESSAGES__ 1
798 #undef __UCLIBC_HAS_SYS_ERRLIST__
799 #define __UCLIBC_HAS_SIGNUM_MESSAGES__ 1
800 #undef __UCLIBC_HAS_SYS_SIGLIST__
801 #define __UCLIBC_HAS_GNU_GETOPT__ 1
802 #define __UCLIBC_HAS_GNU_GETSUBOPT__ 1
805 #define __UCLIBC_HAS_REGEX__ 1
806 #define __UCLIBC_HAS_REGEX_OLD__ 1
807 #define __UCLIBC_HAS_FNMATCH__ 1
808 #define __UCLIBC_HAS_FNMATCH_OLD__ 1
809 #undef __UCLIBC_HAS_WORDEXP__
810 #undef __UCLIBC_HAS_NFTW__
811 #undef __UCLIBC_HAS_FTS__
812 #define __UCLIBC_HAS_GLOB__ 1
813 #undef __UCLIBC_HAS_GNU_GLOB__
814 #undef __UCLIBC_HAS_UTMPX__
817 #define __RUNTIME_PREFIX__ "/usr/$(TARGET_ARCH)-linux-uclibc/"
818 #define __DEVEL_PREFIX__ "/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
819 #define __MULTILIB_DIR__ "lib"
820 #define __HARDWIRED_ABSPATH__ 1
823 #undef __UCLIBC_HAS_ARC4RANDOM__
824 #undef __UCLIBC_HAS_SSP__
825 #define __UCLIBC_BUILD_RELRO__ 1
826 #undef __UCLIBC_BUILD_NOW__
827 #define __UCLIBC_BUILD_NOEXECSTACK__ 1
830 #define __CROSS_COMPILER_PREFIX__ "bfin-linux-uclibc-"
831 #define __UCLIBC_EXTRA_CFLAGS__ ""
833 #define __DOSTRIP__ 1
835 #undef __SUPPORT_LD_DEBUG__
836 #undef __SUPPORT_LD_DEBUG_EARLY__
837 #undef __UCLIBC_MALLOC_DEBUGGING__
838 #undef __UCLIBC_HAS_BACKTRACE__
839 #define __WARNINGS__ "-Wall"
840 #undef __EXTRA_WARNINGS__
842 #undef __UCLIBC_MJN3_ONLY__
843 # 188 "./include/features.h" 2
844 #undef __need_uClibc_config_h
845 # 198 "./include/features.h"
846 #define __OPTIMIZE_SIZE__ 1
852 #undef _FORTIFY_SOURCE
853 # 243 "./include/features.h"
854 #define __USE_ISOC99 1
860 #define __USE_ISOC95 1
861 # 270 "./include/features.h"
862 #define __USE_POSIX 1
866 #define __USE_POSIX2 1
870 #define __USE_POSIX199309 1
874 #define __USE_POSIX199506 1
878 #define __USE_XOPEN2K 1
880 #define __USE_ISOC99 1
884 #define __USE_XOPEN2K8 1
885 #undef _ATFILE_SOURCE
886 #define _ATFILE_SOURCE 1
890 #define __USE_XOPEN 1
892 #define __USE_XOPEN_EXTENDED 1
893 #define __USE_UNIX98 1
894 #undef _LARGEFILE_SOURCE
895 #define _LARGEFILE_SOURCE 1
898 #define __USE_XOPEN2K8 1
900 #define __USE_XOPEN2K 1
902 #define __USE_ISOC99 1
903 # 320 "./include/features.h"
904 #define __USE_LARGEFILE 1
908 #define __USE_LARGEFILE64 1
928 #define __USE_ATFILE 1
933 # 363 "./include/features.h"
934 #define __USE_FORTIFY_LEVEL 0
939 #define __STDC_IEC_559__ 1
940 #define __STDC_IEC_559_COMPLEX__ 1
941 # 400 "./include/features.h"
942 #define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
943 # 416 "./include/features.h"
944 # 1 "./include/sys/cdefs.h" 1
945 # 21 "./include/sys/cdefs.h"
946 #define _SYS_CDEFS_H 1
947 # 36 "./include/sys/cdefs.h"
950 # 47 "./include/sys/cdefs.h"
951 #define __THROW __attribute__ ((__nothrow__))
952 #define __NTH(fct) __attribute__ ((__nothrow__)) fct
953 # 74 "./include/sys/cdefs.h"
954 #define __P(args) args
955 #define __PMT(args) args
960 #define __CONCAT(x,y) x ## y
961 #define __STRING(x) #x
964 #define __ptr_t void *
965 #define __long_double_t long double
973 #define __BEGIN_DECLS
975 # 114 "./include/sys/cdefs.h"
976 #define __BEGIN_NAMESPACE_STD
977 #define __END_NAMESPACE_STD
978 #define __USING_NAMESPACE_STD(name)
979 #define __BEGIN_NAMESPACE_C99
980 #define __END_NAMESPACE_C99
981 #define __USING_NAMESPACE_C99(name)
986 #define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
987 #define __bos0(ptr) __builtin_object_size (ptr, 0)
990 #define __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))
992 #define __warnattr(msg) __attribute__((__warning__ (msg)))
993 #define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))
994 # 142 "./include/sys/cdefs.h"
996 # 169 "./include/sys/cdefs.h"
997 #define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
1002 #define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
1005 #define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
1006 #define __ASMNAME2(prefix,cname) __STRING (prefix) cname
1007 # 198 "./include/sys/cdefs.h"
1008 #define __attribute_aligned__(size) __attribute__ ((__aligned__ (size)))
1009 # 207 "./include/sys/cdefs.h"
1010 #define __attribute_malloc__ __attribute__ ((__malloc__))
1011 # 216 "./include/sys/cdefs.h"
1012 #define __attribute_pure__ __attribute__ ((__pure__))
1013 # 225 "./include/sys/cdefs.h"
1014 #define __attribute_used__ __attribute__ ((__used__))
1015 #define __attribute_noinline__ __attribute__ ((__noinline__))
1023 #define __attribute_deprecated__ __attribute__ ((__deprecated__))
1024 # 246 "./include/sys/cdefs.h"
1025 #define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
1026 # 256 "./include/sys/cdefs.h"
1027 #define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
1028 # 265 "./include/sys/cdefs.h"
1029 #define __nonnull(params) __attribute__ ((__nonnull__ params))
1037 #define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
1038 # 282 "./include/sys/cdefs.h"
1044 #define __always_inline __inline __attribute__ ((__always_inline__))
1045 # 298 "./include/sys/cdefs.h"
1046 #define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
1048 #define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
1049 # 315 "./include/sys/cdefs.h"
1050 #define __va_arg_pack() __builtin_va_arg_pack ()
1051 #define __va_arg_pack_len() __builtin_va_arg_pack_len ()
1052 # 336 "./include/sys/cdefs.h"
1053 #define __restrict_arr __restrict
1054 # 417 "./include/features.h" 2
1055 # 445 "./include/features.h"
1056 #undef _FILE_OFFSET_BITS
1057 #undef __USE_FILE_OFFSET64
1059 # 1 "./include/libc-internal.h" 1
1060 # 20 "./include/libc-internal.h"
1061 #define _LIBC_INTERNAL_H 1
1063 # 1 "./include/features.h" 1
1064 # 23 "./include/libc-internal.h" 2
1067 #define attribute_relro __attribute__ ((section (".data.rel.ro")))
1068 # 77 "./include/libc-internal.h"
1069 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
1070 # 449 "./include/features.h" 2
1071 # 12 "./ldso/include/ldso.h" 2
1072 # 28 "./ldso/include/ldso.h"
1073 # 1 "./include/stdlib.h" 1
1074 # 28 "./include/stdlib.h"
1075 #define __need_size_t
1082 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
1083 # 186 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1087 #define _SYS_SIZE_T_H
1092 #define _BSD_SIZE_T_
1093 #define _SIZE_T_DEFINED_
1094 #define _SIZE_T_DEFINED
1095 #define _BSD_SIZE_T_DEFINED_
1096 #define _SIZE_T_DECLARED
1097 #define ___int_size_t_h
1109 typedef long unsigned int size_t;
1110 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1111 #undef __need_size_t
1112 # 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1118 #define NULL ((void *)0)
1125 # 36 "./include/stdlib.h" 2
1134 # 1 "./include/bits/waitflags.h" 1
1135 # 26 "./include/bits/waitflags.h"
1142 #define WCONTINUED 8
1143 #define WNOWAIT 0x01000000
1145 #define __WNOTHREAD 0x20000000
1147 #define __WALL 0x40000000
1148 #define __WCLONE 0x80000000
1149 # 45 "./include/stdlib.h" 2
1150 # 1 "./include/bits/waitstatus.h" 1
1151 # 29 "./include/bits/waitstatus.h"
1152 #define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
1155 #define __WTERMSIG(status) ((status) & 0x7f)
1158 #define __WSTOPSIG(status) __WEXITSTATUS(status)
1161 #define __WIFEXITED(status) (__WTERMSIG(status) == 0)
1164 #define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
1168 #define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
1173 #define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
1177 #define __WCOREDUMP(status) ((status) & __WCOREFLAG)
1180 #define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig))
1181 #define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
1182 #define __W_CONTINUED 0xffff
1183 #define __WCOREFLAG 0x80
1188 # 1 "./include/endian.h" 1
1189 # 20 "./include/endian.h"
1191 # 32 "./include/endian.h"
1192 #define __LITTLE_ENDIAN 1234
1193 #define __BIG_ENDIAN 4321
1194 #define __PDP_ENDIAN 3412
1197 # 1 "./include/bits/endian.h" 1
1204 #define __BYTE_ORDER __LITTLE_ENDIAN
1205 # 38 "./include/endian.h" 2
1210 #define __FLOAT_WORD_ORDER __BYTE_ORDER
1214 #define LITTLE_ENDIAN __LITTLE_ENDIAN
1215 #define BIG_ENDIAN __BIG_ENDIAN
1216 #define PDP_ENDIAN __PDP_ENDIAN
1217 #define BYTE_ORDER __BYTE_ORDER
1221 #define __LONG_LONG_PAIR(HI,LO) LO, HI
1229 # 1 "./include/byteswap.h" 1
1230 # 20 "./include/byteswap.h"
1231 #define _BYTESWAP_H 1
1234 # 1 "./include/bits/byteswap.h" 1
1235 # 11 "./include/bits/byteswap.h"
1236 #define _ASM_BITS_BYTESWAP_H 1
1238 #define __bswap_non_constant_16(x) (__extension__ ({ register unsigned short int __v; __asm__ ("%0 = PACK (%1.L, %1.L);" "%0 >>= 8;" : "=d" (__v) : "d" (x)); __v; }))
1239 # 22 "./include/bits/byteswap.h"
1240 #define __bswap_non_constant_32(x) (__extension__ ({ register unsigned int __v; __asm__ ("%1 = %0 >> 8 (V);" "%0 = %0 << 8 (V);" "%0 = %0 | %1;" "%1 = PACK(%0.L, %0.H);" : "+d"(x), "=&d"(__v)); __v; }))
1241 # 34 "./include/bits/byteswap.h"
1242 # 1 "./include/bits/byteswap-common.h" 1
1243 # 25 "./include/bits/byteswap-common.h"
1244 #define _BITS_BYTESWAP_H 1
1247 #define __bswap_constant_16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
1254 #define __bswap_16(x) (__extension__ ({ unsigned short int __bsv, __bsx = (x); if (__builtin_constant_p (__bsx)) __bsv = __bswap_constant_16 (__bsx); else __bsv = __bswap_non_constant_16 (__bsx); __bsv; }))
1255 # 52 "./include/bits/byteswap-common.h"
1256 #define __bswap_constant_32(x) ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
1264 #define __bswap_32(x) (__extension__ ({ unsigned int __bsv, __bsx = (x); if (__builtin_constant_p (__bsx)) __bsv = __bswap_constant_32 (__bsx); else __bsv = __bswap_non_constant_32 (__bsx); __bsv; }))
1265 # 78 "./include/bits/byteswap-common.h"
1266 #define __bswap_constant_64(x) ((((x) & 0xff00000000000000ull) >> 56) | (((x) & 0x00ff000000000000ull) >> 40) | (((x) & 0x0000ff0000000000ull) >> 24) | (((x) & 0x000000ff00000000ull) >> 8) | (((x) & 0x00000000ff000000ull) << 8) | (((x) & 0x0000000000ff0000ull) << 24) | (((x) & 0x000000000000ff00ull) << 40) | (((x) & 0x00000000000000ffull) << 56))
1267 # 89 "./include/bits/byteswap-common.h"
1268 #define __bswap_non_constant_64(x) (__extension__ ({ union { __extension__ unsigned long long int __ll; unsigned int __l[2]; } __w, __r; __w.__ll = (x); __r.__l[0] = __bswap_non_constant_32 (__w.__l[1]); __r.__l[1] = __bswap_non_constant_32 (__w.__l[0]); __r.__ll; }))
1269 # 98 "./include/bits/byteswap-common.h"
1270 #define __bswap_64(x) (__extension__ ({ __extension__ unsigned long long int __ll; if (__builtin_constant_p (x)) __ll = __bswap_constant_64 (x); else __ll = __bswap_non_constant_64 (x); __ll; }))
1271 # 34 "./include/bits/byteswap.h" 2
1272 # 24 "./include/byteswap.h" 2
1279 #define bswap_16(x) __bswap_16 (x)
1282 #define bswap_32(x) __bswap_32 (x)
1286 #define bswap_64(x) __bswap_64 (x)
1287 # 62 "./include/endian.h" 2
1290 #define htobe16(x) __bswap_16 (x)
1291 #define htole16(x) (x)
1292 #define be16toh(x) __bswap_16 (x)
1293 #define le16toh(x) (x)
1295 #define htobe32(x) __bswap_32 (x)
1296 #define htole32(x) (x)
1297 #define be32toh(x) __bswap_32 (x)
1298 #define le32toh(x) (x)
1300 #define htobe64(x) __bswap_64 (x)
1301 #define htole64(x) (x)
1302 #define be64toh(x) __bswap_64 (x)
1303 #define le64toh(x) (x)
1304 # 66 "./include/bits/waitstatus.h" 2
1312 unsigned int __w_termsig:7;
1313 unsigned int __w_coredump:1;
1314 unsigned int __w_retcode:8;
1323 } __wait_terminated;
1327 unsigned int __w_stopval:8;
1328 unsigned int __w_stopsig:8;
1339 #define w_termsig __wait_terminated.__w_termsig
1340 #define w_coredump __wait_terminated.__w_coredump
1341 #define w_retcode __wait_terminated.__w_retcode
1342 #define w_stopsig __wait_stopped.__w_stopsig
1343 #define w_stopval __wait_stopped.__w_stopval
1344 # 46 "./include/stdlib.h" 2
1352 #define __WAIT_INT(status) (__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i))
1353 # 70 "./include/stdlib.h"
1358 } __WAIT_STATUS __attribute__ ((__transparent_union__));
1359 #define __WAIT_STATUS_DEFN int *
1360 # 87 "./include/stdlib.h"
1361 #define WEXITSTATUS(status) __WEXITSTATUS (__WAIT_INT (status))
1362 #define WTERMSIG(status) __WTERMSIG (__WAIT_INT (status))
1363 #define WSTOPSIG(status) __WSTOPSIG (__WAIT_INT (status))
1364 #define WIFEXITED(status) __WIFEXITED (__WAIT_INT (status))
1365 #define WIFSIGNALED(status) __WIFSIGNALED (__WAIT_INT (status))
1366 #define WIFSTOPPED(status) __WIFSTOPPED (__WAIT_INT (status))
1368 #define WIFCONTINUED(status) __WIFCONTINUED (__WAIT_INT (status))
1387 #define __ldiv_t_defined 1
1394 __extension__ typedef struct
1399 #define __lldiv_t_defined 1
1405 #define RAND_MAX 2147483647
1410 #define EXIT_FAILURE 1
1411 #define EXIT_SUCCESS 0
1412 # 150 "./include/stdlib.h"
1413 #define MB_CUR_MAX 1
1421 extern double atof (__const char *__nptr)
1422 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1425 extern int atoi (__const char *__nptr)
1426 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1429 extern long int atol (__const char *__nptr)
1430 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1436 __extension__ extern long long int atoll (__const char *__nptr)
1437 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
1444 extern double strtod (__const char *__restrict __nptr,
1445 char **__restrict __endptr)
1446 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1453 extern float strtof (__const char *__restrict __nptr,
1454 char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1456 extern long double strtold (__const char *__restrict __nptr,
1457 char **__restrict __endptr)
1458 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1465 extern long int strtol (__const char *__restrict __nptr,
1466 char **__restrict __endptr, int __base)
1467 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1470 extern unsigned long int strtoul (__const char *__restrict __nptr,
1471 char **__restrict __endptr, int __base)
1472 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
1477 # 1 "./include/sys/types.h" 1
1478 # 25 "./include/sys/types.h"
1479 #define _SYS_TYPES_H 1
1485 # 1 "./include/bits/types.h" 1
1486 # 25 "./include/bits/types.h"
1487 #define _BITS_TYPES_H 1
1490 # 1 "./include/bits/wordsize.h" 1
1491 # 19 "./include/bits/wordsize.h"
1492 #define __WORDSIZE 32
1493 # 29 "./include/bits/types.h" 2
1495 #define __need_size_t
1496 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
1497 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1498 #undef __need_size_t
1499 # 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1501 # 32 "./include/bits/types.h" 2
1503 # 1 "./include/bits/kernel_types.h" 1
1504 # 9 "./include/bits/kernel_types.h"
1505 #define __ARCH_BFIN_POSIX_TYPES_H
1506 typedef unsigned short __kernel_dev_t;
1507 typedef unsigned long __kernel_ino_t;
1508 typedef unsigned short __kernel_mode_t;
1509 typedef unsigned short __kernel_nlink_t;
1510 typedef long __kernel_off_t;
1511 typedef int __kernel_pid_t;
1512 typedef unsigned int __kernel_ipc_pid_t;
1513 typedef unsigned int __kernel_uid_t;
1514 typedef unsigned int __kernel_gid_t;
1515 typedef unsigned int __kernel_size_t;
1516 typedef int __kernel_ssize_t;
1517 typedef int __kernel_ptrdiff_t;
1518 typedef long __kernel_time_t;
1519 typedef long __kernel_suseconds_t;
1520 typedef long __kernel_clock_t;
1521 typedef int __kernel_daddr_t;
1522 typedef char * __kernel_caddr_t;
1523 typedef unsigned short __kernel_uid16_t;
1524 typedef unsigned short __kernel_gid16_t;
1525 typedef unsigned int __kernel_uid32_t;
1526 typedef unsigned int __kernel_gid32_t;
1527 typedef unsigned short __kernel_old_uid_t;
1528 typedef unsigned short __kernel_old_gid_t;
1529 typedef long long __kernel_loff_t;
1530 typedef __kernel_dev_t __kernel_old_dev_t;
1539 # 34 "./include/bits/types.h" 2
1543 typedef unsigned char __u_char;
1544 typedef unsigned short int __u_short;
1545 typedef unsigned int __u_int;
1546 typedef unsigned long int __u_long;
1549 typedef signed char __int8_t;
1550 typedef unsigned char __uint8_t;
1551 typedef signed short int __int16_t;
1552 typedef unsigned short int __uint16_t;
1553 typedef signed int __int32_t;
1554 typedef unsigned int __uint32_t;
1559 __extension__ typedef signed long long int __int64_t;
1560 __extension__ typedef unsigned long long int __uint64_t;
1568 __extension__ typedef long long int __quad_t;
1569 __extension__ typedef unsigned long long int __u_quad_t;
1570 # 105 "./include/bits/types.h"
1571 #define __S16_TYPE short int
1572 #define __U16_TYPE unsigned short int
1573 #define __S32_TYPE int
1574 #define __U32_TYPE unsigned int
1575 #define __SLONGWORD_TYPE long int
1576 #define __ULONGWORD_TYPE unsigned long int
1578 #define __SQUAD_TYPE __quad_t
1579 #define __UQUAD_TYPE __u_quad_t
1580 #define __SWORD_TYPE int
1581 #define __UWORD_TYPE unsigned int
1582 #define __SLONG32_TYPE long int
1583 #define __ULONG32_TYPE unsigned long int
1584 #define __S64_TYPE __quad_t
1585 #define __U64_TYPE __u_quad_t
1588 #define __STD_TYPE __extension__ typedef
1589 # 137 "./include/bits/types.h"
1590 # 1 "./include/bits/typesizes.h" 1
1591 # 25 "./include/bits/typesizes.h"
1592 #define _BITS_TYPESIZES_H 1
1597 #define __DEV_T_TYPE __UQUAD_TYPE
1598 #define __UID_T_TYPE __U32_TYPE
1599 #define __GID_T_TYPE __U32_TYPE
1600 #define __INO_T_TYPE __ULONGWORD_TYPE
1601 #define __INO64_T_TYPE __UQUAD_TYPE
1602 #define __MODE_T_TYPE __U32_TYPE
1603 #define __NLINK_T_TYPE __UWORD_TYPE
1604 #define __OFF_T_TYPE __SLONGWORD_TYPE
1605 #define __OFF64_T_TYPE __SQUAD_TYPE
1606 #define __PID_T_TYPE __S32_TYPE
1607 #define __RLIM_T_TYPE __ULONGWORD_TYPE
1608 #define __RLIM64_T_TYPE __UQUAD_TYPE
1609 #define __BLKCNT_T_TYPE __SLONGWORD_TYPE
1610 #define __BLKCNT64_T_TYPE __SQUAD_TYPE
1611 #define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
1612 #define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
1613 #define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
1614 #define __FSFILCNT64_T_TYPE __UQUAD_TYPE
1615 #define __ID_T_TYPE __U32_TYPE
1616 #define __CLOCK_T_TYPE __SLONGWORD_TYPE
1617 #define __TIME_T_TYPE __SLONGWORD_TYPE
1618 #define __USECONDS_T_TYPE __U32_TYPE
1619 #define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
1620 #define __DADDR_T_TYPE __S32_TYPE
1621 #define __SWBLK_T_TYPE __SLONGWORD_TYPE
1622 #define __KEY_T_TYPE __S32_TYPE
1623 #define __CLOCKID_T_TYPE __S32_TYPE
1624 #define __TIMER_T_TYPE void *
1625 #define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
1626 #define __FSID_T_TYPE struct { int __val[2]; }
1627 #define __SSIZE_T_TYPE __SLONGWORD_TYPE
1630 #define __FD_SETSIZE 1024
1631 # 138 "./include/bits/types.h" 2
1634 __extension__ typedef __u_quad_t __dev_t;
1635 __extension__ typedef unsigned int __uid_t;
1636 __extension__ typedef unsigned int __gid_t;
1637 __extension__ typedef unsigned long int __ino_t;
1638 __extension__ typedef __u_quad_t __ino64_t;
1639 __extension__ typedef unsigned int __mode_t;
1640 __extension__ typedef unsigned int __nlink_t;
1641 __extension__ typedef long int __off_t;
1642 __extension__ typedef __quad_t __off64_t;
1643 __extension__ typedef int __pid_t;
1644 __extension__ typedef struct { int __val[2]; } __fsid_t;
1645 __extension__ typedef long int __clock_t;
1646 __extension__ typedef unsigned long int __rlim_t;
1647 __extension__ typedef __u_quad_t __rlim64_t;
1648 __extension__ typedef unsigned int __id_t;
1649 __extension__ typedef long int __time_t;
1650 __extension__ typedef unsigned int __useconds_t;
1651 __extension__ typedef long int __suseconds_t;
1653 __extension__ typedef int __daddr_t;
1654 __extension__ typedef long int __swblk_t;
1655 __extension__ typedef int __key_t;
1658 __extension__ typedef int __clockid_t;
1661 __extension__ typedef void * __timer_t;
1664 __extension__ typedef long int __blksize_t;
1669 __extension__ typedef long int __blkcnt_t;
1670 __extension__ typedef __quad_t __blkcnt64_t;
1673 __extension__ typedef unsigned long int __fsblkcnt_t;
1674 __extension__ typedef __u_quad_t __fsblkcnt64_t;
1677 __extension__ typedef unsigned long int __fsfilcnt_t;
1678 __extension__ typedef __u_quad_t __fsfilcnt64_t;
1680 __extension__ typedef long int __ssize_t;
1684 typedef __off64_t __loff_t;
1685 typedef __quad_t *__qaddr_t;
1686 typedef char *__caddr_t;
1689 __extension__ typedef int __intptr_t;
1692 __extension__ typedef unsigned int __socklen_t;
1696 # 32 "./include/sys/types.h" 2
1700 typedef __u_char u_char;
1701 typedef __u_short u_short;
1702 typedef __u_int u_int;
1703 typedef __u_long u_long;
1704 typedef __quad_t quad_t;
1705 typedef __u_quad_t u_quad_t;
1706 typedef __fsid_t fsid_t;
1707 #define __u_char_defined
1711 typedef __loff_t loff_t;
1715 typedef __ino_t ino_t;
1719 #define __ino_t_defined
1722 typedef __ino64_t ino64_t;
1723 #define __ino64_t_defined
1727 typedef __dev_t dev_t;
1728 #define __dev_t_defined
1732 typedef __gid_t gid_t;
1733 #define __gid_t_defined
1737 typedef __mode_t mode_t;
1738 #define __mode_t_defined
1742 typedef __nlink_t nlink_t;
1743 #define __nlink_t_defined
1747 typedef __uid_t uid_t;
1748 #define __uid_t_defined
1753 typedef __off_t off_t;
1757 #define __off_t_defined
1760 typedef __off64_t off64_t;
1761 #define __off64_t_defined
1765 typedef __pid_t pid_t;
1766 #define __pid_t_defined
1770 typedef __id_t id_t;
1771 #define __id_t_defined
1775 typedef __ssize_t ssize_t;
1776 #define __ssize_t_defined
1781 typedef __daddr_t daddr_t;
1782 typedef __caddr_t caddr_t;
1783 #define __daddr_t_defined
1788 typedef __key_t key_t;
1789 #define __key_t_defined
1793 #define __need_clock_t
1795 #define __need_time_t
1796 #define __need_timer_t
1797 #define __need_clockid_t
1798 # 1 "./include/time.h" 1
1799 # 55 "./include/time.h"
1800 #define __clock_t_defined 1
1806 typedef __clock_t clock_t;
1813 #undef __need_clock_t
1816 #define __time_t_defined 1
1822 typedef __time_t time_t;
1829 #undef __need_time_t
1833 #define __clockid_t_defined 1
1838 typedef __clockid_t clockid_t;
1841 #undef __clockid_time_t
1845 #define __timer_t_defined 1
1850 typedef __timer_t timer_t;
1853 #undef __need_timer_t
1854 # 128 "./include/time.h"
1855 #undef __need_timespec
1856 # 134 "./include/sys/types.h" 2
1860 typedef __useconds_t useconds_t;
1861 #define __useconds_t_defined
1864 typedef __suseconds_t suseconds_t;
1865 #define __suseconds_t_defined
1869 #define __need_size_t
1870 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
1871 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1872 #undef __need_size_t
1873 # 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
1875 # 148 "./include/sys/types.h" 2
1879 typedef unsigned long int ulong;
1880 typedef unsigned short int ushort;
1881 typedef unsigned int uint;
1882 # 188 "./include/sys/types.h"
1883 #define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)))
1885 #define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
1889 #define __int8_t_defined
1890 typedef int int8_t __attribute__ ((__mode__ (__QI__)));
1891 typedef int int16_t __attribute__ ((__mode__ (__HI__)));
1892 typedef int int32_t __attribute__ ((__mode__ (__SI__)));
1893 typedef int int64_t __attribute__ ((__mode__ (__DI__)));
1896 typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
1897 typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
1898 typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
1899 typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
1901 typedef int register_t __attribute__ ((__mode__ (__word__)));
1907 #define __BIT_TYPES_DEFINED__ 1
1915 # 1 "./include/sys/select.h" 1
1916 # 23 "./include/sys/select.h"
1917 #define _SYS_SELECT_H 1
1925 # 1 "./include/bits/select.h" 1
1926 # 26 "./include/bits/select.h"
1927 #define __FD_ZERO(s) do { unsigned int __i; fd_set *__arr = (s); for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) __FDS_BITS (__arr)[__i] = 0; } while (0)
1934 #define __FD_SET(d,s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
1935 #define __FD_CLR(d,s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
1936 #define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
1937 # 32 "./include/sys/select.h" 2
1940 # 1 "./include/bits/sigset.h" 1
1941 # 21 "./include/bits/sigset.h"
1942 #define _SIGSET_H_types 1
1944 typedef int __sig_atomic_t;
1945 # 38 "./include/bits/sigset.h"
1946 #define _SIGSET_NWORDS (64 / (8 * sizeof (unsigned long)))
1949 unsigned long __val[(64 / (8 * sizeof (unsigned long)))];
1951 # 35 "./include/sys/select.h" 2
1954 #define __sigset_t_defined
1955 typedef __sigset_t sigset_t;
1959 #define __need_time_t
1960 #define __need_timespec
1961 # 1 "./include/time.h" 1
1962 # 68 "./include/time.h"
1963 #undef __need_clock_t
1964 # 84 "./include/time.h"
1965 #undef __need_time_t
1966 # 96 "./include/time.h"
1967 #undef __clockid_time_t
1968 # 108 "./include/time.h"
1969 #undef __need_timer_t
1976 #define __timespec_defined 1
1989 #undef __need_timespec
1990 # 45 "./include/sys/select.h" 2
1991 #define __need_timeval
1992 # 1 "./include/bits/time.h" 1
1993 # 66 "./include/bits/time.h"
1994 #undef __need_timeval
1996 #define _STRUCT_TIMEVAL 1
2004 __suseconds_t tv_usec;
2006 # 47 "./include/sys/select.h" 2
2007 # 55 "./include/sys/select.h"
2008 typedef long int __fd_mask;
2015 #define __NFDBITS (8 * sizeof (__fd_mask))
2016 #define __FDELT(d) ((d) / __NFDBITS)
2017 #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
2025 __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
2026 #define __FDS_BITS(set) ((set)->fds_bits)
2034 #define FD_SETSIZE __FD_SETSIZE
2038 typedef __fd_mask fd_mask;
2041 #define NFDBITS __NFDBITS
2046 #define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp)
2047 #define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp)
2048 #define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp)
2049 #define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
2053 # 109 "./include/sys/select.h"
2054 extern int select (int __nfds, fd_set *__restrict __readfds,
2055 fd_set *__restrict __writefds,
2056 fd_set *__restrict __exceptfds,
2057 struct timeval *__restrict __timeout);
2059 # 122 "./include/sys/select.h"
2060 extern int pselect (int __nfds, fd_set *__restrict __readfds,
2061 fd_set *__restrict __writefds,
2062 fd_set *__restrict __exceptfds,
2063 const struct timespec *__restrict __timeout,
2064 const __sigset_t *__restrict __sigmask);
2068 # 221 "./include/sys/types.h" 2
2071 # 1 "./include/sys/sysmacros.h" 1
2072 # 21 "./include/sys/sysmacros.h"
2073 #define _SYS_SYSMACROS_H 1
2082 static __inline unsigned int gnu_dev_major (unsigned long long int __dev)
2083 __attribute__ ((__nothrow__));
2085 static __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
2086 __attribute__ ((__nothrow__));
2088 static __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
2089 unsigned int __minor)
2090 __attribute__ ((__nothrow__));
2093 __extension__ static __inline unsigned int
2094 __attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
2096 return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
2099 __extension__ static __inline unsigned int
2100 __attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
2102 return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
2105 __extension__ static __inline unsigned long long int
2106 __attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
2108 return ((__minor & 0xff) | ((__major & 0xfff) << 8)
2109 | (((unsigned long long int) (__minor & ~0xff)) << 12)
2110 | (((unsigned long long int) (__major & ~0xfff)) << 32));
2116 #define major(dev) gnu_dev_major (dev)
2117 #define minor(dev) gnu_dev_minor (dev)
2118 #define makedev(maj,min) gnu_dev_makedev (maj, min)
2119 # 224 "./include/sys/types.h" 2
2124 typedef __blksize_t blksize_t;
2125 #define __blksize_t_defined
2131 typedef __blkcnt_t blkcnt_t;
2132 #define __blkcnt_t_defined
2135 typedef __fsblkcnt_t fsblkcnt_t;
2136 #define __fsblkcnt_t_defined
2139 typedef __fsfilcnt_t fsfilcnt_t;
2140 #define __fsfilcnt_t_defined
2141 # 262 "./include/sys/types.h"
2142 typedef __blkcnt64_t blkcnt64_t;
2143 typedef __fsblkcnt64_t fsblkcnt64_t;
2144 typedef __fsfilcnt64_t fsfilcnt64_t;
2145 # 273 "./include/sys/types.h"
2147 # 215 "./include/stdlib.h" 2
2151 extern quad_t strtoq (__const char *__restrict __nptr,
2152 char **__restrict __endptr, int __base)
2153 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2156 extern u_quad_t strtouq (__const char *__restrict __nptr,
2157 char **__restrict __endptr, int __base)
2158 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2165 extern long long int strtoll (__const char *__restrict __nptr,
2166 char **__restrict __endptr, int __base)
2167 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2171 extern unsigned long long int strtoull (__const char *__restrict __nptr,
2172 char **__restrict __endptr, int __base)
2173 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2175 # 307 "./include/stdlib.h"
2176 extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
2179 extern long int a64l (__const char *__s)
2180 __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
2181 # 323 "./include/stdlib.h"
2182 extern long int random (void) __attribute__ ((__nothrow__));
2186 extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
2192 extern char *initstate (unsigned int __seed, char *__statebuf,
2193 size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2197 extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2223 extern int random_r (struct random_data *__restrict __buf,
2224 int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2227 extern int srandom_r (unsigned int __seed, struct random_data *__buf)
2228 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2231 extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
2233 struct random_data *__restrict __buf)
2234 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
2237 extern int setstate_r (char *__restrict __statebuf,
2238 struct random_data *__restrict __buf)
2239 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2247 extern int rand (void) __attribute__ ((__nothrow__));
2249 extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
2254 extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
2255 # 404 "./include/stdlib.h"
2256 extern double drand48 (void) __attribute__ ((__nothrow__));
2257 extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2261 extern long int lrand48 (void) __attribute__ ((__nothrow__));
2262 extern long int nrand48 (unsigned short int __xsubi[3])
2263 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2266 extern long int mrand48 (void) __attribute__ ((__nothrow__));
2267 extern long int jrand48 (unsigned short int __xsubi[3])
2268 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2271 extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
2272 extern unsigned short int *seed48 (unsigned short int __seed16v[3])
2273 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2274 extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2282 unsigned short int __x[3];
2283 unsigned short int __old_x[3];
2284 unsigned short int __c;
2285 unsigned short int __init;
2286 unsigned long long int __a;
2291 extern int drand48_r (struct drand48_data *__restrict __buffer,
2292 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2293 extern int erand48_r (unsigned short int __xsubi[3],
2294 struct drand48_data *__restrict __buffer,
2295 double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2300 extern int lrand48_r (struct drand48_data *__restrict __buffer,
2301 long int *__restrict __result)
2302 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2304 extern int nrand48_r (unsigned short int __xsubi[3],
2305 struct drand48_data *__restrict __buffer,
2306 long int *__restrict __result)
2307 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2311 extern int mrand48_r (struct drand48_data *__restrict __buffer,
2312 long int *__restrict __result)
2313 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2314 extern int jrand48_r (unsigned short int __xsubi[3],
2315 struct drand48_data *__restrict __buffer,
2316 long int *__restrict __result)
2317 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2321 extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
2322 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2325 extern int seed48_r (unsigned short int __seed16v[3],
2326 struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2329 extern int lcong48_r (unsigned short int __param[7],
2330 struct drand48_data *__buffer)
2331 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
2338 #define __malloc_and_calloc_defined
2341 extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2345 extern void *calloc (size_t __nmemb, size_t __size)
2346 __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2357 extern void *realloc (void *__ptr, size_t __size)
2358 __attribute__ ((__nothrow__)) ;
2360 extern void free (void *__ptr) __attribute__ ((__nothrow__));
2369 # 1 "./include/alloca.h" 1
2370 # 20 "./include/alloca.h"
2375 #define __need_size_t
2376 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
2377 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2378 #undef __need_size_t
2379 # 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2381 # 26 "./include/alloca.h" 2
2389 extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
2392 #define alloca(size) __builtin_alloca (size)
2396 #define __MAX_ALLOCA_CUTOFF 65536
2398 # 1 "./include/bits/stackinfo.h" 1
2399 # 23 "./include/bits/stackinfo.h"
2400 #define _STACKINFO_H 1
2403 #define _STACK_GROWS_DOWN 1
2404 # 43 "./include/alloca.h" 2
2406 #define extend_alloca(buf,len,newlen) (__typeof (buf)) ({ size_t __newlen = (newlen); char *__newbuf = alloca (__newlen); if (__newbuf + __newlen == (char *) buf) len += __newlen; else len = __newlen; __newbuf; })
2407 # 71 "./include/alloca.h"
2408 extern int __libc_alloca_cutoff (size_t size);
2412 # 518 "./include/stdlib.h" 2
2417 extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
2422 extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
2423 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2428 extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2433 extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2439 extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
2440 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2447 extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2455 extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
2462 extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2465 # 582 "./include/stdlib.h"
2466 extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2472 extern int setenv (__const char *__name, __const char *__value, int __replace)
2473 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2477 extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
2484 #define __UCLIBC_MAX_ATEXIT INT_MAX
2485 # 610 "./include/stdlib.h"
2486 extern int clearenv (void) __attribute__ ((__nothrow__));
2487 # 632 "./include/stdlib.h"
2488 extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
2489 # 642 "./include/stdlib.h"
2490 extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
2491 # 652 "./include/stdlib.h"
2492 extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2501 extern int system (__const char *__command) ;
2508 extern char *canonicalize_file_name (__const char *__name)
2509 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
2510 # 678 "./include/stdlib.h"
2511 extern char *realpath (__const char *__restrict __name,
2512 char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
2519 #define __COMPAR_FN_T
2520 typedef int (*__compar_fn_t) (__const void *, __const void *);
2523 typedef __compar_fn_t comparison_fn_t;
2527 typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);
2533 extern void *bsearch (__const void *__key, __const void *__base,
2534 size_t __nmemb, size_t __size, __compar_fn_t __compar)
2535 __attribute__ ((__nonnull__ (1, 2, 5))) ;
2539 extern void qsort (void *__base, size_t __nmemb, size_t __size,
2540 __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
2543 extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
2544 __compar_d_fn_t __compar, void *__arg)
2545 __attribute__ ((__nonnull__ (1, 4)));
2550 extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2551 extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2555 __extension__ extern long long int llabs (long long int __x)
2556 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2564 extern div_t div (int __numer, int __denom)
2565 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2566 extern ldiv_t ldiv (long int __numer, long int __denom)
2567 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2572 __extension__ extern lldiv_t lldiv (long long int __numer,
2573 long long int __denom)
2574 __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
2576 # 847 "./include/stdlib.h"
2577 extern int getsubopt (char **__restrict __optionp,
2578 char *__const *__restrict __tokens,
2579 char **__restrict __valuep)
2580 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
2587 extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
2588 # 866 "./include/stdlib.h"
2589 extern int posix_openpt (int __oflag) ;
2591 # 876 "./include/stdlib.h"
2592 extern int grantpt (int __fd) __attribute__ ((__nothrow__));
2596 extern int unlockpt (int __fd) __attribute__ ((__nothrow__));
2601 extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ;
2602 # 894 "./include/stdlib.h"
2603 extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
2604 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
2606 # 920 "./include/stdlib.h"
2607 extern int __drand48_iterate (unsigned short int xsubi[3], struct drand48_data *buffer) __attribute__ ((visibility ("hidden")));
2610 extern struct drand48_data __libc_drand48_data __attribute__ ((visibility ("hidden")));
2614 #undef __need_malloc_and_calloc
2617 # 29 "./ldso/include/ldso.h" 2
2618 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 1 3 4
2619 # 31 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 3 4
2621 #define _ANSI_STDARG_H_
2623 #undef __need___va_list
2628 #define __GNUC_VA_LIST
2629 typedef __builtin_va_list __gnuc_va_list;
2636 #define va_start(v,l) __builtin_va_start(v,l)
2637 #define va_end(v) __builtin_va_end(v)
2638 #define va_arg(v,l) __builtin_va_arg(v,l)
2640 #define va_copy(d,s) __builtin_va_copy(d,s)
2642 #define __va_copy(d,s) __builtin_va_copy(d,s)
2643 # 102 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 3 4
2644 typedef __gnuc_va_list va_list;
2656 #define _VA_LIST_DEFINED
2659 #define _VA_LIST_T_H
2663 # 30 "./ldso/include/ldso.h" 2
2664 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
2665 # 40 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2669 #define _ANSI_STDDEF_H
2671 #define __STDDEF_H__
2672 # 138 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2678 #define _BSD_PTRDIFF_T_
2679 #define ___int_ptrdiff_t_h
2680 #define _GCC_PTRDIFF_T
2684 typedef long int ptrdiff_t;
2685 # 160 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2686 #undef __need_ptrdiff_t
2687 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2688 #undef __need_size_t
2689 # 262 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2697 #define _BSD_WCHAR_T_
2698 #define _WCHAR_T_DEFINED_
2699 #define _WCHAR_T_DEFINED
2701 #define ___int_wchar_t_h
2702 #define __INT_WCHAR_T_H
2703 #define _GCC_WCHAR_T
2704 #define _WCHAR_T_DECLARED
2705 # 289 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2706 #undef _BSD_WCHAR_T_
2707 # 323 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2708 typedef int wchar_t;
2709 # 342 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2710 #undef __need_wchar_t
2711 # 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
2717 #define NULL ((void *)0)
2728 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
2729 # 31 "./ldso/include/ldso.h" 2
2730 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 1 3 4
2731 # 29 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 3 4
2739 # 48 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 3 4
2740 #define __bool_true_false_are_defined 1
2741 # 32 "./ldso/include/ldso.h" 2
2743 # 1 "./include/bits/fcntl.h" 1
2744 # 27 "./include/bits/fcntl.h"
2745 # 1 "./include/bits/uio.h" 1
2746 # 24 "./include/bits/uio.h"
2747 #define _BITS_UIO_H 1
2748 # 40 "./include/bits/uio.h"
2749 #define UIO_MAXIOV 1024
2750 #define UIO_FASTIOV 8
2759 # 28 "./include/bits/fcntl.h" 2
2764 #define O_ACCMODE 0003
2768 #define O_CREAT 0100
2770 #define O_NOCTTY 0400
2771 #define O_TRUNC 01000
2772 #define O_APPEND 02000
2773 #define O_NONBLOCK 04000
2774 #define O_NDELAY O_NONBLOCK
2775 #define O_SYNC 010000
2776 #define O_FSYNC O_SYNC
2777 #define O_ASYNC 020000
2780 #define O_DIRECTORY 040000
2781 #define O_NOFOLLOW 0100000
2782 #define O_DIRECT 0200000
2783 #define O_NOATIME 01000000
2784 #define O_CLOEXEC 02000000
2791 #define O_DSYNC O_SYNC
2792 #define O_RSYNC O_SYNC
2796 #define O_LARGEFILE 0400000
2814 #define F_GETLK64 12
2815 #define F_SETLK64 13
2816 #define F_SETLKW64 14
2829 #define F_SETLEASE 1024
2830 #define F_GETLEASE 1025
2831 #define F_NOTIFY 1026
2832 #define F_DUPFD_CLOEXEC 1030
2837 #define FD_CLOEXEC 1
2858 #define LOCK_MAND 32
2859 #define LOCK_READ 64
2860 #define LOCK_WRITE 128
2866 #define DN_ACCESS 0x00000001
2867 #define DN_MODIFY 0x00000002
2868 #define DN_CREATE 0x00000004
2869 #define DN_DELETE 0x00000008
2870 #define DN_RENAME 0x00000010
2871 #define DN_ATTRIB 0x00000020
2872 #define DN_MULTISHOT 0x80000000
2903 #define FAPPEND O_APPEND
2904 #define FFSYNC O_FSYNC
2905 #define FASYNC O_ASYNC
2906 #define FNONBLOCK O_NONBLOCK
2907 #define FNDELAY O_NDELAY
2912 #define POSIX_FADV_NORMAL 0
2913 #define POSIX_FADV_RANDOM 1
2914 #define POSIX_FADV_SEQUENTIAL 2
2915 #define POSIX_FADV_WILLNEED 3
2916 #define POSIX_FADV_DONTNEED 4
2917 #define POSIX_FADV_NOREUSE 5
2923 #define SYNC_FILE_RANGE_WAIT_BEFORE 1
2926 #define SYNC_FILE_RANGE_WRITE 2
2929 #define SYNC_FILE_RANGE_WAIT_AFTER 4
2934 #define SPLICE_F_MOVE 1
2935 #define SPLICE_F_NONBLOCK 2
2938 #define SPLICE_F_MORE 4
2939 #define SPLICE_F_GIFT 8
2947 extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
2948 __attribute__ ((__nothrow__));
2952 extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
2953 unsigned int __flags);
2956 extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
2957 size_t __count, unsigned int __flags);
2960 extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
2961 __off64_t *__offout, size_t __len,
2962 unsigned int __flags);
2965 extern ssize_t tee (int __fdin, int __fdout, size_t __len,
2966 unsigned int __flags);
2970 # 34 "./ldso/include/ldso.h" 2
2971 # 1 "./include/bits/wordsize.h" 1
2972 # 19 "./include/bits/wordsize.h"
2973 #define __WORDSIZE 32
2974 # 35 "./ldso/include/ldso.h" 2
2978 # 1 "./include/bits/uClibc_page.h" 1
2979 # 22 "./include/bits/uClibc_page.h"
2980 #define _UCLIBC_PAGE_H
2983 #define PAGE_SHIFT 12
2984 #define PAGE_SIZE (1UL << PAGE_SHIFT)
2985 #define PAGE_MASK (~(PAGE_SIZE-1))
2986 # 39 "./ldso/include/ldso.h" 2
2988 # 1 "./include/sys/param.h" 1
2989 # 20 "./include/sys/param.h"
2990 #define _SYS_PARAM_H 1
2993 #define __undef_ARG_MAX
2996 # 1 "./include/limits.h" 1
2997 # 25 "./include/limits.h"
2998 #define _LIBC_LIMITS_H_ 1
3006 #define MB_LEN_MAX 16
3007 # 125 "./include/limits.h"
3008 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 1
3009 # 124 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h"
3010 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 1 3 4
3011 # 30 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
3012 #define _GCC_LIMITS_H_
3013 # 61 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
3014 #define _LIMITS_H___
3018 #define CHAR_BIT __CHAR_BIT__
3027 #define SCHAR_MIN (-SCHAR_MAX - 1)
3029 #define SCHAR_MAX __SCHAR_MAX__
3036 #define UCHAR_MAX (SCHAR_MAX * 2 + 1)
3037 # 97 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
3039 #define CHAR_MIN SCHAR_MIN
3041 #define CHAR_MAX SCHAR_MAX
3046 #define SHRT_MIN (-SHRT_MAX - 1)
3048 #define SHRT_MAX __SHRT_MAX__
3055 #define USHRT_MAX (SHRT_MAX * 2 + 1)
3060 #define INT_MIN (-INT_MAX - 1)
3062 #define INT_MAX __INT_MAX__
3066 #define UINT_MAX (INT_MAX * 2U + 1U)
3071 #define LONG_MIN (-LONG_MAX - 1L)
3073 #define LONG_MAX __LONG_MAX__
3077 #define ULONG_MAX (LONG_MAX * 2UL + 1UL)
3078 # 152 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
3079 #undef LONG_LONG_MIN
3080 #define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
3081 #undef LONG_LONG_MAX
3082 #define LONG_LONG_MAX __LONG_LONG_MAX__
3085 #undef ULONG_LONG_MAX
3086 #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
3087 # 125 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
3094 #define LLONG_MIN LONG_LONG_MIN
3097 #define LLONG_MAX LONG_LONG_MAX
3100 #define ULLONG_MAX ULONG_LONG_MAX
3107 # 1 "./include/bits/posix1_lim.h" 1
3108 # 26 "./include/bits/posix1_lim.h"
3109 #define _BITS_POSIX1_LIM_H 1
3115 #define _POSIX_AIO_LISTIO_MAX 2
3118 #define _POSIX_AIO_MAX 1
3121 #define _POSIX_ARG_MAX 4096
3125 #define _POSIX_CHILD_MAX 25
3131 #define _POSIX_DELAYTIMER_MAX 32
3135 #define _POSIX_HOST_NAME_MAX 255
3138 #define _POSIX_LINK_MAX 8
3141 #define _POSIX_LOGIN_NAME_MAX 9
3144 #define _POSIX_MAX_CANON 255
3148 #define _POSIX_MAX_INPUT 255
3151 #define _POSIX_MQ_OPEN_MAX 8
3154 #define _POSIX_MQ_PRIO_MAX 32
3157 #define _POSIX_NAME_MAX 14
3161 #define _POSIX_NGROUPS_MAX 8
3168 #define _POSIX_OPEN_MAX 20
3175 #define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
3178 #define _POSIX_PATH_MAX 256
3181 #define _POSIX_PIPE_BUF 512
3185 #define _POSIX_RE_DUP_MAX 255
3188 #define _POSIX_RTSIG_MAX 8
3191 #define _POSIX_SEM_NSEMS_MAX 256
3194 #define _POSIX_SEM_VALUE_MAX 32767
3197 #define _POSIX_SIGQUEUE_MAX 32
3200 #define _POSIX_SSIZE_MAX 32767
3203 #define _POSIX_STREAM_MAX 8
3206 #define _POSIX_SYMLINK_MAX 255
3210 #define _POSIX_SYMLOOP_MAX 8
3213 #define _POSIX_TIMER_MAX 32
3216 #define _POSIX_TTY_NAME_MAX 9
3219 #define _POSIX_TZNAME_MAX 6
3222 #define _POSIX_QLIMIT 1
3226 #define _POSIX_HIWAT _POSIX_PIPE_BUF
3229 #define _POSIX_UIO_MAXIOV 16
3232 #define _POSIX_CLOCKRES_MIN 20000000
3236 # 1 "./include/bits/local_lim.h" 1
3237 # 26 "./include/bits/local_lim.h"
3238 #define __undef_NR_OPEN
3241 #define __undef_LINK_MAX
3244 #define __undef_OPEN_MAX
3247 #define __undef_ARG_MAX
3251 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/limits.h" 1
3253 #define _LINUX_LIMITS_H
3255 #define NR_OPEN 1024
3257 #define NGROUPS_MAX 65536
3258 #define ARG_MAX 131072
3259 #define LINK_MAX 127
3260 #define MAX_CANON 255
3261 #define MAX_INPUT 255
3262 #define NAME_MAX 255
3263 #define PATH_MAX 4096
3264 #define PIPE_BUF 4096
3265 #define XATTR_NAME_MAX 255
3266 #define XATTR_SIZE_MAX 65536
3267 #define XATTR_LIST_MAX 65536
3269 #define RTSIG_MAX 32
3270 # 40 "./include/bits/local_lim.h" 2
3275 #undef __undef_NR_OPEN
3280 #undef __undef_LINK_MAX
3285 #undef __undef_OPEN_MAX
3290 #undef __undef_ARG_MAX
3294 #define _POSIX_THREAD_KEYS_MAX 128
3296 #define PTHREAD_KEYS_MAX 1024
3299 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
3301 #define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
3304 #define _POSIX_THREAD_THREADS_MAX 64
3308 #define AIO_PRIO_DELTA_MAX 20
3311 #define PTHREAD_STACK_MIN 16384
3314 #define DELAYTIMER_MAX 2147483647
3317 #define TTY_NAME_MAX 32
3320 #define LOGIN_NAME_MAX 256
3323 #define HOST_NAME_MAX 64
3326 #define MQ_PRIO_MAX 32768
3327 # 154 "./include/bits/posix1_lim.h" 2
3328 # 1 "./include/bits/uClibc_local_lim.h" 1
3329 # 11 "./include/bits/uClibc_local_lim.h"
3330 #define _BITS_UCLIBC_LOCAL_LIM_H 1
3331 # 25 "./include/bits/uClibc_local_lim.h"
3332 #undef _POSIX_THREAD_KEYS_MAX
3333 #undef PTHREAD_KEYS_MAX
3334 #undef _POSIX_THREAD_DESTRUCTOR_ITERATIONS
3335 #undef PTHREAD_DESTRUCTOR_ITERATIONS
3336 #undef PTHREAD_STACK_MIN
3337 #undef DELAYTIMER_MAX
3338 # 155 "./include/bits/posix1_lim.h" 2
3342 #define SSIZE_MAX LONG_MAX
3343 # 145 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
3347 # 1 "./include/bits/posix2_lim.h" 1
3348 # 24 "./include/bits/posix2_lim.h"
3349 #define _BITS_POSIX2_LIM_H 1
3353 #define _POSIX2_BC_BASE_MAX 99
3356 #define _POSIX2_BC_DIM_MAX 2048
3359 #define _POSIX2_BC_SCALE_MAX 99
3362 #define _POSIX2_BC_STRING_MAX 1000
3366 #define _POSIX2_COLL_WEIGHTS_MAX 2
3370 #define _POSIX2_EXPR_NEST_MAX 32
3373 #define _POSIX2_LINE_MAX 2048
3377 #define _POSIX2_RE_DUP_MAX 255
3381 #define _POSIX2_CHARCLASS_NAME_MAX 14
3389 #define BC_BASE_MAX _POSIX2_BC_BASE_MAX
3392 #define BC_DIM_MAX _POSIX2_BC_DIM_MAX
3395 #define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
3398 #define BC_STRING_MAX _POSIX2_BC_STRING_MAX
3401 #define COLL_WEIGHTS_MAX 255
3404 #define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
3407 #define LINE_MAX _POSIX2_LINE_MAX
3410 #define CHARCLASS_NAME_MAX 2048
3414 #define RE_DUP_MAX (0x7fff)
3415 # 149 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
3419 # 1 "./include/bits/xopen_lim.h" 1
3420 # 31 "./include/bits/xopen_lim.h"
3421 #define _XOPEN_LIM_H 1
3423 #define __need_IOV_MAX
3424 # 1 "./include/bits/stdio_lim.h" 1
3425 # 42 "./include/bits/stdio_lim.h"
3426 #define IOV_MAX 1024
3427 # 35 "./include/bits/xopen_lim.h" 2
3428 # 66 "./include/bits/xopen_lim.h"
3429 #define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV
3430 # 76 "./include/bits/xopen_lim.h"
3431 #define NL_ARGMAX __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__
3435 #define NL_LANGMAX _POSIX2_LINE_MAX
3438 #define NL_MSGMAX INT_MAX
3442 #define NL_NMAX INT_MAX
3445 #define NL_SETMAX INT_MAX
3448 #define NL_TEXTMAX INT_MAX
3452 # 105 "./include/bits/xopen_lim.h"
3454 # 129 "./include/bits/xopen_lim.h"
3456 # 153 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
3457 # 126 "./include/limits.h" 2
3458 # 27 "./include/sys/param.h" 2
3460 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/param.h" 1
3462 #define _LINUX_PARAM_H
3464 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/param.h" 1
3465 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/param.h" 1
3467 #define __ASM_GENERIC_PARAM_H
3475 #define EXEC_PAGESIZE 4096
3479 #define NOGROUP (-1)
3482 #define MAXHOSTNAMELEN 64
3483 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/param.h" 2
3484 # 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/param.h" 2
3485 # 29 "./include/sys/param.h" 2
3490 #undef __undef_ARG_MAX
3495 #define NBBY CHAR_BIT
3497 #define NGROUPS NGROUPS_MAX
3499 #define MAXSYMLINKS 20
3500 #define CANBSIZ MAX_CANON
3501 #define MAXPATHLEN PATH_MAX
3506 #define NCARGS 131072
3512 #define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
3513 #define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
3514 #define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
3515 #define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
3519 #define howmany(x,y) (((x) + ((y) - 1)) / (y))
3522 #define roundup(x,y) (__builtin_constant_p (y) && powerof2 (y) ? (((x) + (y) - 1) & ~((y) - 1)) : ((((x) + ((y) - 1)) / (y)) * (y)))
3528 #define powerof2(x) ((((x) - 1) & (x)) == 0)
3531 #define MIN(a,b) (((a)<(b))?(a):(b))
3532 #define MAX(a,b) (((a)>(b))?(a):(b))
3536 #define DEV_BSIZE 512
3537 # 41 "./ldso/include/ldso.h" 2
3540 # 1 "./ldso/include/dl-syscall.h" 1
3541 # 9 "./ldso/include/dl-syscall.h"
3542 #define _LD_SYSCALL_H_
3546 # 1 "./include/sys/syscall.h" 1
3547 # 20 "./include/sys/syscall.h"
3548 #define _SYSCALL_H 1
3553 # 1 "./include/bits/sysnum.h" 1
3557 #define _BITS_SYSNUM_H
3563 #undef __NR_restart_syscall
3564 #define __NR_restart_syscall 0
3565 #define SYS_restart_syscall __NR_restart_syscall
3568 #define SYS_exit __NR_exit
3571 #define SYS_fork __NR_fork
3574 #define SYS_read __NR_read
3576 #define __NR_write 4
3577 #define SYS_write __NR_write
3580 #define SYS_open __NR_open
3582 #define __NR_close 6
3583 #define SYS_close __NR_close
3585 #define __NR_creat 8
3586 #define SYS_creat __NR_creat
3589 #define SYS_link __NR_link
3591 #define __NR_unlink 10
3592 #define SYS_unlink __NR_unlink
3594 #define __NR_execve 11
3595 #define SYS_execve __NR_execve
3597 #define __NR_chdir 12
3598 #define SYS_chdir __NR_chdir
3600 #define __NR_time 13
3601 #define SYS_time __NR_time
3603 #define __NR_mknod 14
3604 #define SYS_mknod __NR_mknod
3606 #define __NR_chmod 15
3607 #define SYS_chmod __NR_chmod
3609 #define __NR_chown 16
3610 #define SYS_chown __NR_chown
3612 #define __NR_lseek 19
3613 #define SYS_lseek __NR_lseek
3615 #define __NR_getpid 20
3616 #define SYS_getpid __NR_getpid
3618 #define __NR_mount 21
3619 #define SYS_mount __NR_mount
3621 #define __NR_setuid 23
3622 #define SYS_setuid __NR_setuid
3624 #define __NR_getuid 24
3625 #define SYS_getuid __NR_getuid
3627 #define __NR_stime 25
3628 #define SYS_stime __NR_stime
3630 #define __NR_ptrace 26
3631 #define SYS_ptrace __NR_ptrace
3633 #define __NR_alarm 27
3634 #define SYS_alarm __NR_alarm
3636 #define __NR_pause 29
3637 #define SYS_pause __NR_pause
3639 #define __NR_access 33
3640 #define SYS_access __NR_access
3642 #define __NR_nice 34
3643 #define SYS_nice __NR_nice
3645 #define __NR_sync 36
3646 #define SYS_sync __NR_sync
3648 #define __NR_kill 37
3649 #define SYS_kill __NR_kill
3651 #define __NR_rename 38
3652 #define SYS_rename __NR_rename
3654 #define __NR_mkdir 39
3655 #define SYS_mkdir __NR_mkdir
3657 #define __NR_rmdir 40
3658 #define SYS_rmdir __NR_rmdir
3661 #define SYS_dup __NR_dup
3663 #define __NR_pipe 42
3664 #define SYS_pipe __NR_pipe
3666 #define __NR_times 43
3667 #define SYS_times __NR_times
3670 #define SYS_brk __NR_brk
3672 #define __NR_setgid 46
3673 #define SYS_setgid __NR_setgid
3675 #define __NR_getgid 47
3676 #define SYS_getgid __NR_getgid
3678 #define __NR_geteuid 49
3679 #define SYS_geteuid __NR_geteuid
3681 #define __NR_getegid 50
3682 #define SYS_getegid __NR_getegid
3684 #define __NR_acct 51
3685 #define SYS_acct __NR_acct
3687 #define __NR_umount2 52
3688 #define SYS_umount2 __NR_umount2
3690 #define __NR_ioctl 54
3691 #define SYS_ioctl __NR_ioctl
3693 #define __NR_fcntl 55
3694 #define SYS_fcntl __NR_fcntl
3696 #define __NR_setpgid 57
3697 #define SYS_setpgid __NR_setpgid
3699 #define __NR_umask 60
3700 #define SYS_umask __NR_umask
3702 #define __NR_chroot 61
3703 #define SYS_chroot __NR_chroot
3705 #define __NR_ustat 62
3706 #define SYS_ustat __NR_ustat
3708 #define __NR_dup2 63
3709 #define SYS_dup2 __NR_dup2
3711 #define __NR_getppid 64
3712 #define SYS_getppid __NR_getppid
3714 #define __NR_getpgrp 65
3715 #define SYS_getpgrp __NR_getpgrp
3717 #define __NR_setsid 66
3718 #define SYS_setsid __NR_setsid
3719 #undef __NR_sgetmask
3720 #define __NR_sgetmask 68
3721 #define SYS_sgetmask __NR_sgetmask
3722 #undef __NR_ssetmask
3723 #define __NR_ssetmask 69
3724 #define SYS_ssetmask __NR_ssetmask
3725 #undef __NR_setreuid
3726 #define __NR_setreuid 70
3727 #define SYS_setreuid __NR_setreuid
3728 #undef __NR_setregid
3729 #define __NR_setregid 71
3730 #define SYS_setregid __NR_setregid
3731 #undef __NR_sethostname
3732 #define __NR_sethostname 74
3733 #define SYS_sethostname __NR_sethostname
3734 #undef __NR_setrlimit
3735 #define __NR_setrlimit 75
3736 #define SYS_setrlimit __NR_setrlimit
3737 #undef __NR_getrusage
3738 #define __NR_getrusage 77
3739 #define SYS_getrusage __NR_getrusage
3740 #undef __NR_gettimeofday
3741 #define __NR_gettimeofday 78
3742 #define SYS_gettimeofday __NR_gettimeofday
3743 #undef __NR_settimeofday
3744 #define __NR_settimeofday 79
3745 #define SYS_settimeofday __NR_settimeofday
3746 #undef __NR_getgroups
3747 #define __NR_getgroups 80
3748 #define SYS_getgroups __NR_getgroups
3749 #undef __NR_setgroups
3750 #define __NR_setgroups 81
3751 #define SYS_setgroups __NR_setgroups
3753 #define __NR_symlink 83
3754 #define SYS_symlink __NR_symlink
3755 #undef __NR_readlink
3756 #define __NR_readlink 85
3757 #define SYS_readlink __NR_readlink
3759 #define __NR_reboot 88
3760 #define SYS_reboot __NR_reboot
3762 #define __NR_munmap 91
3763 #define SYS_munmap __NR_munmap
3764 #undef __NR_truncate
3765 #define __NR_truncate 92
3766 #define SYS_truncate __NR_truncate
3767 #undef __NR_ftruncate
3768 #define __NR_ftruncate 93
3769 #define SYS_ftruncate __NR_ftruncate
3771 #define __NR_fchmod 94
3772 #define SYS_fchmod __NR_fchmod
3774 #define __NR_fchown 95
3775 #define SYS_fchown __NR_fchown
3776 #undef __NR_getpriority
3777 #define __NR_getpriority 96
3778 #define SYS_getpriority __NR_getpriority
3779 #undef __NR_setpriority
3780 #define __NR_setpriority 97
3781 #define SYS_setpriority __NR_setpriority
3783 #define __NR_statfs 99
3784 #define SYS_statfs __NR_statfs
3786 #define __NR_fstatfs 100
3787 #define SYS_fstatfs __NR_fstatfs
3789 #define __NR_syslog 103
3790 #define SYS_syslog __NR_syslog
3791 #undef __NR_setitimer
3792 #define __NR_setitimer 104
3793 #define SYS_setitimer __NR_setitimer
3794 #undef __NR_getitimer
3795 #define __NR_getitimer 105
3796 #define SYS_getitimer __NR_getitimer
3798 #define __NR_stat 106
3799 #define SYS_stat __NR_stat
3801 #define __NR_lstat 107
3802 #define SYS_lstat __NR_lstat
3804 #define __NR_fstat 108
3805 #define SYS_fstat __NR_fstat
3807 #define __NR_vhangup 111
3808 #define SYS_vhangup __NR_vhangup
3810 #define __NR_wait4 114
3811 #define SYS_wait4 __NR_wait4
3813 #define __NR_sysinfo 116
3814 #define SYS_sysinfo __NR_sysinfo
3816 #define __NR_fsync 118
3817 #define SYS_fsync __NR_fsync
3819 #define __NR_clone 120
3820 #define SYS_clone __NR_clone
3821 #undef __NR_setdomainname
3822 #define __NR_setdomainname 121
3823 #define SYS_setdomainname __NR_setdomainname
3825 #define __NR_uname 122
3826 #define SYS_uname __NR_uname
3827 #undef __NR_adjtimex
3828 #define __NR_adjtimex 124
3829 #define SYS_adjtimex __NR_adjtimex
3830 #undef __NR_mprotect
3831 #define __NR_mprotect 125
3832 #define SYS_mprotect __NR_mprotect
3833 #undef __NR_init_module
3834 #define __NR_init_module 128
3835 #define SYS_init_module __NR_init_module
3836 #undef __NR_delete_module
3837 #define __NR_delete_module 129
3838 #define SYS_delete_module __NR_delete_module
3839 #undef __NR_quotactl
3840 #define __NR_quotactl 131
3841 #define SYS_quotactl __NR_quotactl
3843 #define __NR_getpgid 132
3844 #define SYS_getpgid __NR_getpgid
3846 #define __NR_fchdir 133
3847 #define SYS_fchdir __NR_fchdir
3849 #define __NR_bdflush 134
3850 #define SYS_bdflush __NR_bdflush
3851 #undef __NR_personality
3852 #define __NR_personality 136
3853 #define SYS_personality __NR_personality
3854 #undef __NR_setfsuid
3855 #define __NR_setfsuid 138
3856 #define SYS_setfsuid __NR_setfsuid
3857 #undef __NR_setfsgid
3858 #define __NR_setfsgid 139
3859 #define SYS_setfsgid __NR_setfsgid
3861 #define __NR__llseek 140
3862 #define SYS__llseek __NR__llseek
3863 #undef __NR_getdents
3864 #define __NR_getdents 141
3865 #define SYS_getdents __NR_getdents
3867 #define __NR_flock 143
3868 #define SYS_flock __NR_flock
3870 #define __NR_readv 145
3871 #define SYS_readv __NR_readv
3873 #define __NR_writev 146
3874 #define SYS_writev __NR_writev
3876 #define __NR_getsid 147
3877 #define SYS_getsid __NR_getsid
3878 #undef __NR_fdatasync
3879 #define __NR_fdatasync 148
3880 #define SYS_fdatasync __NR_fdatasync
3882 #define __NR__sysctl 149
3883 #define SYS__sysctl __NR__sysctl
3884 #undef __NR_sched_setparam
3885 #define __NR_sched_setparam 154
3886 #define SYS_sched_setparam __NR_sched_setparam
3887 #undef __NR_sched_getparam
3888 #define __NR_sched_getparam 155
3889 #define SYS_sched_getparam __NR_sched_getparam
3890 #undef __NR_sched_setscheduler
3891 #define __NR_sched_setscheduler 156
3892 #define SYS_sched_setscheduler __NR_sched_setscheduler
3893 #undef __NR_sched_getscheduler
3894 #define __NR_sched_getscheduler 157
3895 #define SYS_sched_getscheduler __NR_sched_getscheduler
3896 #undef __NR_sched_yield
3897 #define __NR_sched_yield 158
3898 #define SYS_sched_yield __NR_sched_yield
3899 #undef __NR_sched_get_priority_max
3900 #define __NR_sched_get_priority_max 159
3901 #define SYS_sched_get_priority_max __NR_sched_get_priority_max
3902 #undef __NR_sched_get_priority_min
3903 #define __NR_sched_get_priority_min 160
3904 #define SYS_sched_get_priority_min __NR_sched_get_priority_min
3905 #undef __NR_sched_rr_get_interval
3906 #define __NR_sched_rr_get_interval 161
3907 #define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
3908 #undef __NR_nanosleep
3909 #define __NR_nanosleep 162
3910 #define SYS_nanosleep __NR_nanosleep
3912 #define __NR_mremap 163
3913 #define SYS_mremap __NR_mremap
3914 #undef __NR_setresuid
3915 #define __NR_setresuid 164
3916 #define SYS_setresuid __NR_setresuid
3917 #undef __NR_getresuid
3918 #define __NR_getresuid 165
3919 #define SYS_getresuid __NR_getresuid
3920 #undef __NR_nfsservctl
3921 #define __NR_nfsservctl 169
3922 #define SYS_nfsservctl __NR_nfsservctl
3923 #undef __NR_setresgid
3924 #define __NR_setresgid 170
3925 #define SYS_setresgid __NR_setresgid
3926 #undef __NR_getresgid
3927 #define __NR_getresgid 171
3928 #define SYS_getresgid __NR_getresgid
3930 #define __NR_prctl 172
3931 #define SYS_prctl __NR_prctl
3932 #undef __NR_rt_sigreturn
3933 #define __NR_rt_sigreturn 173
3934 #define SYS_rt_sigreturn __NR_rt_sigreturn
3935 #undef __NR_rt_sigaction
3936 #define __NR_rt_sigaction 174
3937 #define SYS_rt_sigaction __NR_rt_sigaction
3938 #undef __NR_rt_sigprocmask
3939 #define __NR_rt_sigprocmask 175
3940 #define SYS_rt_sigprocmask __NR_rt_sigprocmask
3941 #undef __NR_rt_sigpending
3942 #define __NR_rt_sigpending 176
3943 #define SYS_rt_sigpending __NR_rt_sigpending
3944 #undef __NR_rt_sigtimedwait
3945 #define __NR_rt_sigtimedwait 177
3946 #define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
3947 #undef __NR_rt_sigqueueinfo
3948 #define __NR_rt_sigqueueinfo 178
3949 #define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
3950 #undef __NR_rt_sigsuspend
3951 #define __NR_rt_sigsuspend 179
3952 #define SYS_rt_sigsuspend __NR_rt_sigsuspend
3954 #define __NR_pread 180
3955 #define SYS_pread __NR_pread
3957 #define __NR_pwrite 181
3958 #define SYS_pwrite __NR_pwrite
3960 #define __NR_lchown 182
3961 #define SYS_lchown __NR_lchown
3963 #define __NR_getcwd 183
3964 #define SYS_getcwd __NR_getcwd
3966 #define __NR_capget 184
3967 #define SYS_capget __NR_capget
3969 #define __NR_capset 185
3970 #define SYS_capset __NR_capset
3971 #undef __NR_sigaltstack
3972 #define __NR_sigaltstack 186
3973 #define SYS_sigaltstack __NR_sigaltstack
3974 #undef __NR_sendfile
3975 #define __NR_sendfile 187
3976 #define SYS_sendfile __NR_sendfile
3978 #define __NR_vfork 190
3979 #define SYS_vfork __NR_vfork
3980 #undef __NR_getrlimit
3981 #define __NR_getrlimit 191
3982 #define SYS_getrlimit __NR_getrlimit
3984 #define __NR_mmap2 192
3985 #define SYS_mmap2 __NR_mmap2
3986 #undef __NR_truncate64
3987 #define __NR_truncate64 193
3988 #define SYS_truncate64 __NR_truncate64
3989 #undef __NR_ftruncate64
3990 #define __NR_ftruncate64 194
3991 #define SYS_ftruncate64 __NR_ftruncate64
3993 #define __NR_stat64 195
3994 #define SYS_stat64 __NR_stat64
3996 #define __NR_lstat64 196
3997 #define SYS_lstat64 __NR_lstat64
3999 #define __NR_fstat64 197
4000 #define SYS_fstat64 __NR_fstat64
4002 #define __NR_chown32 198
4003 #define SYS_chown32 __NR_chown32
4004 #undef __NR_getuid32
4005 #define __NR_getuid32 199
4006 #define SYS_getuid32 __NR_getuid32
4007 #undef __NR_getgid32
4008 #define __NR_getgid32 200
4009 #define SYS_getgid32 __NR_getgid32
4010 #undef __NR_geteuid32
4011 #define __NR_geteuid32 201
4012 #define SYS_geteuid32 __NR_geteuid32
4013 #undef __NR_getegid32
4014 #define __NR_getegid32 202
4015 #define SYS_getegid32 __NR_getegid32
4016 #undef __NR_setreuid32
4017 #define __NR_setreuid32 203
4018 #define SYS_setreuid32 __NR_setreuid32
4019 #undef __NR_setregid32
4020 #define __NR_setregid32 204
4021 #define SYS_setregid32 __NR_setregid32
4022 #undef __NR_getgroups32
4023 #define __NR_getgroups32 205
4024 #define SYS_getgroups32 __NR_getgroups32
4025 #undef __NR_setgroups32
4026 #define __NR_setgroups32 206
4027 #define SYS_setgroups32 __NR_setgroups32
4028 #undef __NR_fchown32
4029 #define __NR_fchown32 207
4030 #define SYS_fchown32 __NR_fchown32
4031 #undef __NR_setresuid32
4032 #define __NR_setresuid32 208
4033 #define SYS_setresuid32 __NR_setresuid32
4034 #undef __NR_getresuid32
4035 #define __NR_getresuid32 209
4036 #define SYS_getresuid32 __NR_getresuid32
4037 #undef __NR_setresgid32
4038 #define __NR_setresgid32 210
4039 #define SYS_setresgid32 __NR_setresgid32
4040 #undef __NR_getresgid32
4041 #define __NR_getresgid32 211
4042 #define SYS_getresgid32 __NR_getresgid32
4043 #undef __NR_lchown32
4044 #define __NR_lchown32 212
4045 #define SYS_lchown32 __NR_lchown32
4046 #undef __NR_setuid32
4047 #define __NR_setuid32 213
4048 #define SYS_setuid32 __NR_setuid32
4049 #undef __NR_setgid32
4050 #define __NR_setgid32 214
4051 #define SYS_setgid32 __NR_setgid32
4052 #undef __NR_setfsuid32
4053 #define __NR_setfsuid32 215
4054 #define SYS_setfsuid32 __NR_setfsuid32
4055 #undef __NR_setfsgid32
4056 #define __NR_setfsgid32 216
4057 #define SYS_setfsgid32 __NR_setfsgid32
4058 #undef __NR_pivot_root
4059 #define __NR_pivot_root 217
4060 #define SYS_pivot_root __NR_pivot_root
4061 #undef __NR_getdents64
4062 #define __NR_getdents64 220
4063 #define SYS_getdents64 __NR_getdents64
4065 #define __NR_fcntl64 221
4066 #define SYS_fcntl64 __NR_fcntl64
4068 #define __NR_gettid 224
4069 #define SYS_gettid __NR_gettid
4070 #undef __NR_readahead
4071 #define __NR_readahead 225
4072 #define SYS_readahead __NR_readahead
4073 #undef __NR_setxattr
4074 #define __NR_setxattr 226
4075 #define SYS_setxattr __NR_setxattr
4076 #undef __NR_lsetxattr
4077 #define __NR_lsetxattr 227
4078 #define SYS_lsetxattr __NR_lsetxattr
4079 #undef __NR_fsetxattr
4080 #define __NR_fsetxattr 228
4081 #define SYS_fsetxattr __NR_fsetxattr
4082 #undef __NR_getxattr
4083 #define __NR_getxattr 229
4084 #define SYS_getxattr __NR_getxattr
4085 #undef __NR_lgetxattr
4086 #define __NR_lgetxattr 230
4087 #define SYS_lgetxattr __NR_lgetxattr
4088 #undef __NR_fgetxattr
4089 #define __NR_fgetxattr 231
4090 #define SYS_fgetxattr __NR_fgetxattr
4091 #undef __NR_listxattr
4092 #define __NR_listxattr 232
4093 #define SYS_listxattr __NR_listxattr
4094 #undef __NR_llistxattr
4095 #define __NR_llistxattr 233
4096 #define SYS_llistxattr __NR_llistxattr
4097 #undef __NR_flistxattr
4098 #define __NR_flistxattr 234
4099 #define SYS_flistxattr __NR_flistxattr
4100 #undef __NR_removexattr
4101 #define __NR_removexattr 235
4102 #define SYS_removexattr __NR_removexattr
4103 #undef __NR_lremovexattr
4104 #define __NR_lremovexattr 236
4105 #define SYS_lremovexattr __NR_lremovexattr
4106 #undef __NR_fremovexattr
4107 #define __NR_fremovexattr 237
4108 #define SYS_fremovexattr __NR_fremovexattr
4110 #define __NR_tkill 238
4111 #define SYS_tkill __NR_tkill
4112 #undef __NR_sendfile64
4113 #define __NR_sendfile64 239
4114 #define SYS_sendfile64 __NR_sendfile64
4116 #define __NR_futex 240
4117 #define SYS_futex __NR_futex
4118 #undef __NR_sched_setaffinity
4119 #define __NR_sched_setaffinity 241
4120 #define SYS_sched_setaffinity __NR_sched_setaffinity
4121 #undef __NR_sched_getaffinity
4122 #define __NR_sched_getaffinity 242
4123 #define SYS_sched_getaffinity __NR_sched_getaffinity
4124 #undef __NR_io_setup
4125 #define __NR_io_setup 245
4126 #define SYS_io_setup __NR_io_setup
4127 #undef __NR_io_destroy
4128 #define __NR_io_destroy 246
4129 #define SYS_io_destroy __NR_io_destroy
4130 #undef __NR_io_getevents
4131 #define __NR_io_getevents 247
4132 #define SYS_io_getevents __NR_io_getevents
4133 #undef __NR_io_submit
4134 #define __NR_io_submit 248
4135 #define SYS_io_submit __NR_io_submit
4136 #undef __NR_io_cancel
4137 #define __NR_io_cancel 249
4138 #define SYS_io_cancel __NR_io_cancel
4139 #undef __NR_exit_group
4140 #define __NR_exit_group 252
4141 #define SYS_exit_group __NR_exit_group
4142 #undef __NR_lookup_dcookie
4143 #define __NR_lookup_dcookie 253
4144 #define SYS_lookup_dcookie __NR_lookup_dcookie
4145 #undef __NR_bfin_spinlock
4146 #define __NR_bfin_spinlock 254
4147 #define SYS_bfin_spinlock __NR_bfin_spinlock
4148 #undef __NR_epoll_create
4149 #define __NR_epoll_create 255
4150 #define SYS_epoll_create __NR_epoll_create
4151 #undef __NR_epoll_ctl
4152 #define __NR_epoll_ctl 256
4153 #define SYS_epoll_ctl __NR_epoll_ctl
4154 #undef __NR_epoll_wait
4155 #define __NR_epoll_wait 257
4156 #define SYS_epoll_wait __NR_epoll_wait
4157 #undef __NR_set_tid_address
4158 #define __NR_set_tid_address 259
4159 #define SYS_set_tid_address __NR_set_tid_address
4160 #undef __NR_timer_create
4161 #define __NR_timer_create 260
4162 #define SYS_timer_create __NR_timer_create
4163 #undef __NR_timer_settime
4164 #define __NR_timer_settime 261
4165 #define SYS_timer_settime __NR_timer_settime
4166 #undef __NR_timer_gettime
4167 #define __NR_timer_gettime 262
4168 #define SYS_timer_gettime __NR_timer_gettime
4169 #undef __NR_timer_getoverrun
4170 #define __NR_timer_getoverrun 263
4171 #define SYS_timer_getoverrun __NR_timer_getoverrun
4172 #undef __NR_timer_delete
4173 #define __NR_timer_delete 264
4174 #define SYS_timer_delete __NR_timer_delete
4175 #undef __NR_clock_settime
4176 #define __NR_clock_settime 265
4177 #define SYS_clock_settime __NR_clock_settime
4178 #undef __NR_clock_gettime
4179 #define __NR_clock_gettime 266
4180 #define SYS_clock_gettime __NR_clock_gettime
4181 #undef __NR_clock_getres
4182 #define __NR_clock_getres 267
4183 #define SYS_clock_getres __NR_clock_getres
4184 #undef __NR_clock_nanosleep
4185 #define __NR_clock_nanosleep 268
4186 #define SYS_clock_nanosleep __NR_clock_nanosleep
4187 #undef __NR_statfs64
4188 #define __NR_statfs64 269
4189 #define SYS_statfs64 __NR_statfs64
4190 #undef __NR_fstatfs64
4191 #define __NR_fstatfs64 270
4192 #define SYS_fstatfs64 __NR_fstatfs64
4194 #define __NR_tgkill 271
4195 #define SYS_tgkill __NR_tgkill
4197 #define __NR_utimes 272
4198 #define SYS_utimes __NR_utimes
4199 #undef __NR_fadvise64_64
4200 #define __NR_fadvise64_64 273
4201 #define SYS_fadvise64_64 __NR_fadvise64_64
4203 #define __NR_mq_open 278
4204 #define SYS_mq_open __NR_mq_open
4205 #undef __NR_mq_unlink
4206 #define __NR_mq_unlink 279
4207 #define SYS_mq_unlink __NR_mq_unlink
4208 #undef __NR_mq_timedsend
4209 #define __NR_mq_timedsend 280
4210 #define SYS_mq_timedsend __NR_mq_timedsend
4211 #undef __NR_mq_timedreceive
4212 #define __NR_mq_timedreceive 281
4213 #define SYS_mq_timedreceive __NR_mq_timedreceive
4214 #undef __NR_mq_notify
4215 #define __NR_mq_notify 282
4216 #define SYS_mq_notify __NR_mq_notify
4217 #undef __NR_mq_getsetattr
4218 #define __NR_mq_getsetattr 283
4219 #define SYS_mq_getsetattr __NR_mq_getsetattr
4220 #undef __NR_kexec_load
4221 #define __NR_kexec_load 284
4222 #define SYS_kexec_load __NR_kexec_load
4224 #define __NR_waitid 285
4225 #define SYS_waitid __NR_waitid
4227 #define __NR_add_key 286
4228 #define SYS_add_key __NR_add_key
4229 #undef __NR_request_key
4230 #define __NR_request_key 287
4231 #define SYS_request_key __NR_request_key
4233 #define __NR_keyctl 288
4234 #define SYS_keyctl __NR_keyctl
4235 #undef __NR_ioprio_set
4236 #define __NR_ioprio_set 289
4237 #define SYS_ioprio_set __NR_ioprio_set
4238 #undef __NR_ioprio_get
4239 #define __NR_ioprio_get 290
4240 #define SYS_ioprio_get __NR_ioprio_get
4241 #undef __NR_inotify_init
4242 #define __NR_inotify_init 291
4243 #define SYS_inotify_init __NR_inotify_init
4244 #undef __NR_inotify_add_watch
4245 #define __NR_inotify_add_watch 292
4246 #define SYS_inotify_add_watch __NR_inotify_add_watch
4247 #undef __NR_inotify_rm_watch
4248 #define __NR_inotify_rm_watch 293
4249 #define SYS_inotify_rm_watch __NR_inotify_rm_watch
4251 #define __NR_openat 295
4252 #define SYS_openat __NR_openat
4254 #define __NR_mkdirat 296
4255 #define SYS_mkdirat __NR_mkdirat
4257 #define __NR_mknodat 297
4258 #define SYS_mknodat __NR_mknodat
4259 #undef __NR_fchownat
4260 #define __NR_fchownat 298
4261 #define SYS_fchownat __NR_fchownat
4262 #undef __NR_futimesat
4263 #define __NR_futimesat 299
4264 #define SYS_futimesat __NR_futimesat
4265 #undef __NR_fstatat64
4266 #define __NR_fstatat64 300
4267 #define SYS_fstatat64 __NR_fstatat64
4268 #undef __NR_unlinkat
4269 #define __NR_unlinkat 301
4270 #define SYS_unlinkat __NR_unlinkat
4271 #undef __NR_renameat
4272 #define __NR_renameat 302
4273 #define SYS_renameat __NR_renameat
4275 #define __NR_linkat 303
4276 #define SYS_linkat __NR_linkat
4277 #undef __NR_symlinkat
4278 #define __NR_symlinkat 304
4279 #define SYS_symlinkat __NR_symlinkat
4280 #undef __NR_readlinkat
4281 #define __NR_readlinkat 305
4282 #define SYS_readlinkat __NR_readlinkat
4283 #undef __NR_fchmodat
4284 #define __NR_fchmodat 306
4285 #define SYS_fchmodat __NR_fchmodat
4286 #undef __NR_faccessat
4287 #define __NR_faccessat 307
4288 #define SYS_faccessat __NR_faccessat
4289 #undef __NR_pselect6
4290 #define __NR_pselect6 308
4291 #define SYS_pselect6 __NR_pselect6
4293 #define __NR_ppoll 309
4294 #define SYS_ppoll __NR_ppoll
4296 #define __NR_unshare 310
4297 #define SYS_unshare __NR_unshare
4298 #undef __NR_sram_alloc
4299 #define __NR_sram_alloc 311
4300 #define SYS_sram_alloc __NR_sram_alloc
4301 #undef __NR_sram_free
4302 #define __NR_sram_free 312
4303 #define SYS_sram_free __NR_sram_free
4304 #undef __NR_dma_memcpy
4305 #define __NR_dma_memcpy 313
4306 #define SYS_dma_memcpy __NR_dma_memcpy
4308 #define __NR_accept 314
4309 #define SYS_accept __NR_accept
4311 #define __NR_bind 315
4312 #define SYS_bind __NR_bind
4314 #define __NR_connect 316
4315 #define SYS_connect __NR_connect
4316 #undef __NR_getpeername
4317 #define __NR_getpeername 317
4318 #define SYS_getpeername __NR_getpeername
4319 #undef __NR_getsockname
4320 #define __NR_getsockname 318
4321 #define SYS_getsockname __NR_getsockname
4322 #undef __NR_getsockopt
4323 #define __NR_getsockopt 319
4324 #define SYS_getsockopt __NR_getsockopt
4326 #define __NR_listen 320
4327 #define SYS_listen __NR_listen
4329 #define __NR_recv 321
4330 #define SYS_recv __NR_recv
4331 #undef __NR_recvfrom
4332 #define __NR_recvfrom 322
4333 #define SYS_recvfrom __NR_recvfrom
4335 #define __NR_recvmsg 323
4336 #define SYS_recvmsg __NR_recvmsg
4338 #define __NR_send 324
4339 #define SYS_send __NR_send
4341 #define __NR_sendmsg 325
4342 #define SYS_sendmsg __NR_sendmsg
4344 #define __NR_sendto 326
4345 #define SYS_sendto __NR_sendto
4346 #undef __NR_setsockopt
4347 #define __NR_setsockopt 327
4348 #define SYS_setsockopt __NR_setsockopt
4349 #undef __NR_shutdown
4350 #define __NR_shutdown 328
4351 #define SYS_shutdown __NR_shutdown
4353 #define __NR_socket 329
4354 #define SYS_socket __NR_socket
4355 #undef __NR_socketpair
4356 #define __NR_socketpair 330
4357 #define SYS_socketpair __NR_socketpair
4359 #define __NR_semctl 331
4360 #define SYS_semctl __NR_semctl
4362 #define __NR_semget 332
4363 #define SYS_semget __NR_semget
4365 #define __NR_semop 333
4366 #define SYS_semop __NR_semop
4368 #define __NR_msgctl 334
4369 #define SYS_msgctl __NR_msgctl
4371 #define __NR_msgget 335
4372 #define SYS_msgget __NR_msgget
4374 #define __NR_msgrcv 336
4375 #define SYS_msgrcv __NR_msgrcv
4377 #define __NR_msgsnd 337
4378 #define SYS_msgsnd __NR_msgsnd
4380 #define __NR_shmat 338
4381 #define SYS_shmat __NR_shmat
4383 #define __NR_shmctl 339
4384 #define SYS_shmctl __NR_shmctl
4386 #define __NR_shmdt 340
4387 #define SYS_shmdt __NR_shmdt
4389 #define __NR_shmget 341
4390 #define SYS_shmget __NR_shmget
4392 #define __NR_splice 342
4393 #define SYS_splice __NR_splice
4394 #undef __NR_sync_file_range
4395 #define __NR_sync_file_range 343
4396 #define SYS_sync_file_range __NR_sync_file_range
4398 #define __NR_tee 344
4399 #define SYS_tee __NR_tee
4400 #undef __NR_vmsplice
4401 #define __NR_vmsplice 345
4402 #define SYS_vmsplice __NR_vmsplice
4403 #undef __NR_epoll_pwait
4404 #define __NR_epoll_pwait 346
4405 #define SYS_epoll_pwait __NR_epoll_pwait
4406 #undef __NR_utimensat
4407 #define __NR_utimensat 347
4408 #define SYS_utimensat __NR_utimensat
4409 #undef __NR_signalfd
4410 #define __NR_signalfd 348
4411 #define SYS_signalfd __NR_signalfd
4412 #undef __NR_timerfd_create
4413 #define __NR_timerfd_create 349
4414 #define SYS_timerfd_create __NR_timerfd_create
4416 #define __NR_eventfd 350
4417 #define SYS_eventfd __NR_eventfd
4419 #define __NR_pread64 351
4420 #define SYS_pread64 __NR_pread64
4421 #undef __NR_pwrite64
4422 #define __NR_pwrite64 352
4423 #define SYS_pwrite64 __NR_pwrite64
4424 #undef __NR_fadvise64
4425 #define __NR_fadvise64 353
4426 #define SYS_fadvise64 __NR_fadvise64
4427 #undef __NR_set_robust_list
4428 #define __NR_set_robust_list 354
4429 #define SYS_set_robust_list __NR_set_robust_list
4430 #undef __NR_get_robust_list
4431 #define __NR_get_robust_list 355
4432 #define SYS_get_robust_list __NR_get_robust_list
4433 #undef __NR_fallocate
4434 #define __NR_fallocate 356
4435 #define SYS_fallocate __NR_fallocate
4436 #undef __NR_semtimedop
4437 #define __NR_semtimedop 357
4438 #define SYS_semtimedop __NR_semtimedop
4439 #undef __NR_timerfd_settime
4440 #define __NR_timerfd_settime 358
4441 #define SYS_timerfd_settime __NR_timerfd_settime
4442 #undef __NR_timerfd_gettime
4443 #define __NR_timerfd_gettime 359
4444 #define SYS_timerfd_gettime __NR_timerfd_gettime
4445 #undef __NR_signalfd4
4446 #define __NR_signalfd4 360
4447 #define SYS_signalfd4 __NR_signalfd4
4448 #undef __NR_eventfd2
4449 #define __NR_eventfd2 361
4450 #define SYS_eventfd2 __NR_eventfd2
4451 #undef __NR_epoll_create1
4452 #define __NR_epoll_create1 362
4453 #define SYS_epoll_create1 __NR_epoll_create1
4455 #define __NR_dup3 363
4456 #define SYS_dup3 __NR_dup3
4458 #define __NR_pipe2 364
4459 #define SYS_pipe2 __NR_pipe2
4460 #undef __NR_inotify_init1
4461 #define __NR_inotify_init1 365
4462 #define SYS_inotify_init1 __NR_inotify_init1
4464 #define __NR_preadv 366
4465 #define SYS_preadv __NR_preadv
4467 #define __NR_pwritev 367
4468 #define SYS_pwritev __NR_pwritev
4469 #undef __NR_rt_tgsigqueueinfo
4470 #define __NR_rt_tgsigqueueinfo 368
4471 #define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
4472 #undef __NR_perf_event_open
4473 #define __NR_perf_event_open 369
4474 #define SYS_perf_event_open __NR_perf_event_open
4475 #undef __NR_recvmmsg
4476 #define __NR_recvmmsg 370
4477 #define SYS_recvmmsg __NR_recvmmsg
4478 #undef __NR_fanotify_init
4479 #define __NR_fanotify_init 371
4480 #define SYS_fanotify_init __NR_fanotify_init
4481 #undef __NR_fanotify_mark
4482 #define __NR_fanotify_mark 372
4483 #define SYS_fanotify_mark __NR_fanotify_mark
4484 #undef __NR_prlimit64
4485 #define __NR_prlimit64 373
4486 #define SYS_prlimit64 __NR_prlimit64
4487 #undef __NR_cacheflush
4488 #define __NR_cacheflush 374
4489 #define SYS_cacheflush __NR_cacheflush
4490 #undef __NR_name_to_handle_at
4491 #define __NR_name_to_handle_at 375
4492 #define SYS_name_to_handle_at __NR_name_to_handle_at
4493 #undef __NR_open_by_handle_at
4494 #define __NR_open_by_handle_at 376
4495 #define SYS_open_by_handle_at __NR_open_by_handle_at
4496 #undef __NR_clock_adjtime
4497 #define __NR_clock_adjtime 377
4498 #define SYS_clock_adjtime __NR_clock_adjtime
4500 #define __NR_syncfs 378
4501 #define SYS_syncfs __NR_syncfs
4503 #define __NR_setns 379
4504 #define SYS_setns __NR_setns
4505 #undef __NR_sendmmsg
4506 #define __NR_sendmmsg 380
4507 #define SYS_sendmmsg __NR_sendmmsg
4508 #undef __NR_process_vm_readv
4509 #define __NR_process_vm_readv 381
4510 #define SYS_process_vm_readv __NR_process_vm_readv
4511 #undef __NR_process_vm_writev
4512 #define __NR_process_vm_writev 382
4513 #define SYS_process_vm_writev __NR_process_vm_writev
4515 #define __NR_syscall 383
4516 #define SYS_syscall __NR_syscall
4517 # 26 "./include/sys/syscall.h" 2
4518 # 34 "./include/sys/syscall.h"
4519 # 1 "./include/bits/syscalls.h" 1
4521 #define _BITS_SYSCALLS_H
4528 #define INTERNAL_SYSCALL_NCS(name,err,nr,args...) (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (name) ASMFMT_ ##nr(args) : "memory","CC"); __res; }) )
4529 # 21 "./include/bits/syscalls.h"
4532 #define ASMFMT_1(arg1) , "q0" ((long)(arg1))
4535 #define ASMFMT_2(arg1,arg2) ASMFMT_1(arg1) , "q1" ((long)(arg2))
4539 #define ASMFMT_3(arg1,arg2,arg3) ASMFMT_2(arg1, arg2) , "q2" ((long)(arg3))
4543 #define ASMFMT_4(arg1,arg2,arg3,arg4) ASMFMT_3(arg1, arg2, arg3) , "q3" ((long)(arg4))
4547 #define ASMFMT_5(arg1,arg2,arg3,arg4,arg5) ASMFMT_4(arg1, arg2, arg3, arg4) , "q4" ((long)(arg5))
4551 #define ASMFMT_6(arg1,arg2,arg3,arg4,arg5,arg6) ASMFMT_5(arg1, arg2, arg3, arg4, arg5) , "q5" ((long)(arg6))
4552 # 35 "./include/sys/syscall.h" 2
4553 # 1 "./include/bits/syscalls-common.h" 1
4561 #define _SYSCALLS_COMMON_H 1
4568 #define SYS_ify(syscall_name) (__NR_ ##syscall_name)
4573 # 1 "./include/errno.h" 1
4574 # 28 "./include/errno.h"
4583 # 1 "./include/bits/errno.h" 1
4584 # 22 "./include/bits/errno.h"
4588 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/errno.h" 1
4590 #define _LINUX_ERRNO_H
4592 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/errno.h" 1
4593 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno.h" 1
4595 #define _ASM_GENERIC_ERRNO_H
4597 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno-base.h" 1
4599 #define _ASM_GENERIC_ERRNO_BASE_H
4635 # 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno.h" 2
4638 #define ENAMETOOLONG 36
4641 #define ENOTEMPTY 39
4643 #define EWOULDBLOCK EAGAIN
4661 #define EDEADLOCK EDEADLK
4676 #define EMULTIHOP 72
4679 #define EOVERFLOW 75
4693 #define EDESTADDRREQ 89
4695 #define EPROTOTYPE 91
4696 #define ENOPROTOOPT 92
4697 #define EPROTONOSUPPORT 93
4698 #define ESOCKTNOSUPPORT 94
4699 #define EOPNOTSUPP 95
4700 #define EPFNOSUPPORT 96
4701 #define EAFNOSUPPORT 97
4702 #define EADDRINUSE 98
4703 #define EADDRNOTAVAIL 99
4704 #define ENETDOWN 100
4705 #define ENETUNREACH 101
4706 #define ENETRESET 102
4707 #define ECONNABORTED 103
4708 #define ECONNRESET 104
4711 #define ENOTCONN 107
4712 #define ESHUTDOWN 108
4713 #define ETOOMANYREFS 109
4714 #define ETIMEDOUT 110
4715 #define ECONNREFUSED 111
4716 #define EHOSTDOWN 112
4717 #define EHOSTUNREACH 113
4718 #define EALREADY 114
4719 #define EINPROGRESS 115
4725 #define EREMOTEIO 121
4728 #define ENOMEDIUM 123
4729 #define EMEDIUMTYPE 124
4730 #define ECANCELED 125
4732 #define EKEYEXPIRED 127
4733 #define EKEYREVOKED 128
4734 #define EKEYREJECTED 129
4737 #define EOWNERDEAD 130
4738 #define ENOTRECOVERABLE 131
4742 #define EHWPOISON 133
4743 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/errno.h" 2
4744 # 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/errno.h" 2
4745 # 26 "./include/bits/errno.h" 2
4749 #define ENOTSUP EOPNOTSUPP
4750 # 45 "./include/bits/errno.h"
4751 extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
4753 # 37 "./include/errno.h" 2
4755 # 47 "./include/errno.h"
4757 # 59 "./include/errno.h"
4763 #define errno _dl_errno
4764 extern int _dl_errno;
4765 # 79 "./include/errno.h"
4766 #define __set_errno(val) (errno = (val))
4767 # 91 "./include/errno.h"
4768 typedef int error_t;
4769 #define __error_t_defined 1
4771 #undef __need_error_t
4772 # 21 "./include/bits/syscalls-common.h" 2
4775 #define INTERNAL_SYSCALL_DECL(err) do { } while (0)
4778 #define INTERNAL_SYSCALL_ERROR_P(val,err) ((unsigned long)val >= (unsigned long)(-4095))
4781 #define INTERNAL_SYSCALL_ERRNO(val,err) (-(val))
4786 #define INLINE_SYSCALL(name,nr,args...) INLINE_SYSCALL_NCS(__NR_ ##name, nr, args)
4789 #define INLINE_SYSCALL_NOERR(name,nr,args...) INLINE_SYSCALL_NOERR_NCS(__NR_ ##name, nr, args)
4794 #define INLINE_SYSCALL_NCS(name,nr,args...) (__extension__ ({ INTERNAL_SYSCALL_DECL(__err); (__extension__ ({ long __res = INTERNAL_SYSCALL_NCS(name, __err, nr, args); if (unlikely(INTERNAL_SYSCALL_ERROR_P(__res, __err))) { __set_errno(INTERNAL_SYSCALL_ERRNO(__res, __err)); __res = -1L; } __res; }) ); }) )
4795 # 60 "./include/bits/syscalls-common.h"
4796 #define INLINE_SYSCALL_NOERR_NCS(name,nr,args...) ({ INTERNAL_SYSCALL_DECL(__err); long __res = INTERNAL_SYSCALL_NCS(name, __err, nr, args); __res; })
4797 # 70 "./include/bits/syscalls-common.h"
4798 #define INTERNAL_SYSCALL(name,err,nr,args...) INTERNAL_SYSCALL_NCS(__NR_ ##name, err, nr, args)
4799 # 79 "./include/bits/syscalls-common.h"
4800 #define C_DECL_ARGS_0() void
4801 #define C_DECL_ARGS_1(t,v) t v
4802 #define C_DECL_ARGS_2(t,v,args...) t v, C_DECL_ARGS_1(args)
4803 #define C_DECL_ARGS_3(t,v,args...) t v, C_DECL_ARGS_2(args)
4804 #define C_DECL_ARGS_4(t,v,args...) t v, C_DECL_ARGS_3(args)
4805 #define C_DECL_ARGS_5(t,v,args...) t v, C_DECL_ARGS_4(args)
4806 #define C_DECL_ARGS_6(t,v,args...) t v, C_DECL_ARGS_5(args)
4809 #define C_ARGS_1(t,v) v
4810 #define C_ARGS_2(t,v,args...) v, C_ARGS_1(args)
4811 #define C_ARGS_3(t,v,args...) v, C_ARGS_2(args)
4812 #define C_ARGS_4(t,v,args...) v, C_ARGS_3(args)
4813 #define C_ARGS_5(t,v,args...) v, C_ARGS_4(args)
4814 #define C_ARGS_6(t,v,args...) v, C_ARGS_5(args)
4816 #define SYSCALL_FUNC(nargs,type,name,args...) type name(C_DECL_ARGS_ ##nargs(args)) { return (type)INLINE_SYSCALL(name, nargs, C_ARGS_ ##nargs(args)); }
4821 #define SYSCALL_NOERR_FUNC(nargs,type,name,args...) type name(C_DECL_ARGS_ ##nargs(args)) { return (type)INLINE_SYSCALL_NOERR(name, nargs, C_ARGS_ ##nargs(args)); }
4826 #define _syscall0(args...) SYSCALL_FUNC(0, args)
4827 #define _syscall_noerr0(args...) SYSCALL_NOERR_FUNC(0, args)
4828 #define _syscall1(args...) SYSCALL_FUNC(1, args)
4829 #define _syscall_noerr1(args...) SYSCALL_NOERR_FUNC(1, args)
4830 #define _syscall2(args...) SYSCALL_FUNC(2, args)
4831 #define _syscall3(args...) SYSCALL_FUNC(3, args)
4832 #define _syscall4(args...) SYSCALL_FUNC(4, args)
4833 #define _syscall5(args...) SYSCALL_FUNC(5, args)
4834 #define _syscall6(args...) SYSCALL_FUNC(6, args)
4835 # 36 "./include/sys/syscall.h" 2
4836 # 14 "./ldso/include/dl-syscall.h" 2
4837 extern int _dl_errno;
4839 #define __set_errno(X) {(_dl_errno) = (X);}
4842 # 1 "./ldso/ldso/bfin/dl-syscalls.h" 1
4843 # 22 "./ldso/ldso/bfin/dl-syscalls.h"
4844 #define __NR__dl_sram_alloc __NR_sram_alloc
4845 static __inline __attribute__ ((__always_inline__)) void * _dl_sram_alloc(
4846 size_t len, unsigned long flags) { return (void *)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (311) , "q0" ((long)(len)) , "q1" ((long)(flags)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
4850 #define __NR__dl_sram_free __NR_sram_free
4851 static __inline __attribute__ ((__always_inline__)) int _dl_sram_free(void * addr) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (312) , "q0" ((long)(addr)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
4855 #define __NR__dl_dma_memcpy __NR_dma_memcpy
4856 static __inline __attribute__ ((__always_inline__)) void * _dl_dma_memcpy(
4857 void * dest, void * src, size_t len) { return (void *)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (313) , "q0" ((long)(dest)) , "q1" ((long)(src)) , "q2" ((long)(len)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
4860 #define __UCLIBC_MMAP_HAS_6_ARGS__
4861 # 20 "./ldso/include/dl-syscall.h" 2
4863 #define _SYS_MMAN_H 1
4864 # 1 "./include/bits/mman.h" 1
4865 # 1 "./include/bits/mman-common.h" 1
4866 # 33 "./include/bits/mman-common.h"
4867 #define PROT_READ 0x1
4868 #define PROT_WRITE 0x2
4869 #define PROT_EXEC 0x4
4870 #define PROT_NONE 0x0
4871 #define PROT_GROWSDOWN 0x01000000
4873 #define PROT_GROWSUP 0x02000000
4877 #define MAP_SHARED 0x01
4878 #define MAP_PRIVATE 0x02
4880 #define MAP_TYPE 0x0f
4884 #define MAP_FIXED 0x10
4887 #define MAP_ANONYMOUS 0x20
4888 #define MAP_ANON MAP_ANONYMOUS
4893 #define MAP_GROWSDOWN 0x00100
4894 #define MAP_DENYWRITE 0x00800
4895 #define MAP_EXECUTABLE 0x01000
4896 #define MAP_LOCKED 0x02000
4897 #define MAP_NORESERVE 0x04000
4898 #define MAP_POPULATE 0x08000
4899 #define MAP_NONBLOCK 0x10000
4900 #define MAP_STACK 0x20000
4901 #define MAP_UNINITIALIZE 0x4000000
4908 #define MS_INVALIDATE 2
4911 #define MCL_CURRENT 1
4912 #define MCL_FUTURE 2
4917 #define MREMAP_MAYMOVE 1
4918 #define MREMAP_FIXED 2
4923 #define MADV_NORMAL 0
4924 #define MADV_RANDOM 1
4925 #define MADV_SEQUENTIAL 2
4926 #define MADV_WILLNEED 3
4927 #define MADV_DONTNEED 4
4928 #define MADV_REMOVE 9
4929 #define MADV_DONTFORK 10
4930 #define MADV_DOFORK 11
4931 #define MADV_MERGEABLE 12
4932 #define MADV_UNMERGEABLE 13
4933 #define MADV_HWPOISON 100
4938 #define POSIX_MADV_NORMAL 0
4939 #define POSIX_MADV_RANDOM 1
4940 #define POSIX_MADV_SEQUENTIAL 2
4941 #define POSIX_MADV_WILLNEED 3
4942 #define POSIX_MADV_DONTNEED 4
4943 # 1 "./include/bits/mman.h" 2
4944 # 23 "./ldso/include/dl-syscall.h" 2
4951 #define kernel_stat stat
4953 # 1 "./include/bits/kernel_stat.h" 1
4955 #define _BITS_STAT_STRUCT_H
4962 unsigned short st_dev;
4963 unsigned short __pad1;
4964 unsigned long st_ino;
4965 unsigned short st_mode;
4966 unsigned short st_nlink;
4967 unsigned short st_uid;
4968 unsigned short st_gid;
4969 unsigned short st_rdev;
4970 unsigned short __pad2;
4971 unsigned long st_size;
4972 unsigned long st_blksize;
4973 unsigned long st_blocks;
4974 struct timespec st_atim;
4975 struct timespec st_mtim;
4976 struct timespec st_ctim;
4977 unsigned long __unused4;
4978 unsigned long __unused5;
4981 struct kernel_stat64 {
4982 unsigned short st_dev;
4983 unsigned char __pad0[10];
4984 #define _HAVE_STAT64___ST_INO
4985 unsigned long __st_ino;
4986 unsigned int st_mode;
4987 unsigned int st_nlink;
4988 unsigned long st_uid;
4989 unsigned long st_gid;
4990 unsigned short st_rdev;
4991 unsigned char __pad3[10];
4993 unsigned long st_blksize;
4994 unsigned long st_blocks;
4995 unsigned long __pad4;
4996 struct timespec st_atim;
4997 struct timespec st_mtim;
4998 struct timespec st_ctim;
4999 unsigned long long st_ino;
5001 # 32 "./ldso/include/dl-syscall.h" 2
5005 #define S_ISUID 04000
5006 #define S_ISGID 02000
5007 # 45 "./ldso/include/dl-syscall.h"
5008 #define __NR__dl_exit __NR_exit
5009 static __inline __attribute__ ((__always_inline__)) void _dl_exit(int status) { return (void)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (1) , "q0" ((long)(status)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5011 #define __NR__dl_close __NR_close
5012 static __inline __attribute__ ((__always_inline__)) int _dl_close(int fd) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (6) , "q0" ((long)(fd)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5014 #define __NR__dl_open __NR_open
5015 static __inline __attribute__ ((__always_inline__)) int _dl_open(
5016 const char * fn, int flags, __kernel_mode_t mode) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (5) , "q0" ((long)(fn)) , "q1" ((long)(flags)) , "q2" ((long)(mode)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5018 #define __NR__dl_write __NR_write
5019 static __inline __attribute__ ((__always_inline__)) unsigned long _dl_write(
5020 int fd, const void * buf, unsigned long count) { return (unsigned long)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (4) , "q0" ((long)(fd)) , "q1" ((long)(buf)) , "q2" ((long)(count)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5022 #define __NR__dl_read __NR_read
5023 static __inline __attribute__ ((__always_inline__)) unsigned long _dl_read(
5024 int fd, const void * buf, unsigned long count) { return (unsigned long)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (3) , "q0" ((long)(fd)) , "q1" ((long)(buf)) , "q2" ((long)(count)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5026 #define __NR__dl_mprotect __NR_mprotect
5027 static __inline __attribute__ ((__always_inline__)) int _dl_mprotect(
5028 const void * addr, unsigned long len, int prot) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (125) , "q0" ((long)(addr)) , "q1" ((long)(len)) , "q2" ((long)(prot)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5030 #define __NR__dl_stat __NR_stat
5031 static __inline __attribute__ ((__always_inline__)) int _dl_stat(
5032 const char * file_name, struct stat * buf) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (106) , "q0" ((long)(file_name)) , "q1" ((long)(buf)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5034 #define __NR__dl_fstat __NR_fstat
5035 static __inline __attribute__ ((__always_inline__)) int _dl_fstat(int fd, struct stat * buf) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (108) , "q0" ((long)(fd)) , "q1" ((long)(buf)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5037 #define __NR__dl_munmap __NR_munmap
5038 static __inline __attribute__ ((__always_inline__)) int _dl_munmap(void * start, unsigned long length) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (91) , "q0" ((long)(start)) , "q1" ((long)(length)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5043 #define __NR__dl_getuid __NR_getuid
5044 static __inline __attribute__ ((__always_inline__)) uid_t _dl_getuid(void) { return (uid_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (24) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5049 #define __NR__dl_geteuid __NR_geteuid
5050 static __inline __attribute__ ((__always_inline__)) uid_t _dl_geteuid(void) { return (uid_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (49) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5055 #define __NR__dl_getgid __NR_getgid
5056 static __inline __attribute__ ((__always_inline__)) gid_t _dl_getgid(void) { return (gid_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (47) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5061 #define __NR__dl_getegid __NR_getegid
5062 static __inline __attribute__ ((__always_inline__)) gid_t _dl_getegid(void) { return (gid_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (50) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5067 #define __NR__dl_getpid __NR_getpid
5068 static __inline __attribute__ ((__always_inline__)) gid_t _dl_getpid(void) { return (gid_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (20) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5070 #define __NR__dl_readlink __NR_readlink
5071 static __inline __attribute__ ((__always_inline__)) int _dl_readlink(
5072 const char * path, char * buf, size_t bufsiz) { return (int)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (85) , "q0" ((long)(path)) , "q1" ((long)(buf)) , "q2" ((long)(bufsiz)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5075 #define __NR___syscall_pread __NR_pread64
5076 static __inline __attribute__ ((__always_inline__)) ssize_t __syscall_pread(
5077 int fd, void * buf, size_t count, off_t offset_hi, off_t offset_lo) { return (ssize_t)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (351) , "q0" ((long)(fd)) , "q1" ((long)(buf)) , "q2" ((long)(count)) , "q3" ((long)(offset_hi)) , "q4" ((long)(offset_lo)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) ); }
5079 static __inline __attribute__ ((__always_inline__)) ssize_t
5080 _dl_pread(int fd, void *buf, size_t count, off_t offset)
5082 return __syscall_pread(fd, buf, count, offset, offset >> 31);
5084 # 150 "./ldso/include/dl-syscall.h"
5085 #define MMAP2_PAGE_SHIFT 12
5088 #define MAP_FAILED ((void *) -1)
5089 #define _dl_mmap_check_error(X) (((void *)X) == MAP_FAILED)
5091 static __inline __attribute__ ((__always_inline__))
5092 void *_dl_mmap(void *addr, unsigned long size, int prot,
5093 int flags, int fd, unsigned long offset)
5101 unsigned long shifted;
5103 if (offset & ((1 << 12) - 1))
5104 return ((void *) -1);
5107 shifted = offset >> 12;
5108 return (void *)(__extension__ ({ do { } while (0); (__extension__ ({ long __res = (__extension__ ({ long __res; __asm__ __volatile__ ( "excpt 0;\n\t" : "=q0" (__res) : "qA" (192) , "q0" ((long)(addr)) , "q1" ((long)(size)) , "q2" ((long)(prot)) , "q3" ((long)(flags)) , "q4" ((long)(fd)) , "q5" ((long)(shifted)) : "memory","CC"); __res; }) ); if (__builtin_expect((!!(((unsigned long)__res >= (unsigned long)(-4095)))),0)) { {(_dl_errno) = ((-(__res)));}; __res = -1L; } __res; }) ); }) );
5109 # 188 "./ldso/include/dl-syscall.h"
5111 # 44 "./ldso/include/ldso.h" 2
5112 # 1 "./ldso/include/dl-string.h" 1
5113 # 9 "./ldso/include/dl-string.h"
5114 #define _LINUX_STRING_H_
5116 # 1 "./ldso/ldso/bfin/dl-sysdep.h" 1
5117 # 17 "./ldso/ldso/bfin/dl-sysdep.h"
5118 #undef ELF_USES_RELOCA
5121 #define ELF_MACHINE_PLTREL_OVERLAP
5123 #define DL_NO_COPY_RELOCS
5126 #define MAGIC1 EM_BLACKFIN
5130 #define ELF_TARGET "BFIN"
5133 #define ARCH_NEEDS_BOOTSTRAP_RELOCS
5135 extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
5137 #undef SEND_EARLY_STDERR
5138 #define SEND_EARLY_STDERR(S) do { static const char __attribute__((section(".text"))) __s[] = (S); const char *__p, *__scratch; __asm__ ("call 1f;\n1:\n\t" "%1 = RETS;\n\t" "%0 = [%3 + 1b@GOT17M4];\n\t" "%1 = %1 - %0;\n\t" "%1 = %1 + %2;\n\t" : "=&d" (__scratch), "=&d" (__p) : "d" (__s), "a" (dl_boot_got_pointer) : "RETS"); SEND_STDERR (__p); { int __t; for (__t = 0; __t < 0x1000000; __t++) __asm__ __volatile__ (""); } } while (0)
5139 # 60 "./ldso/ldso/bfin/dl-sysdep.h"
5140 #define DL_CHECK_LIB_TYPE(epnt,piclib,_dl_progname,libname) do { if (((epnt)->e_flags & EF_BFIN_FDPIC) && ! ((epnt)->e_flags & EF_BFIN_PIC)) (piclib) = 2; else { _dl_internal_error_number = LD_ERROR_NOTDYN; _dl_dprintf(2, "%s: '%s' is not an FDPIC shared library" "\n", (_dl_progname), (libname)); _dl_close(infile); return NULL; } } while (0)
5141 # 77 "./ldso/ldso/bfin/dl-sysdep.h"
5142 #define DL_IS_SPECIAL_SEGMENT(EPNT,PPNT) __dl_is_special_segment(EPNT, PPNT)
5144 #define DL_MAP_SEGMENT(EPNT,PPNT,INFILE,FLAGS) __dl_map_segment (EPNT, PPNT, INFILE, FLAGS)
5147 # 1 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h" 1
5148 # 9 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h"
5149 #define HAVE_DL_INLINES_H
5156 #define INIT_GOT(GOT_BASE,MODULE) { (MODULE)->loadaddr.got_value = (GOT_BASE); GOT_BASE[0] = ((unsigned long *)&_dl_linux_resolve)[0]; GOT_BASE[1] = ((unsigned long *)&_dl_linux_resolve)[1]; GOT_BASE[2] = (unsigned long) MODULE; }
5166 struct funcdesc_value
5170 } __attribute__((__aligned__(8)));
5174 #define DL_LOADADDR_TYPE struct elf32_fdpic_loadaddr
5176 #define DL_RELOC_ADDR(LOADADDR,ADDR) ((ElfW(Addr))__reloc_pointer ((void*)(ADDR), (LOADADDR).map))
5179 #define DL_ADDR_TO_FUNC_PTR(ADDR,LOADADDR) ((void(*)(void)) _dl_funcdesc_for ((void*)(ADDR), (LOADADDR).got_value))
5182 #define _dl_stabilize_funcdesc(val) ({ __asm__ ("" : "+m" (*(val))); (val); })
5185 #define DL_CALL_FUNC_AT_ADDR(ADDR,LOADADDR,SIGNATURE,...) ({ struct funcdesc_value fd = { (void*)(ADDR), (LOADADDR).got_value }; void (*pf)(void) = (void*) _dl_stabilize_funcdesc (&fd); (* SIGNATURE pf)(__VA_ARGS__); })
5190 #define DL_INIT_LOADADDR_BOOT(LOADADDR,BASEADDR) (__dl_init_loadaddr_map (&(LOADADDR), dl_boot_got_pointer, dl_boot_ldsomap ?: dl_boot_progmap))
5194 #define DL_INIT_LOADADDR_PROG(LOADADDR,BASEADDR) (__dl_init_loadaddr_map (&(LOADADDR), 0, dl_boot_progmap))
5197 #define DL_INIT_LOADADDR_EXTRA_DECLS int dl_init_loadaddr_load_count;
5199 #define DL_INIT_LOADADDR(LOADADDR,BASEADDR,PHDR,PHDRCNT) (dl_init_loadaddr_load_count = __dl_init_loadaddr (&(LOADADDR), (PHDR), (PHDRCNT)))
5202 #define DL_INIT_LOADADDR_HDR(LOADADDR,ADDR,PHDR) (__dl_init_loadaddr_hdr ((LOADADDR), (ADDR), (PHDR), dl_init_loadaddr_load_count))
5205 #define DL_UPDATE_LOADADDR_HDR(LOADADDR,ADDR,PHDR) (__dl_update_loadaddr_hdr ((LOADADDR), (ADDR), (PHDR)))
5207 #define DL_LOADADDR_UNMAP(LOADADDR,LEN) (__dl_loadaddr_unmap ((LOADADDR), (NULL)))
5209 #define DL_LIB_UNMAP(LIB,LEN) (__dl_loadaddr_unmap ((LIB)->loadaddr, (LIB)->funcdesc_ht))
5211 #define DL_LOADADDR_BASE(LOADADDR) ((LOADADDR).got_value)
5217 #define DL_LOOKUP_ADDRESS(ADDRESS) (_dl_lookup_address (ADDRESS))
5219 #define DL_ADDR_IN_LOADADDR(ADDR,TPNT,TFROM) (! (TFROM) && __dl_addr_in_loadaddr ((void*)(ADDR), (TPNT)->loadaddr))
5220 # 88 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h"
5221 #define DL_BOOT_COMPUTE_GOT(got) ((got) = dl_boot_got_pointer)
5223 #define DL_BOOT_COMPUTE_DYN(dpnt,got,load_addr) ((dpnt) = dl_boot_ldso_dyn_pointer)
5230 #define DL_SKIP_BOOTSTRAP_RELOC(SYMTAB,INDEX,STRTAB) 0
5233 #define _DL_PREAD(FD,BUF,SIZE,OFFSET) (_dl_pread((FD), (BUF), (SIZE), (OFFSET)))
5239 #define DL_FIND_HASH_VALUE(TPNT,TYPE_CLASS,SYM) (((TYPE_CLASS) & ELF_RTYPE_CLASS_DLSYM) && ELF32_ST_TYPE((SYM)->st_info) == STT_FUNC ? _dl_funcdesc_for ((void *)DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value), (TPNT)->loadaddr.got_value) : DL_RELOC_ADDR ((TPNT)->loadaddr, (SYM)->st_value))
5246 #define DL_GET_READY_TO_RUN_EXTRA_PARMS , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer
5248 #define DL_GET_READY_TO_RUN_EXTRA_ARGS , dl_boot_progmap, dl_boot_got_pointer
5252 #define DL_DEF_LIB_OFFSET
5255 #define DL_GET_LIB_OFFSET() 0
5258 #define DL_SET_LIB_OFFSET(offset)
5261 #define DL_GET_RUN_ADDR(loadaddr,mapaddr) (loadaddr)
5264 # 1 "./include/link.h" 1
5265 # 22 "./include/link.h"
5269 # 1 "./include/elf.h" 1
5270 # 21 "./include/elf.h"
5272 # 30 "./include/elf.h"
5273 # 1 "./include/stdint.h" 1
5274 # 24 "./include/stdint.h"
5281 # 1 "./include/bits/wordsize.h" 1
5282 # 19 "./include/bits/wordsize.h"
5283 #define __WORDSIZE 32
5284 # 31 "./include/stdint.h" 2
5285 # 51 "./include/stdint.h"
5286 typedef unsigned char uint8_t;
5287 typedef unsigned short int uint16_t;
5289 typedef unsigned int uint32_t;
5290 #define __uint32_t_defined
5296 typedef unsigned long long int uint64_t;
5303 typedef signed char int_least8_t;
5304 typedef short int int_least16_t;
5305 typedef int int_least32_t;
5310 typedef long long int int_least64_t;
5314 typedef unsigned char uint_least8_t;
5315 typedef unsigned short int uint_least16_t;
5316 typedef unsigned int uint_least32_t;
5321 typedef unsigned long long int uint_least64_t;
5328 typedef signed char int_fast8_t;
5334 typedef int int_fast16_t;
5335 typedef int int_fast32_t;
5337 typedef long long int int_fast64_t;
5341 typedef unsigned char uint_fast8_t;
5347 typedef unsigned int uint_fast16_t;
5348 typedef unsigned int uint_fast32_t;
5350 typedef unsigned long long int uint_fast64_t;
5351 # 128 "./include/stdint.h"
5352 typedef int intptr_t;
5353 #define __intptr_t_defined
5355 typedef unsigned int uintptr_t;
5356 # 140 "./include/stdint.h"
5358 typedef long long int intmax_t;
5360 typedef unsigned long long int uintmax_t;
5361 # 155 "./include/stdint.h"
5362 #define __INT64_C(c) c ## LL
5363 #define __UINT64_C(c) c ## ULL
5369 #define INT8_MIN (-128)
5370 #define INT16_MIN (-32767-1)
5371 #define INT32_MIN (-2147483647-1)
5372 #define INT64_MIN (-__INT64_C(9223372036854775807)-1)
5374 #define INT8_MAX (127)
5375 #define INT16_MAX (32767)
5376 #define INT32_MAX (2147483647)
5377 #define INT64_MAX (__INT64_C(9223372036854775807))
5380 #define UINT8_MAX (255)
5381 #define UINT16_MAX (65535)
5382 #define UINT32_MAX (4294967295U)
5383 #define UINT64_MAX (__UINT64_C(18446744073709551615))
5387 #define INT_LEAST8_MIN (-128)
5388 #define INT_LEAST16_MIN (-32767-1)
5389 #define INT_LEAST32_MIN (-2147483647-1)
5390 #define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)
5392 #define INT_LEAST8_MAX (127)
5393 #define INT_LEAST16_MAX (32767)
5394 #define INT_LEAST32_MAX (2147483647)
5395 #define INT_LEAST64_MAX (__INT64_C(9223372036854775807))
5398 #define UINT_LEAST8_MAX (255)
5399 #define UINT_LEAST16_MAX (65535)
5400 #define UINT_LEAST32_MAX (4294967295U)
5401 #define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))
5405 #define INT_FAST8_MIN (-128)
5410 #define INT_FAST16_MIN (-2147483647-1)
5411 #define INT_FAST32_MIN (-2147483647-1)
5413 #define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
5415 #define INT_FAST8_MAX (127)
5420 #define INT_FAST16_MAX (2147483647)
5421 #define INT_FAST32_MAX (2147483647)
5423 #define INT_FAST64_MAX (__INT64_C(9223372036854775807))
5426 #define UINT_FAST8_MAX (255)
5431 #define UINT_FAST16_MAX (4294967295U)
5432 #define UINT_FAST32_MAX (4294967295U)
5434 #define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
5435 # 236 "./include/stdint.h"
5436 #define INTPTR_MIN (-2147483647-1)
5437 #define INTPTR_MAX (2147483647)
5438 #define UINTPTR_MAX (4294967295U)
5444 #define INTMAX_MIN (-__INT64_C(9223372036854775807)-1)
5446 #define INTMAX_MAX (__INT64_C(9223372036854775807))
5449 #define UINTMAX_MAX (__UINT64_C(18446744073709551615))
5450 # 267 "./include/stdint.h"
5451 #define PTRDIFF_MIN (-2147483647-1)
5452 #define PTRDIFF_MAX (2147483647)
5456 #define SIG_ATOMIC_MIN (-2147483647-1)
5457 #define SIG_ATOMIC_MAX (2147483647)
5463 #define SIZE_MAX (4294967295U)
5464 # 303 "./include/stdint.h"
5466 #define INT16_C(c) c
5467 #define INT32_C(c) c
5471 #define INT64_C(c) c ## LL
5475 #define UINT8_C(c) c
5476 #define UINT16_C(c) c
5477 #define UINT32_C(c) c ## U
5481 #define UINT64_C(c) c ## ULL
5489 #define INTMAX_C(c) c ## LL
5490 #define UINTMAX_C(c) c ## ULL
5491 # 31 "./include/elf.h" 2
5495 typedef uint16_t Elf32_Half;
5496 typedef uint16_t Elf64_Half;
5499 typedef uint32_t Elf32_Word;
5500 typedef int32_t Elf32_Sword;
5501 typedef uint32_t Elf64_Word;
5502 typedef int32_t Elf64_Sword;
5505 typedef uint64_t Elf32_Xword;
5506 typedef int64_t Elf32_Sxword;
5507 typedef uint64_t Elf64_Xword;
5508 typedef int64_t Elf64_Sxword;
5511 typedef uint32_t Elf32_Addr;
5512 typedef uint64_t Elf64_Addr;
5515 typedef uint32_t Elf32_Off;
5516 typedef uint64_t Elf64_Off;
5519 typedef uint16_t Elf32_Section;
5520 typedef uint16_t Elf64_Section;
5523 typedef Elf32_Half Elf32_Versym;
5524 typedef Elf64_Half Elf64_Versym;
5529 #define EI_NIDENT (16)
5533 unsigned char e_ident[(16)];
5535 Elf32_Half e_machine;
5536 Elf32_Word e_version;
5541 Elf32_Half e_ehsize;
5542 Elf32_Half e_phentsize;
5544 Elf32_Half e_shentsize;
5546 Elf32_Half e_shstrndx;
5551 unsigned char e_ident[(16)];
5553 Elf64_Half e_machine;
5554 Elf64_Word e_version;
5559 Elf64_Half e_ehsize;
5560 Elf64_Half e_phentsize;
5562 Elf64_Half e_shentsize;
5564 Elf64_Half e_shstrndx;
5572 #define ELFMAG0 0x7f
5584 #define ELFMAG "\177ELF"
5587 #define ELFMAG_U32 ((uint32_t)(ELFMAG0 + 0x100 * (ELFMAG1 + (0x100 * (ELFMAG2 + 0x100 * ELFMAG3)))))
5593 #define ELFCLASSNONE 0
5594 #define ELFCLASS32 1
5595 #define ELFCLASS64 2
5596 #define ELFCLASSNUM 3
5599 #define ELFDATANONE 0
5600 #define ELFDATA2LSB 1
5601 #define ELFDATA2MSB 2
5602 #define ELFDATANUM 3
5604 #define EI_VERSION 6
5608 #define ELFOSABI_NONE 0
5609 #define ELFOSABI_SYSV 0
5610 #define ELFOSABI_HPUX 1
5611 #define ELFOSABI_NETBSD 2
5612 #define ELFOSABI_LINUX 3
5613 #define ELFOSABI_HURD 4
5614 #define ELFOSABI_SOLARIS 6
5615 #define ELFOSABI_AIX 7
5616 #define ELFOSABI_IRIX 8
5617 #define ELFOSABI_FREEBSD 9
5618 #define ELFOSABI_TRU64 10
5619 #define ELFOSABI_MODESTO 11
5620 #define ELFOSABI_OPENBSD 12
5621 #define ELFOSABI_OPENVMS 13
5622 #define ELFOSABI_NSK 14
5623 #define ELFOSABI_AROS 15
5624 #define ELFOSABI_ARM 97
5625 #define ELFOSABI_STANDALONE 255
5627 #define EI_ABIVERSION 8
5639 #define ET_LOOS 0xfe00
5640 #define ET_HIOS 0xfeff
5641 #define ET_LOPROC 0xff00
5642 #define ET_HIPROC 0xffff
5656 #define EM_MIPS_RS3_LE 10
5658 #define EM_PARISC 15
5659 #define EM_VPP500 17
5660 #define EM_SPARC32PLUS 18
5672 #define EM_FAKE_ALPHA 41
5674 #define EM_SPARCV9 43
5675 #define EM_TRICORE 44
5677 #define EM_H8_300 46
5678 #define EM_H8_300H 47
5680 #define EM_H8_500 49
5682 #define EM_MIPS_X 51
5683 #define EM_COLDFIRE 52
5684 #define EM_68HC12 53
5689 #define EM_STARCORE 58
5693 #define EM_X86_64 62
5697 #define EM_ST9PLUS 67
5699 #define EM_68HC16 69
5700 #define EM_68HC11 70
5701 #define EM_68HC08 71
5702 #define EM_68HC05 72
5707 #define EM_JAVELIN 77
5708 #define EM_FIREPATH 78
5719 #define EM_MN10300 89
5720 #define EM_MN10200 90
5722 #define EM_OPENRISC 92
5723 #define EM_ARC_A5 93
5724 #define EM_XTENSA 94
5727 #define EM_MSP430 105
5728 #define EM_BLACKFIN 106
5729 #define EM_ALTERA_NIOS2 113
5732 #define EM_TI_C6000 140
5733 # 286 "./include/elf.h"
5734 #define EM_PJ_OLD 99
5737 #define EM_CYGNUS_POWERPC 0x9025
5741 #define EM_OLD_SPARCV9 11
5744 #define EM_PPC_OLD 17
5747 #define EM_OR32 0x8472
5750 #define EM_M32C 0xFEB0
5753 #define EM_CYGNUS_M32R 0x9041
5756 #define EM_S390_OLD 0xa390
5759 #define EM_CYGNUS_D10V 0x7650
5762 #define EM_CYGNUS_D30V 0x7676
5765 #define EM_CYGNUS_V850 0x9080
5769 #define EM_CYGNUS_MN10200 0xdead
5770 #define EM_CYGNUS_MN10300 0xbeef
5773 #define EM_CYGNUS_FR30 0x3330
5777 #define EM_AVR_OLD 0x1057
5781 #define EM_OPENRISC_OLD 0x3426
5785 #define EM_DLX 0x5aa5
5787 #define EM_XSTORMY16 0xad45
5790 #define EM_CYGNUS_FRV 0x5441
5793 #define EM_IP2K_OLD 0x8217
5795 #define EM_MT 0x2530
5799 #define EM_MSP430_OLD 0x1059
5802 #define EM_IQ2000 0xFEBA
5805 #define EM_XTENSA_OLD 0xabc7
5808 #define EM_ALPHA 0x9026
5811 #define EM_NIOS32 0xFEBB
5814 #define EM_AVR32 0x18ad
5817 #define EM_CYGNUS_V850 0x9080
5822 #define EM_MICROBLAZE_OLD 0xbaab
5825 #define EM_MICROBLAZE 189
5830 #define EV_CURRENT 1
5839 Elf32_Word sh_flags;
5841 Elf32_Off sh_offset;
5845 Elf32_Word sh_addralign;
5846 Elf32_Word sh_entsize;
5853 Elf64_Xword sh_flags;
5855 Elf64_Off sh_offset;
5856 Elf64_Xword sh_size;
5859 Elf64_Xword sh_addralign;
5860 Elf64_Xword sh_entsize;
5866 #define SHN_LORESERVE 0xff00
5867 #define SHN_LOPROC 0xff00
5868 #define SHN_BEFORE 0xff00
5870 #define SHN_AFTER 0xff01
5872 #define SHN_HIPROC 0xff1f
5873 #define SHN_LOOS 0xff20
5874 #define SHN_HIOS 0xff3f
5875 #define SHN_ABS 0xfff1
5876 #define SHN_COMMON 0xfff2
5877 #define SHN_XINDEX 0xffff
5878 #define SHN_HIRESERVE 0xffff
5883 #define SHT_PROGBITS 1
5884 #define SHT_SYMTAB 2
5885 #define SHT_STRTAB 3
5888 #define SHT_DYNAMIC 6
5890 #define SHT_NOBITS 8
5892 #define SHT_SHLIB 10
5893 #define SHT_DYNSYM 11
5894 #define SHT_INIT_ARRAY 14
5895 #define SHT_FINI_ARRAY 15
5896 #define SHT_PREINIT_ARRAY 16
5897 #define SHT_GROUP 17
5898 #define SHT_SYMTAB_SHNDX 18
5900 #define SHT_LOOS 0x60000000
5901 #define SHT_GNU_HASH 0x6ffffff6
5902 #define SHT_GNU_LIBLIST 0x6ffffff7
5903 #define SHT_CHECKSUM 0x6ffffff8
5904 #define SHT_LOSUNW 0x6ffffffa
5905 #define SHT_SUNW_move 0x6ffffffa
5906 #define SHT_SUNW_COMDAT 0x6ffffffb
5907 #define SHT_SUNW_syminfo 0x6ffffffc
5908 #define SHT_GNU_verdef 0x6ffffffd
5909 #define SHT_GNU_verneed 0x6ffffffe
5910 #define SHT_GNU_versym 0x6fffffff
5911 #define SHT_HISUNW 0x6fffffff
5912 #define SHT_HIOS 0x6fffffff
5913 #define SHT_LOPROC 0x70000000
5914 #define SHT_HIPROC 0x7fffffff
5915 #define SHT_LOUSER 0x80000000
5916 #define SHT_HIUSER 0x8fffffff
5920 #define SHF_WRITE (1 << 0)
5921 #define SHF_ALLOC (1 << 1)
5922 #define SHF_EXECINSTR (1 << 2)
5923 #define SHF_MERGE (1 << 4)
5924 #define SHF_STRINGS (1 << 5)
5925 #define SHF_INFO_LINK (1 << 6)
5926 #define SHF_LINK_ORDER (1 << 7)
5927 #define SHF_OS_NONCONFORMING (1 << 8)
5929 #define SHF_GROUP (1 << 9)
5930 #define SHF_TLS (1 << 10)
5931 #define SHF_MASKOS 0x0ff00000
5932 #define SHF_MASKPROC 0xf0000000
5933 #define SHF_ORDERED (1 << 30)
5935 #define SHF_EXCLUDE (1 << 31)
5939 #define GRP_COMDAT 0x1
5946 Elf32_Addr st_value;
5948 unsigned char st_info;
5949 unsigned char st_other;
5950 Elf32_Section st_shndx;
5956 unsigned char st_info;
5957 unsigned char st_other;
5958 Elf64_Section st_shndx;
5959 Elf64_Addr st_value;
5960 Elf64_Xword st_size;
5968 Elf32_Half si_boundto;
5969 Elf32_Half si_flags;
5974 Elf64_Half si_boundto;
5975 Elf64_Half si_flags;
5979 #define SYMINFO_BT_SELF 0xffff
5980 #define SYMINFO_BT_PARENT 0xfffe
5981 #define SYMINFO_BT_LOWRESERVE 0xff00
5984 #define SYMINFO_FLG_DIRECT 0x0001
5985 #define SYMINFO_FLG_PASSTHRU 0x0002
5986 #define SYMINFO_FLG_COPY 0x0004
5987 #define SYMINFO_FLG_LAZYLOAD 0x0008
5990 #define SYMINFO_NONE 0
5991 #define SYMINFO_CURRENT 1
5992 #define SYMINFO_NUM 2
5997 #define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
5998 #define ELF32_ST_TYPE(val) ((val) & 0xf)
5999 #define ELF32_ST_INFO(bind,type) (((bind) << 4) + ((type) & 0xf))
6002 #define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
6003 #define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
6004 #define ELF64_ST_INFO(bind,type) ELF32_ST_INFO ((bind), (type))
6009 #define STB_GLOBAL 1
6014 #define STB_LOPROC 13
6015 #define STB_HIPROC 15
6019 #define STT_NOTYPE 0
6020 #define STT_OBJECT 1
6022 #define STT_SECTION 3
6024 #define STT_COMMON 5
6029 #define STT_LOPROC 13
6030 #define STT_HIPROC 15
6042 #define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
6045 #define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
6048 #define STV_DEFAULT 0
6049 #define STV_INTERNAL 1
6050 #define STV_HIDDEN 2
6051 #define STV_PROTECTED 3
6058 Elf32_Addr r_offset;
6069 Elf64_Addr r_offset;
6077 Elf32_Addr r_offset;
6079 Elf32_Sword r_addend;
6084 Elf64_Addr r_offset;
6086 Elf64_Sxword r_addend;
6091 #define ELF32_R_SYM(val) ((val) >> 8)
6092 #define ELF32_R_TYPE(val) ((val) & 0xff)
6093 #define ELF32_R_INFO(sym,type) (((sym) << 8) + ((type) & 0xff))
6095 #define ELF64_R_SYM(i) ((i) >> 32)
6096 #define ELF64_R_TYPE(i) ((i) & 0xffffffff)
6097 #define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
6107 Elf32_Word p_filesz;
6120 Elf64_Xword p_filesz;
6121 Elf64_Xword p_memsz;
6122 Elf64_Xword p_align;
6129 #define PT_DYNAMIC 2
6136 #define PT_LOOS 0x60000000
6137 #define PT_GNU_EH_FRAME 0x6474e550
6138 #define PT_GNU_STACK 0x6474e551
6139 #define PT_GNU_RELRO 0x6474e552
6140 #define PT_PAX_FLAGS 0x65041580
6141 #define PT_LOSUNW 0x6ffffffa
6142 #define PT_SUNWBSS 0x6ffffffa
6143 #define PT_SUNWSTACK 0x6ffffffb
6144 #define PT_HISUNW 0x6fffffff
6145 #define PT_HIOS 0x6fffffff
6146 #define PT_LOPROC 0x70000000
6147 #define PT_HIPROC 0x7fffffff
6151 #define PF_X (1 << 0)
6152 #define PF_W (1 << 1)
6153 #define PF_R (1 << 2)
6154 #define PF_PAGEEXEC (1 << 4)
6155 #define PF_NOPAGEEXEC (1 << 5)
6156 #define PF_SEGMEXEC (1 << 6)
6157 #define PF_NOSEGMEXEC (1 << 7)
6158 #define PF_MPROTECT (1 << 8)
6159 #define PF_NOMPROTECT (1 << 9)
6160 #define PF_RANDEXEC (1 << 10)
6161 #define PF_NORANDEXEC (1 << 11)
6162 #define PF_EMUTRAMP (1 << 12)
6163 #define PF_NOEMUTRAMP (1 << 13)
6164 #define PF_RANDMMAP (1 << 14)
6165 #define PF_NORANDMMAP (1 << 15)
6166 #define PF_MASKOS 0x0ff00000
6167 #define PF_MASKPROC 0xf0000000
6171 #define NT_PRSTATUS 1
6172 #define NT_FPREGSET 2
6173 #define NT_PRPSINFO 3
6175 #define NT_TASKSTRUCT 4
6176 #define NT_PLATFORM 5
6178 #define NT_GWINDOWS 7
6180 #define NT_PSTATUS 10
6181 #define NT_PSINFO 13
6182 #define NT_PRCRED 14
6183 #define NT_UTSNAME 15
6184 #define NT_LWPSTATUS 16
6185 #define NT_LWPSINFO 17
6186 #define NT_PRFPXREG 20
6190 #define NT_VERSION 1
6219 #define DT_PLTRELSZ 2
6226 #define DT_RELAENT 9
6228 #define DT_SYMENT 11
6231 #define DT_SONAME 14
6233 #define DT_SYMBOLIC 16
6236 #define DT_RELENT 19
6237 #define DT_PLTREL 20
6239 #define DT_TEXTREL 22
6240 #define DT_JMPREL 23
6241 #define DT_BIND_NOW 24
6242 #define DT_INIT_ARRAY 25
6243 #define DT_FINI_ARRAY 26
6244 #define DT_INIT_ARRAYSZ 27
6245 #define DT_FINI_ARRAYSZ 28
6246 #define DT_RUNPATH 29
6248 #define DT_ENCODING 32
6249 #define DT_PREINIT_ARRAY 32
6250 #define DT_PREINIT_ARRAYSZ 33
6252 #define DT_LOOS 0x6000000d
6253 #define DT_HIOS 0x6ffff000
6254 #define DT_LOPROC 0x70000000
6255 #define DT_HIPROC 0x7fffffff
6256 #define DT_PROCNUM DT_MIPS_NUM
6261 #define DT_VALRNGLO 0x6ffffd00
6262 #define DT_GNU_PRELINKED 0x6ffffdf5
6263 #define DT_GNU_CONFLICTSZ 0x6ffffdf6
6264 #define DT_GNU_LIBLISTSZ 0x6ffffdf7
6265 #define DT_CHECKSUM 0x6ffffdf8
6266 #define DT_PLTPADSZ 0x6ffffdf9
6267 #define DT_MOVEENT 0x6ffffdfa
6268 #define DT_MOVESZ 0x6ffffdfb
6269 #define DT_FEATURE_1 0x6ffffdfc
6270 #define DT_POSFLAG_1 0x6ffffdfd
6272 #define DT_SYMINSZ 0x6ffffdfe
6273 #define DT_SYMINENT 0x6ffffdff
6274 #define DT_VALRNGHI 0x6ffffdff
6275 #define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag))
6276 #define DT_VALNUM 12
6283 #define DT_ADDRRNGLO 0x6ffffe00
6284 #define DT_GNU_HASH 0x6ffffef5
6285 #define DT_GNU_CONFLICT 0x6ffffef8
6286 #define DT_GNU_LIBLIST 0x6ffffef9
6287 #define DT_CONFIG 0x6ffffefa
6288 #define DT_DEPAUDIT 0x6ffffefb
6289 #define DT_AUDIT 0x6ffffefc
6290 #define DT_PLTPAD 0x6ffffefd
6291 #define DT_MOVETAB 0x6ffffefe
6292 #define DT_SYMINFO 0x6ffffeff
6293 #define DT_ADDRRNGHI 0x6ffffeff
6294 #define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag))
6295 #define DT_ADDRNUM 10
6299 #define DT_VERSYM 0x6ffffff0
6301 #define DT_RELACOUNT 0x6ffffff9
6302 #define DT_RELCOUNT 0x6ffffffa
6305 #define DT_FLAGS_1 0x6ffffffb
6306 #define DT_VERDEF 0x6ffffffc
6308 #define DT_VERDEFNUM 0x6ffffffd
6309 #define DT_VERNEED 0x6ffffffe
6311 #define DT_VERNEEDNUM 0x6fffffff
6312 #define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag))
6313 #define DT_VERSIONTAGNUM 16
6317 #define DT_AUXILIARY 0x7ffffffd
6318 #define DT_FILTER 0x7fffffff
6319 #define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
6320 #define DT_EXTRANUM 3
6323 #define DF_ORIGIN 0x00000001
6324 #define DF_SYMBOLIC 0x00000002
6325 #define DF_TEXTREL 0x00000004
6326 #define DF_BIND_NOW 0x00000008
6327 #define DF_STATIC_TLS 0x00000010
6331 #define DF_1_NOW 0x00000001
6332 #define DF_1_GLOBAL 0x00000002
6333 #define DF_1_GROUP 0x00000004
6334 #define DF_1_NODELETE 0x00000008
6335 #define DF_1_LOADFLTR 0x00000010
6336 #define DF_1_INITFIRST 0x00000020
6337 #define DF_1_NOOPEN 0x00000040
6338 #define DF_1_ORIGIN 0x00000080
6339 #define DF_1_DIRECT 0x00000100
6340 #define DF_1_TRANS 0x00000200
6341 #define DF_1_INTERPOSE 0x00000400
6342 #define DF_1_NODEFLIB 0x00000800
6343 #define DF_1_NODUMP 0x00001000
6344 #define DF_1_CONFALT 0x00002000
6345 #define DF_1_ENDFILTEE 0x00004000
6346 #define DF_1_DISPRELDNE 0x00008000
6347 #define DF_1_DISPRELPND 0x00010000
6350 #define DTF_1_PARINIT 0x00000001
6351 #define DTF_1_CONFEXP 0x00000002
6354 #define DF_P1_LAZYLOAD 0x00000001
6355 #define DF_P1_GROUPPERM 0x00000002
6362 Elf32_Half vd_version;
6363 Elf32_Half vd_flags;
6374 Elf64_Half vd_version;
6375 Elf64_Half vd_flags;
6386 #define VER_DEF_NONE 0
6387 #define VER_DEF_CURRENT 1
6388 #define VER_DEF_NUM 2
6391 #define VER_FLG_BASE 0x1
6392 #define VER_FLG_WEAK 0x2
6395 #define VER_NDX_LOCAL 0
6396 #define VER_NDX_GLOBAL 1
6397 #define VER_NDX_LORESERVE 0xff00
6398 #define VER_NDX_ELIMINATE 0xff01
6404 Elf32_Word vda_name;
6405 Elf32_Word vda_next;
6411 Elf64_Word vda_name;
6412 Elf64_Word vda_next;
6421 Elf32_Half vn_version;
6432 Elf64_Half vn_version;
6443 #define VER_NEED_NONE 0
6444 #define VER_NEED_CURRENT 1
6445 #define VER_NEED_NUM 2
6451 Elf32_Word vna_hash;
6452 Elf32_Half vna_flags;
6453 Elf32_Half vna_other;
6454 Elf32_Word vna_name;
6455 Elf32_Word vna_next;
6461 Elf64_Word vna_hash;
6462 Elf64_Half vna_flags;
6463 Elf64_Half vna_other;
6464 Elf64_Word vna_name;
6465 Elf64_Word vna_next;
6471 #define VER_FLG_WEAK 0x2
6472 # 1035 "./include/elf.h"
6509 #define AT_NOTELF 10
6514 #define AT_CLKTCK 17
6517 #define AT_PLATFORM 15
6526 #define AT_DCACHEBSIZE 19
6527 #define AT_ICACHEBSIZE 20
6528 #define AT_UCACHEBSIZE 21
6532 #define AT_IGNOREPPC 22
6534 #define AT_SECURE 23
6538 #define AT_SYSINFO 32
6539 #define AT_SYSINFO_EHDR 33
6543 #define AT_L1I_CACHESHAPE 34
6544 #define AT_L1D_CACHESHAPE 35
6545 #define AT_L2_CACHESHAPE 36
6546 #define AT_L3_CACHESHAPE 37
6553 Elf32_Word n_namesz;
6554 Elf32_Word n_descsz;
6560 Elf64_Word n_namesz;
6561 Elf64_Word n_descsz;
6568 #define ELF_NOTE_SOLARIS "SUNW Solaris"
6571 #define ELF_NOTE_GNU "GNU"
6577 #define ELF_NOTE_PAGESIZE_HINT 1
6578 # 1150 "./include/elf.h"
6579 #define ELF_NOTE_ABI 1
6583 #define ELF_NOTE_OS_LINUX 0
6584 #define ELF_NOTE_OS_GNU 1
6585 #define ELF_NOTE_OS_SOLARIS2 2
6586 #define ELF_NOTE_OS_FREEBSD 3
6592 Elf32_Xword m_value;
6594 Elf32_Word m_poffset;
6595 Elf32_Half m_repeat;
6596 Elf32_Half m_stride;
6601 Elf64_Xword m_value;
6603 Elf64_Xword m_poffset;
6604 Elf64_Half m_repeat;
6605 Elf64_Half m_stride;
6609 #define ELF32_M_SYM(info) ((info) >> 8)
6610 #define ELF32_M_SIZE(info) ((unsigned char) (info))
6611 #define ELF32_M_INFO(sym,size) (((sym) << 8) + (unsigned char) (size))
6613 #define ELF64_M_SYM(info) ELF32_M_SYM (info)
6614 #define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
6615 #define ELF64_M_INFO(sym,size) ELF32_M_INFO (sym, size)
6621 #define EF_CPU32 0x00810000
6625 #define R_68K_NONE 0
6629 #define R_68K_PC32 4
6630 #define R_68K_PC16 5
6632 #define R_68K_GOT32 7
6633 #define R_68K_GOT16 8
6634 #define R_68K_GOT8 9
6635 #define R_68K_GOT32O 10
6636 #define R_68K_GOT16O 11
6637 #define R_68K_GOT8O 12
6638 #define R_68K_PLT32 13
6639 #define R_68K_PLT16 14
6640 #define R_68K_PLT8 15
6641 #define R_68K_PLT32O 16
6642 #define R_68K_PLT16O 17
6643 #define R_68K_PLT8O 18
6644 #define R_68K_COPY 19
6645 #define R_68K_GLOB_DAT 20
6646 #define R_68K_JMP_SLOT 21
6647 #define R_68K_RELATIVE 22
6649 #define R_68K_NUM 23
6655 #define R_386_NONE 0
6657 #define R_386_PC32 2
6658 #define R_386_GOT32 3
6659 #define R_386_PLT32 4
6660 #define R_386_COPY 5
6661 #define R_386_GLOB_DAT 6
6662 #define R_386_JMP_SLOT 7
6663 #define R_386_RELATIVE 8
6664 #define R_386_GOTOFF 9
6665 #define R_386_GOTPC 10
6666 #define R_386_32PLT 11
6667 #define R_386_TLS_TPOFF 14
6668 #define R_386_TLS_IE 15
6670 #define R_386_TLS_GOTIE 16
6672 #define R_386_TLS_LE 17
6674 #define R_386_TLS_GD 18
6676 #define R_386_TLS_LDM 19
6680 #define R_386_PC16 21
6682 #define R_386_PC8 23
6683 #define R_386_TLS_GD_32 24
6685 #define R_386_TLS_GD_PUSH 25
6686 #define R_386_TLS_GD_CALL 26
6688 #define R_386_TLS_GD_POP 27
6689 #define R_386_TLS_LDM_32 28
6691 #define R_386_TLS_LDM_PUSH 29
6692 #define R_386_TLS_LDM_CALL 30
6694 #define R_386_TLS_LDM_POP 31
6695 #define R_386_TLS_LDO_32 32
6696 #define R_386_TLS_IE_32 33
6698 #define R_386_TLS_LE_32 34
6700 #define R_386_TLS_DTPMOD32 35
6701 #define R_386_TLS_DTPOFF32 36
6702 #define R_386_TLS_TPOFF32 37
6704 #define R_386_NUM 38
6707 #define R_BFIN_UNUSED0 0x00
6708 #define R_BFIN_PCREL5M2 0x01
6709 #define R_BFIN_UNUSED1 0x02
6710 #define R_BFIN_PCREL10 0x03
6711 #define R_BFIN_PCREL12_JUMP 0x04
6712 #define R_BFIN_RIMM16 0x05
6713 #define R_BFIN_LUIMM16 0x06
6714 #define R_BFIN_HUIMM16 0x07
6715 #define R_BFIN_PCREL12_JUMP_S 0x08
6716 #define R_BFIN_PCREL24_JUMP_X 0x09
6717 #define R_BFIN_PCREL24 0x0a
6718 #define R_BFIN_UNUSEDB 0x0b
6719 #define R_BFIN_UNUSEDC 0x0c
6720 #define R_BFIN_PCREL24_JUMP_L 0x0d
6721 #define R_BFIN_PCREL24_CALL_X 0x0e
6722 #define R_BFIN_var_eq_symb 0x0f
6723 #define R_BFIN_BYTE_DATA 0x10
6724 #define R_BFIN_BYTE2_DATA 0x11
6725 #define R_BFIN_BYTE4_DATA 0x12
6726 #define R_BFIN_PCREL11 0x13
6728 #define R_BFIN_GOT17M4 0x14
6729 #define R_BFIN_GOTHI 0x15
6730 #define R_BFIN_GOTLO 0x16
6731 #define R_BFIN_FUNCDESC 0x17
6732 #define R_BFIN_FUNCDESC_GOT17M4 0x18
6733 #define R_BFIN_FUNCDESC_GOTHI 0x19
6734 #define R_BFIN_FUNCDESC_GOTLO 0x1a
6735 #define R_BFIN_FUNCDESC_VALUE 0x1b
6736 #define R_BFIN_FUNCDESC_GOTOFF17M4 0x1c
6737 #define R_BFIN_FUNCDESC_GOTOFFHI 0x1d
6738 #define R_BFIN_FUNCDESC_GOTOFFLO 0x1e
6739 #define R_BFIN_GOTOFF17M4 0x1f
6740 #define R_BFIN_GOTOFFHI 0x20
6741 #define R_BFIN_GOTOFFLO 0x21
6743 #define EF_BFIN_PIC 0x00000001
6744 #define EF_BFIN_FDPIC 0x00000002
6745 #define EF_BFIN_CODE_IN_L1 0x00000010
6746 #define EF_BFIN_DATA_IN_L1 0x00000020
6749 #define R_FRV_NONE 0
6752 #define R_FRV_FUNCDESC 14
6754 #define R_FRV_FUNCDESC_VALUE 18
6757 #define EF_FRV_GPR_MASK 0x00000003
6758 #define EF_FRV_GPR_32 0x00000001
6759 #define EF_FRV_GPR_64 0x00000002
6762 #define EF_FRV_FPR_MASK 0x0000000c
6763 #define EF_FRV_FPR_32 0x00000004
6764 #define EF_FRV_FPR_64 0x00000008
6765 #define EF_FRV_FPR_NONE 0x0000000c
6767 #define EF_FRV_PIC 0x00000100
6768 #define EF_FRV_FDPIC 0x00008000
6774 #define STT_SPARC_REGISTER 13
6778 #define EF_SPARCV9_MM 3
6779 #define EF_SPARCV9_TSO 0
6780 #define EF_SPARCV9_PSO 1
6781 #define EF_SPARCV9_RMO 2
6782 #define EF_SPARC_LEDATA 0x800000
6783 #define EF_SPARC_EXT_MASK 0xFFFF00
6784 #define EF_SPARC_32PLUS 0x000100
6785 #define EF_SPARC_SUN_US1 0x000200
6786 #define EF_SPARC_HAL_R1 0x000400
6787 #define EF_SPARC_SUN_US3 0x000800
6791 #define R_SPARC_NONE 0
6793 #define R_SPARC_16 2
6794 #define R_SPARC_32 3
6795 #define R_SPARC_DISP8 4
6796 #define R_SPARC_DISP16 5
6797 #define R_SPARC_DISP32 6
6798 #define R_SPARC_WDISP30 7
6799 #define R_SPARC_WDISP22 8
6800 #define R_SPARC_HI22 9
6801 #define R_SPARC_22 10
6802 #define R_SPARC_13 11
6803 #define R_SPARC_LO10 12
6804 #define R_SPARC_GOT10 13
6805 #define R_SPARC_GOT13 14
6806 #define R_SPARC_GOT22 15
6807 #define R_SPARC_PC10 16
6808 #define R_SPARC_PC22 17
6809 #define R_SPARC_WPLT30 18
6810 #define R_SPARC_COPY 19
6811 #define R_SPARC_GLOB_DAT 20
6812 #define R_SPARC_JMP_SLOT 21
6813 #define R_SPARC_RELATIVE 22
6814 #define R_SPARC_UA32 23
6818 #define R_SPARC_PLT32 24
6819 #define R_SPARC_HIPLT22 25
6820 #define R_SPARC_LOPLT10 26
6821 #define R_SPARC_PCPLT32 27
6822 #define R_SPARC_PCPLT22 28
6823 #define R_SPARC_PCPLT10 29
6824 #define R_SPARC_10 30
6825 #define R_SPARC_11 31
6826 #define R_SPARC_64 32
6827 #define R_SPARC_OLO10 33
6828 #define R_SPARC_HH22 34
6829 #define R_SPARC_HM10 35
6830 #define R_SPARC_LM22 36
6831 #define R_SPARC_PC_HH22 37
6832 #define R_SPARC_PC_HM10 38
6833 #define R_SPARC_PC_LM22 39
6834 #define R_SPARC_WDISP16 40
6835 #define R_SPARC_WDISP19 41
6836 #define R_SPARC_7 43
6837 #define R_SPARC_5 44
6838 #define R_SPARC_6 45
6839 #define R_SPARC_DISP64 46
6840 #define R_SPARC_PLT64 47
6841 #define R_SPARC_HIX22 48
6842 #define R_SPARC_LOX10 49
6843 #define R_SPARC_H44 50
6844 #define R_SPARC_M44 51
6845 #define R_SPARC_L44 52
6846 #define R_SPARC_REGISTER 53
6847 #define R_SPARC_UA64 54
6848 #define R_SPARC_UA16 55
6849 #define R_SPARC_TLS_GD_HI22 56
6850 #define R_SPARC_TLS_GD_LO10 57
6851 #define R_SPARC_TLS_GD_ADD 58
6852 #define R_SPARC_TLS_GD_CALL 59
6853 #define R_SPARC_TLS_LDM_HI22 60
6854 #define R_SPARC_TLS_LDM_LO10 61
6855 #define R_SPARC_TLS_LDM_ADD 62
6856 #define R_SPARC_TLS_LDM_CALL 63
6857 #define R_SPARC_TLS_LDO_HIX22 64
6858 #define R_SPARC_TLS_LDO_LOX10 65
6859 #define R_SPARC_TLS_LDO_ADD 66
6860 #define R_SPARC_TLS_IE_HI22 67
6861 #define R_SPARC_TLS_IE_LO10 68
6862 #define R_SPARC_TLS_IE_LD 69
6863 #define R_SPARC_TLS_IE_LDX 70
6864 #define R_SPARC_TLS_IE_ADD 71
6865 #define R_SPARC_TLS_LE_HIX22 72
6866 #define R_SPARC_TLS_LE_LOX10 73
6867 #define R_SPARC_TLS_DTPMOD32 74
6868 #define R_SPARC_TLS_DTPMOD64 75
6869 #define R_SPARC_TLS_DTPOFF32 76
6870 #define R_SPARC_TLS_DTPOFF64 77
6871 #define R_SPARC_TLS_TPOFF32 78
6872 #define R_SPARC_TLS_TPOFF64 79
6874 #define R_SPARC_NUM 80
6878 #define DT_SPARC_REGISTER 0x70000001
6879 #define DT_SPARC_NUM 2
6883 #define HWCAP_SPARC_FLUSH 1
6884 #define HWCAP_SPARC_STBAR 2
6885 #define HWCAP_SPARC_SWAP 4
6886 #define HWCAP_SPARC_MULDIV 8
6887 #define HWCAP_SPARC_V9 16
6888 #define HWCAP_SPARC_ULTRA3 32
6894 #define EF_MIPS_NOREORDER 1
6895 #define EF_MIPS_PIC 2
6896 #define EF_MIPS_CPIC 4
6897 #define EF_MIPS_XGOT 8
6898 #define EF_MIPS_64BIT_WHIRL 16
6899 #define EF_MIPS_ABI2 32
6900 #define EF_MIPS_ABI_ON32 64
6901 #define EF_MIPS_ARCH 0xf0000000
6905 #define EF_MIPS_ARCH_1 0x00000000
6906 #define EF_MIPS_ARCH_2 0x10000000
6907 #define EF_MIPS_ARCH_3 0x20000000
6908 #define EF_MIPS_ARCH_4 0x30000000
6909 #define EF_MIPS_ARCH_5 0x40000000
6910 #define EF_MIPS_ARCH_32 0x60000000
6911 #define EF_MIPS_ARCH_64 0x70000000
6915 #define E_MIPS_ARCH_1 0x00000000
6916 #define E_MIPS_ARCH_2 0x10000000
6917 #define E_MIPS_ARCH_3 0x20000000
6918 #define E_MIPS_ARCH_4 0x30000000
6919 #define E_MIPS_ARCH_5 0x40000000
6920 #define E_MIPS_ARCH_32 0x60000000
6921 #define E_MIPS_ARCH_64 0x70000000
6925 #define SHN_MIPS_ACOMMON 0xff00
6926 #define SHN_MIPS_TEXT 0xff01
6927 #define SHN_MIPS_DATA 0xff02
6928 #define SHN_MIPS_SCOMMON 0xff03
6929 #define SHN_MIPS_SUNDEFINED 0xff04
6933 #define SHT_MIPS_LIBLIST 0x70000000
6934 #define SHT_MIPS_MSYM 0x70000001
6935 #define SHT_MIPS_CONFLICT 0x70000002
6936 #define SHT_MIPS_GPTAB 0x70000003
6937 #define SHT_MIPS_UCODE 0x70000004
6938 #define SHT_MIPS_DEBUG 0x70000005
6939 #define SHT_MIPS_REGINFO 0x70000006
6940 #define SHT_MIPS_PACKAGE 0x70000007
6941 #define SHT_MIPS_PACKSYM 0x70000008
6942 #define SHT_MIPS_RELD 0x70000009
6943 #define SHT_MIPS_IFACE 0x7000000b
6944 #define SHT_MIPS_CONTENT 0x7000000c
6945 #define SHT_MIPS_OPTIONS 0x7000000d
6946 #define SHT_MIPS_SHDR 0x70000010
6947 #define SHT_MIPS_FDESC 0x70000011
6948 #define SHT_MIPS_EXTSYM 0x70000012
6949 #define SHT_MIPS_DENSE 0x70000013
6950 #define SHT_MIPS_PDESC 0x70000014
6951 #define SHT_MIPS_LOCSYM 0x70000015
6952 #define SHT_MIPS_AUXSYM 0x70000016
6953 #define SHT_MIPS_OPTSYM 0x70000017
6954 #define SHT_MIPS_LOCSTR 0x70000018
6955 #define SHT_MIPS_LINE 0x70000019
6956 #define SHT_MIPS_RFDESC 0x7000001a
6957 #define SHT_MIPS_DELTASYM 0x7000001b
6958 #define SHT_MIPS_DELTAINST 0x7000001c
6959 #define SHT_MIPS_DELTACLASS 0x7000001d
6960 #define SHT_MIPS_DWARF 0x7000001e
6961 #define SHT_MIPS_DELTADECL 0x7000001f
6962 #define SHT_MIPS_SYMBOL_LIB 0x70000020
6963 #define SHT_MIPS_EVENTS 0x70000021
6964 #define SHT_MIPS_TRANSLATE 0x70000022
6965 #define SHT_MIPS_PIXIE 0x70000023
6966 #define SHT_MIPS_XLATE 0x70000024
6967 #define SHT_MIPS_XLATE_DEBUG 0x70000025
6968 #define SHT_MIPS_WHIRL 0x70000026
6969 #define SHT_MIPS_EH_REGION 0x70000027
6970 #define SHT_MIPS_XLATE_OLD 0x70000028
6971 #define SHT_MIPS_PDR_EXCEPTION 0x70000029
6975 #define SHF_MIPS_GPREL 0x10000000
6976 #define SHF_MIPS_MERGE 0x20000000
6977 #define SHF_MIPS_ADDR 0x40000000
6978 #define SHF_MIPS_STRINGS 0x80000000
6979 #define SHF_MIPS_NOSTRIP 0x08000000
6980 #define SHF_MIPS_LOCAL 0x04000000
6981 #define SHF_MIPS_NAMES 0x02000000
6982 #define SHF_MIPS_NODUPE 0x01000000
6988 #define STO_MIPS_DEFAULT 0x0
6989 #define STO_MIPS_INTERNAL 0x1
6990 #define STO_MIPS_HIDDEN 0x2
6991 #define STO_MIPS_PROTECTED 0x3
6992 #define STO_MIPS_PLT 0x8
6993 #define STO_MIPS_SC_ALIGN_UNUSED 0xff
6996 #define STB_MIPS_SPLIT_COMMON 13
7004 Elf32_Word gt_current_g_value;
7005 Elf32_Word gt_unused;
7009 Elf32_Word gt_g_value;
7010 Elf32_Word gt_bytes;
7018 Elf32_Word ri_gprmask;
7019 Elf32_Word ri_cprmask[4];
7020 Elf32_Sword ri_gp_value;
7030 Elf32_Section section;
7038 #define ODK_REGINFO 1
7039 #define ODK_EXCEPTIONS 2
7041 #define ODK_HWPATCH 4
7049 #define OEX_FPU_MIN 0x1f
7050 #define OEX_FPU_MAX 0x1f00
7051 #define OEX_PAGE0 0x10000
7052 #define OEX_SMM 0x20000
7053 #define OEX_FPDBUG 0x40000
7054 #define OEX_PRECISEFP OEX_FPDBUG
7055 #define OEX_DISMISS 0x80000
7057 #define OEX_FPU_INVAL 0x10
7058 #define OEX_FPU_DIV0 0x08
7059 #define OEX_FPU_OFLO 0x04
7060 #define OEX_FPU_UFLO 0x02
7061 #define OEX_FPU_INEX 0x01
7065 #define OHW_R4KEOP 0x1
7066 #define OHW_R8KPFETCH 0x2
7067 #define OHW_R5KEOP 0x4
7068 #define OHW_R5KCVTL 0x8
7070 #define OPAD_PREFIX 0x1
7071 #define OPAD_POSTFIX 0x2
7072 #define OPAD_SYMBOL 0x4
7078 Elf32_Word hwp_flags1;
7079 Elf32_Word hwp_flags2;
7084 #define OHWA0_R4KEOP_CHECKED 0x00000001
7085 #define OHWA1_R4KEOP_CLEAN 0x00000002
7089 #define R_MIPS_NONE 0
7092 #define R_MIPS_REL32 3
7094 #define R_MIPS_HI16 5
7095 #define R_MIPS_LO16 6
7096 #define R_MIPS_GPREL16 7
7097 #define R_MIPS_LITERAL 8
7098 #define R_MIPS_GOT16 9
7099 #define R_MIPS_PC16 10
7100 #define R_MIPS_CALL16 11
7101 #define R_MIPS_GPREL32 12
7103 #define R_MIPS_SHIFT5 16
7104 #define R_MIPS_SHIFT6 17
7105 #define R_MIPS_64 18
7106 #define R_MIPS_GOT_DISP 19
7107 #define R_MIPS_GOT_PAGE 20
7108 #define R_MIPS_GOT_OFST 21
7109 #define R_MIPS_GOT_HI16 22
7110 #define R_MIPS_GOT_LO16 23
7111 #define R_MIPS_SUB 24
7112 #define R_MIPS_INSERT_A 25
7113 #define R_MIPS_INSERT_B 26
7114 #define R_MIPS_DELETE 27
7115 #define R_MIPS_HIGHER 28
7116 #define R_MIPS_HIGHEST 29
7117 #define R_MIPS_CALL_HI16 30
7118 #define R_MIPS_CALL_LO16 31
7119 #define R_MIPS_SCN_DISP 32
7120 #define R_MIPS_REL16 33
7121 #define R_MIPS_ADD_IMMEDIATE 34
7122 #define R_MIPS_PJUMP 35
7123 #define R_MIPS_RELGOT 36
7124 #define R_MIPS_JALR 37
7125 #define R_MIPS_TLS_DTPMOD32 38
7126 #define R_MIPS_TLS_DTPREL32 39
7127 #define R_MIPS_TLS_DTPMOD64 40
7128 #define R_MIPS_TLS_DTPREL64 41
7129 #define R_MIPS_TLS_GD 42
7130 #define R_MIPS_TLS_LDM 43
7131 #define R_MIPS_TLS_DTPREL_HI16 44
7132 #define R_MIPS_TLS_DTPREL_LO16 45
7133 #define R_MIPS_TLS_GOTTPREL 46
7134 #define R_MIPS_TLS_TPREL32 47
7135 #define R_MIPS_TLS_TPREL64 48
7136 #define R_MIPS_TLS_TPREL_HI16 49
7137 #define R_MIPS_TLS_TPREL_LO16 50
7138 #define R_MIPS_GLOB_DAT 51
7139 #define R_MIPS_COPY 126
7140 #define R_MIPS_JUMP_SLOT 127
7142 #define R_MIPS_NUM 128
7146 #define PT_MIPS_REGINFO 0x70000000
7147 #define PT_MIPS_RTPROC 0x70000001
7148 #define PT_MIPS_OPTIONS 0x70000002
7152 #define PF_MIPS_LOCAL 0x10000000
7156 #define DT_MIPS_RLD_VERSION 0x70000001
7157 #define DT_MIPS_TIME_STAMP 0x70000002
7158 #define DT_MIPS_ICHECKSUM 0x70000003
7159 #define DT_MIPS_IVERSION 0x70000004
7160 #define DT_MIPS_FLAGS 0x70000005
7161 #define DT_MIPS_BASE_ADDRESS 0x70000006
7162 #define DT_MIPS_MSYM 0x70000007
7163 #define DT_MIPS_CONFLICT 0x70000008
7164 #define DT_MIPS_LIBLIST 0x70000009
7165 #define DT_MIPS_LOCAL_GOTNO 0x7000000a
7166 #define DT_MIPS_CONFLICTNO 0x7000000b
7167 #define DT_MIPS_LIBLISTNO 0x70000010
7168 #define DT_MIPS_SYMTABNO 0x70000011
7169 #define DT_MIPS_UNREFEXTNO 0x70000012
7170 #define DT_MIPS_GOTSYM 0x70000013
7171 #define DT_MIPS_HIPAGENO 0x70000014
7172 #define DT_MIPS_RLD_MAP 0x70000016
7173 #define DT_MIPS_DELTA_CLASS 0x70000017
7174 #define DT_MIPS_DELTA_CLASS_NO 0x70000018
7176 #define DT_MIPS_DELTA_INSTANCE 0x70000019
7177 #define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
7179 #define DT_MIPS_DELTA_RELOC 0x7000001b
7180 #define DT_MIPS_DELTA_RELOC_NO 0x7000001c
7182 #define DT_MIPS_DELTA_SYM 0x7000001d
7184 #define DT_MIPS_DELTA_SYM_NO 0x7000001e
7186 #define DT_MIPS_DELTA_CLASSSYM 0x70000020
7188 #define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
7190 #define DT_MIPS_CXX_FLAGS 0x70000022
7191 #define DT_MIPS_PIXIE_INIT 0x70000023
7192 #define DT_MIPS_SYMBOL_LIB 0x70000024
7193 #define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
7194 #define DT_MIPS_LOCAL_GOTIDX 0x70000026
7195 #define DT_MIPS_HIDDEN_GOTIDX 0x70000027
7196 #define DT_MIPS_PROTECTED_GOTIDX 0x70000028
7197 #define DT_MIPS_OPTIONS 0x70000029
7198 #define DT_MIPS_INTERFACE 0x7000002a
7199 #define DT_MIPS_DYNSTR_ALIGN 0x7000002b
7200 #define DT_MIPS_INTERFACE_SIZE 0x7000002c
7201 #define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
7203 #define DT_MIPS_PERF_SUFFIX 0x7000002e
7205 #define DT_MIPS_COMPACT_SIZE 0x7000002f
7206 #define DT_MIPS_GP_VALUE 0x70000030
7207 #define DT_MIPS_AUX_DYNAMIC 0x70000031
7209 #define DT_MIPS_PLTGOT 0x70000032
7213 #define DT_MIPS_RWPLT 0x70000034
7214 #define DT_MIPS_NUM 0x35
7219 #define RHF_QUICKSTART (1 << 0)
7220 #define RHF_NOTPOT (1 << 1)
7221 #define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
7222 #define RHF_NO_MOVE (1 << 3)
7223 #define RHF_SGI_ONLY (1 << 4)
7224 #define RHF_GUARANTEE_INIT (1 << 5)
7225 #define RHF_DELTA_C_PLUS_PLUS (1 << 6)
7226 #define RHF_GUARANTEE_START_INIT (1 << 7)
7227 #define RHF_PIXIE (1 << 8)
7228 #define RHF_DEFAULT_DELAY_LOAD (1 << 9)
7229 #define RHF_REQUICKSTART (1 << 10)
7230 #define RHF_REQUICKSTARTED (1 << 11)
7231 #define RHF_CORD (1 << 12)
7232 #define RHF_NO_UNRES_UNDEF (1 << 13)
7233 #define RHF_RLD_ORDER_SAFE (1 << 14)
7240 Elf32_Word l_time_stamp;
7241 Elf32_Word l_checksum;
7242 Elf32_Word l_version;
7249 Elf64_Word l_time_stamp;
7250 Elf64_Word l_checksum;
7251 Elf64_Word l_version;
7259 #define LL_EXACT_MATCH (1 << 0)
7260 #define LL_IGNORE_INT_VER (1 << 1)
7261 #define LL_REQUIRE_MINOR (1 << 2)
7262 #define LL_EXPORTS (1 << 3)
7263 #define LL_DELAY_LOAD (1 << 4)
7264 #define LL_DELTA (1 << 5)
7268 typedef Elf32_Addr Elf32_Conflict;
7275 #define EF_PARISC_TRAPNIL 0x00010000
7276 #define EF_PARISC_EXT 0x00020000
7277 #define EF_PARISC_LSB 0x00040000
7278 #define EF_PARISC_WIDE 0x00080000
7279 #define EF_PARISC_NO_KABP 0x00100000
7281 #define EF_PARISC_LAZYSWAP 0x00400000
7282 #define EF_PARISC_ARCH 0x0000ffff
7286 #define EFA_PARISC_1_0 0x020b
7287 #define EFA_PARISC_1_1 0x0210
7288 #define EFA_PARISC_2_0 0x0214
7292 #define SHN_PARISC_ANSI_COMMON 0xff00
7294 #define SHN_PARISC_HUGE_COMMON 0xff01
7298 #define SHT_PARISC_EXT 0x70000000
7299 #define SHT_PARISC_UNWIND 0x70000001
7300 #define SHT_PARISC_DOC 0x70000002
7304 #define SHF_PARISC_SHORT 0x20000000
7305 #define SHF_PARISC_HUGE 0x40000000
7306 #define SHF_PARISC_SBP 0x80000000
7310 #define STT_PARISC_MILLICODE 13
7312 #define STT_HP_OPAQUE (STT_LOOS + 0x1)
7313 #define STT_HP_STUB (STT_LOOS + 0x2)
7317 #define R_PARISC_NONE 0
7318 #define R_PARISC_DIR32 1
7319 #define R_PARISC_DIR21L 2
7320 #define R_PARISC_DIR17R 3
7321 #define R_PARISC_DIR17F 4
7322 #define R_PARISC_DIR14R 6
7323 #define R_PARISC_PCREL32 9
7324 #define R_PARISC_PCREL21L 10
7325 #define R_PARISC_PCREL17R 11
7326 #define R_PARISC_PCREL17F 12
7327 #define R_PARISC_PCREL14R 14
7328 #define R_PARISC_DPREL21L 18
7329 #define R_PARISC_DPREL14R 22
7330 #define R_PARISC_GPREL21L 26
7331 #define R_PARISC_GPREL14R 30
7332 #define R_PARISC_LTOFF21L 34
7333 #define R_PARISC_LTOFF14R 38
7334 #define R_PARISC_SECREL32 41
7335 #define R_PARISC_SEGBASE 48
7336 #define R_PARISC_SEGREL32 49
7337 #define R_PARISC_PLTOFF21L 50
7338 #define R_PARISC_PLTOFF14R 54
7339 #define R_PARISC_LTOFF_FPTR32 57
7340 #define R_PARISC_LTOFF_FPTR21L 58
7341 #define R_PARISC_LTOFF_FPTR14R 62
7342 #define R_PARISC_FPTR64 64
7343 #define R_PARISC_PLABEL32 65
7344 #define R_PARISC_PCREL64 72
7345 #define R_PARISC_PCREL22F 74
7346 #define R_PARISC_PCREL14WR 75
7347 #define R_PARISC_PCREL14DR 76
7348 #define R_PARISC_PCREL16F 77
7349 #define R_PARISC_PCREL16WF 78
7350 #define R_PARISC_PCREL16DF 79
7351 #define R_PARISC_DIR64 80
7352 #define R_PARISC_DIR14WR 83
7353 #define R_PARISC_DIR14DR 84
7354 #define R_PARISC_DIR16F 85
7355 #define R_PARISC_DIR16WF 86
7356 #define R_PARISC_DIR16DF 87
7357 #define R_PARISC_GPREL64 88
7358 #define R_PARISC_GPREL14WR 91
7359 #define R_PARISC_GPREL14DR 92
7360 #define R_PARISC_GPREL16F 93
7361 #define R_PARISC_GPREL16WF 94
7362 #define R_PARISC_GPREL16DF 95
7363 #define R_PARISC_LTOFF64 96
7364 #define R_PARISC_LTOFF14WR 99
7365 #define R_PARISC_LTOFF14DR 100
7366 #define R_PARISC_LTOFF16F 101
7367 #define R_PARISC_LTOFF16WF 102
7368 #define R_PARISC_LTOFF16DF 103
7369 #define R_PARISC_SECREL64 104
7370 #define R_PARISC_SEGREL64 112
7371 #define R_PARISC_PLTOFF14WR 115
7372 #define R_PARISC_PLTOFF14DR 116
7373 #define R_PARISC_PLTOFF16F 117
7374 #define R_PARISC_PLTOFF16WF 118
7375 #define R_PARISC_PLTOFF16DF 119
7376 #define R_PARISC_LTOFF_FPTR64 120
7377 #define R_PARISC_LTOFF_FPTR14WR 123
7378 #define R_PARISC_LTOFF_FPTR14DR 124
7379 #define R_PARISC_LTOFF_FPTR16F 125
7380 #define R_PARISC_LTOFF_FPTR16WF 126
7381 #define R_PARISC_LTOFF_FPTR16DF 127
7382 #define R_PARISC_LORESERVE 128
7383 #define R_PARISC_COPY 128
7384 #define R_PARISC_IPLT 129
7385 #define R_PARISC_EPLT 130
7386 #define R_PARISC_TPREL32 153
7387 #define R_PARISC_TPREL21L 154
7388 #define R_PARISC_TPREL14R 158
7389 #define R_PARISC_LTOFF_TP21L 162
7390 #define R_PARISC_LTOFF_TP14R 166
7391 #define R_PARISC_LTOFF_TP14F 167
7392 #define R_PARISC_TPREL64 216
7393 #define R_PARISC_TPREL14WR 219
7394 #define R_PARISC_TPREL14DR 220
7395 #define R_PARISC_TPREL16F 221
7396 #define R_PARISC_TPREL16WF 222
7397 #define R_PARISC_TPREL16DF 223
7398 #define R_PARISC_LTOFF_TP64 224
7399 #define R_PARISC_LTOFF_TP14WR 227
7400 #define R_PARISC_LTOFF_TP14DR 228
7401 #define R_PARISC_LTOFF_TP16F 229
7402 #define R_PARISC_LTOFF_TP16WF 230
7403 #define R_PARISC_LTOFF_TP16DF 231
7404 #define R_PARISC_HIRESERVE 255
7408 #define PT_HP_TLS (PT_LOOS + 0x0)
7409 #define PT_HP_CORE_NONE (PT_LOOS + 0x1)
7410 #define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
7411 #define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
7412 #define PT_HP_CORE_COMM (PT_LOOS + 0x4)
7413 #define PT_HP_CORE_PROC (PT_LOOS + 0x5)
7414 #define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
7415 #define PT_HP_CORE_STACK (PT_LOOS + 0x7)
7416 #define PT_HP_CORE_SHM (PT_LOOS + 0x8)
7417 #define PT_HP_CORE_MMF (PT_LOOS + 0x9)
7418 #define PT_HP_PARALLEL (PT_LOOS + 0x10)
7419 #define PT_HP_FASTBIND (PT_LOOS + 0x11)
7420 #define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
7421 #define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
7422 #define PT_HP_STACK (PT_LOOS + 0x14)
7424 #define PT_PARISC_ARCHEXT 0x70000000
7425 #define PT_PARISC_UNWIND 0x70000001
7429 #define PF_PARISC_SBP 0x08000000
7431 #define PF_HP_PAGE_SIZE 0x00100000
7432 #define PF_HP_FAR_SHARED 0x00200000
7433 #define PF_HP_NEAR_SHARED 0x00400000
7434 #define PF_HP_CODE 0x01000000
7435 #define PF_HP_MODIFY 0x02000000
7436 #define PF_HP_LAZYSWAP 0x04000000
7437 #define PF_HP_SBP 0x08000000
7444 #define EF_ALPHA_32BIT 1
7445 #define EF_ALPHA_CANRELAX 2
7450 #define SHT_ALPHA_DEBUG 0x70000001
7451 #define SHT_ALPHA_REGINFO 0x70000002
7455 #define SHF_ALPHA_GPREL 0x10000000
7458 #define STO_ALPHA_NOPV 0x80
7459 #define STO_ALPHA_STD_GPLOAD 0x88
7463 #define R_ALPHA_NONE 0
7464 #define R_ALPHA_REFLONG 1
7465 #define R_ALPHA_REFQUAD 2
7466 #define R_ALPHA_GPREL32 3
7467 #define R_ALPHA_LITERAL 4
7468 #define R_ALPHA_LITUSE 5
7469 #define R_ALPHA_GPDISP 6
7470 #define R_ALPHA_BRADDR 7
7471 #define R_ALPHA_HINT 8
7472 #define R_ALPHA_SREL16 9
7473 #define R_ALPHA_SREL32 10
7474 #define R_ALPHA_SREL64 11
7475 #define R_ALPHA_GPRELHIGH 17
7476 #define R_ALPHA_GPRELLOW 18
7477 #define R_ALPHA_GPREL16 19
7478 #define R_ALPHA_COPY 24
7479 #define R_ALPHA_GLOB_DAT 25
7480 #define R_ALPHA_JMP_SLOT 26
7481 #define R_ALPHA_RELATIVE 27
7482 #define R_ALPHA_TLS_GD_HI 28
7483 #define R_ALPHA_TLSGD 29
7484 #define R_ALPHA_TLS_LDM 30
7485 #define R_ALPHA_DTPMOD64 31
7486 #define R_ALPHA_GOTDTPREL 32
7487 #define R_ALPHA_DTPREL64 33
7488 #define R_ALPHA_DTPRELHI 34
7489 #define R_ALPHA_DTPRELLO 35
7490 #define R_ALPHA_DTPREL16 36
7491 #define R_ALPHA_GOTTPREL 37
7492 #define R_ALPHA_TPREL64 38
7493 #define R_ALPHA_TPRELHI 39
7494 #define R_ALPHA_TPRELLO 40
7495 #define R_ALPHA_TPREL16 41
7497 #define R_ALPHA_NUM 46
7500 #define LITUSE_ALPHA_ADDR 0
7501 #define LITUSE_ALPHA_BASE 1
7502 #define LITUSE_ALPHA_BYTOFF 2
7503 #define LITUSE_ALPHA_JSR 3
7504 #define LITUSE_ALPHA_TLS_GD 4
7505 #define LITUSE_ALPHA_TLS_LDM 5
7508 #define DT_ALPHA_PLTRO (DT_LOPROC + 0)
7509 #define DT_ALPHA_NUM 1
7514 #define EF_PPC_EMB 0x80000000
7517 #define EF_PPC_RELOCATABLE 0x00010000
7518 #define EF_PPC_RELOCATABLE_LIB 0x00008000
7522 #define R_PPC_NONE 0
7523 #define R_PPC_ADDR32 1
7524 #define R_PPC_ADDR24 2
7525 #define R_PPC_ADDR16 3
7526 #define R_PPC_ADDR16_LO 4
7527 #define R_PPC_ADDR16_HI 5
7528 #define R_PPC_ADDR16_HA 6
7529 #define R_PPC_ADDR14 7
7530 #define R_PPC_ADDR14_BRTAKEN 8
7531 #define R_PPC_ADDR14_BRNTAKEN 9
7532 #define R_PPC_REL24 10
7533 #define R_PPC_REL14 11
7534 #define R_PPC_REL14_BRTAKEN 12
7535 #define R_PPC_REL14_BRNTAKEN 13
7536 #define R_PPC_GOT16 14
7537 #define R_PPC_GOT16_LO 15
7538 #define R_PPC_GOT16_HI 16
7539 #define R_PPC_GOT16_HA 17
7540 #define R_PPC_PLTREL24 18
7541 #define R_PPC_COPY 19
7542 #define R_PPC_GLOB_DAT 20
7543 #define R_PPC_JMP_SLOT 21
7544 #define R_PPC_RELATIVE 22
7545 #define R_PPC_LOCAL24PC 23
7546 #define R_PPC_UADDR32 24
7547 #define R_PPC_UADDR16 25
7548 #define R_PPC_REL32 26
7549 #define R_PPC_PLT32 27
7550 #define R_PPC_PLTREL32 28
7551 #define R_PPC_PLT16_LO 29
7552 #define R_PPC_PLT16_HI 30
7553 #define R_PPC_PLT16_HA 31
7554 #define R_PPC_SDAREL16 32
7555 #define R_PPC_SECTOFF 33
7556 #define R_PPC_SECTOFF_LO 34
7557 #define R_PPC_SECTOFF_HI 35
7558 #define R_PPC_SECTOFF_HA 36
7561 #define R_PPC_TLS 67
7562 #define R_PPC_DTPMOD32 68
7563 #define R_PPC_TPREL16 69
7564 #define R_PPC_TPREL16_LO 70
7565 #define R_PPC_TPREL16_HI 71
7566 #define R_PPC_TPREL16_HA 72
7567 #define R_PPC_TPREL32 73
7568 #define R_PPC_DTPREL16 74
7569 #define R_PPC_DTPREL16_LO 75
7570 #define R_PPC_DTPREL16_HI 76
7571 #define R_PPC_DTPREL16_HA 77
7572 #define R_PPC_DTPREL32 78
7573 #define R_PPC_GOT_TLSGD16 79
7574 #define R_PPC_GOT_TLSGD16_LO 80
7575 #define R_PPC_GOT_TLSGD16_HI 81
7576 #define R_PPC_GOT_TLSGD16_HA 82
7577 #define R_PPC_GOT_TLSLD16 83
7578 #define R_PPC_GOT_TLSLD16_LO 84
7579 #define R_PPC_GOT_TLSLD16_HI 85
7580 #define R_PPC_GOT_TLSLD16_HA 86
7581 #define R_PPC_GOT_TPREL16 87
7582 #define R_PPC_GOT_TPREL16_LO 88
7583 #define R_PPC_GOT_TPREL16_HI 89
7584 #define R_PPC_GOT_TPREL16_HA 90
7585 #define R_PPC_GOT_DTPREL16 91
7586 #define R_PPC_GOT_DTPREL16_LO 92
7587 #define R_PPC_GOT_DTPREL16_HI 93
7588 #define R_PPC_GOT_DTPREL16_HA 94
7591 #define R_PPC_NUM 95
7595 #define R_PPC_EMB_NADDR32 101
7596 #define R_PPC_EMB_NADDR16 102
7597 #define R_PPC_EMB_NADDR16_LO 103
7598 #define R_PPC_EMB_NADDR16_HI 104
7599 #define R_PPC_EMB_NADDR16_HA 105
7600 #define R_PPC_EMB_SDAI16 106
7601 #define R_PPC_EMB_SDA2I16 107
7602 #define R_PPC_EMB_SDA2REL 108
7603 #define R_PPC_EMB_SDA21 109
7604 #define R_PPC_EMB_MRKREF 110
7605 #define R_PPC_EMB_RELSEC16 111
7606 #define R_PPC_EMB_RELST_LO 112
7607 #define R_PPC_EMB_RELST_HI 113
7608 #define R_PPC_EMB_RELST_HA 114
7609 #define R_PPC_EMB_BIT_FLD 115
7610 #define R_PPC_EMB_RELSDA 116
7613 #define R_PPC_DIAB_SDA21_LO 180
7614 #define R_PPC_DIAB_SDA21_HI 181
7615 #define R_PPC_DIAB_SDA21_HA 182
7616 #define R_PPC_DIAB_RELSDA_LO 183
7617 #define R_PPC_DIAB_RELSDA_HI 184
7618 #define R_PPC_DIAB_RELSDA_HA 185
7621 #define R_PPC_REL16 249
7622 #define R_PPC_REL16_LO 250
7623 #define R_PPC_REL16_HI 251
7624 #define R_PPC_REL16_HA 252
7628 #define R_PPC_TOC16 255
7631 #define DT_PPC_GOT (DT_LOPROC + 0)
7632 #define DT_PPC_NUM 1
7635 #define R_PPC64_NONE R_PPC_NONE
7636 #define R_PPC64_ADDR32 R_PPC_ADDR32
7637 #define R_PPC64_ADDR24 R_PPC_ADDR24
7638 #define R_PPC64_ADDR16 R_PPC_ADDR16
7639 #define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
7640 #define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
7641 #define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
7642 #define R_PPC64_ADDR14 R_PPC_ADDR14
7643 #define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
7644 #define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
7645 #define R_PPC64_REL24 R_PPC_REL24
7646 #define R_PPC64_REL14 R_PPC_REL14
7647 #define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
7648 #define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
7649 #define R_PPC64_GOT16 R_PPC_GOT16
7650 #define R_PPC64_GOT16_LO R_PPC_GOT16_LO
7651 #define R_PPC64_GOT16_HI R_PPC_GOT16_HI
7652 #define R_PPC64_GOT16_HA R_PPC_GOT16_HA
7654 #define R_PPC64_COPY R_PPC_COPY
7655 #define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
7656 #define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
7657 #define R_PPC64_RELATIVE R_PPC_RELATIVE
7659 #define R_PPC64_UADDR32 R_PPC_UADDR32
7660 #define R_PPC64_UADDR16 R_PPC_UADDR16
7661 #define R_PPC64_REL32 R_PPC_REL32
7662 #define R_PPC64_PLT32 R_PPC_PLT32
7663 #define R_PPC64_PLTREL32 R_PPC_PLTREL32
7664 #define R_PPC64_PLT16_LO R_PPC_PLT16_LO
7665 #define R_PPC64_PLT16_HI R_PPC_PLT16_HI
7666 #define R_PPC64_PLT16_HA R_PPC_PLT16_HA
7668 #define R_PPC64_SECTOFF R_PPC_SECTOFF
7669 #define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
7670 #define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
7671 #define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
7672 #define R_PPC64_ADDR30 37
7673 #define R_PPC64_ADDR64 38
7674 #define R_PPC64_ADDR16_HIGHER 39
7675 #define R_PPC64_ADDR16_HIGHERA 40
7676 #define R_PPC64_ADDR16_HIGHEST 41
7677 #define R_PPC64_ADDR16_HIGHESTA 42
7678 #define R_PPC64_UADDR64 43
7679 #define R_PPC64_REL64 44
7680 #define R_PPC64_PLT64 45
7681 #define R_PPC64_PLTREL64 46
7682 #define R_PPC64_TOC16 47
7683 #define R_PPC64_TOC16_LO 48
7684 #define R_PPC64_TOC16_HI 49
7685 #define R_PPC64_TOC16_HA 50
7686 #define R_PPC64_TOC 51
7687 #define R_PPC64_PLTGOT16 52
7688 #define R_PPC64_PLTGOT16_LO 53
7689 #define R_PPC64_PLTGOT16_HI 54
7690 #define R_PPC64_PLTGOT16_HA 55
7692 #define R_PPC64_ADDR16_DS 56
7693 #define R_PPC64_ADDR16_LO_DS 57
7694 #define R_PPC64_GOT16_DS 58
7695 #define R_PPC64_GOT16_LO_DS 59
7696 #define R_PPC64_PLT16_LO_DS 60
7697 #define R_PPC64_SECTOFF_DS 61
7698 #define R_PPC64_SECTOFF_LO_DS 62
7699 #define R_PPC64_TOC16_DS 63
7700 #define R_PPC64_TOC16_LO_DS 64
7701 #define R_PPC64_PLTGOT16_DS 65
7702 #define R_PPC64_PLTGOT16_LO_DS 66
7705 #define R_PPC64_TLS 67
7706 #define R_PPC64_DTPMOD64 68
7707 #define R_PPC64_TPREL16 69
7708 #define R_PPC64_TPREL16_LO 70
7709 #define R_PPC64_TPREL16_HI 71
7710 #define R_PPC64_TPREL16_HA 72
7711 #define R_PPC64_TPREL64 73
7712 #define R_PPC64_DTPREL16 74
7713 #define R_PPC64_DTPREL16_LO 75
7714 #define R_PPC64_DTPREL16_HI 76
7715 #define R_PPC64_DTPREL16_HA 77
7716 #define R_PPC64_DTPREL64 78
7717 #define R_PPC64_GOT_TLSGD16 79
7718 #define R_PPC64_GOT_TLSGD16_LO 80
7719 #define R_PPC64_GOT_TLSGD16_HI 81
7720 #define R_PPC64_GOT_TLSGD16_HA 82
7721 #define R_PPC64_GOT_TLSLD16 83
7722 #define R_PPC64_GOT_TLSLD16_LO 84
7723 #define R_PPC64_GOT_TLSLD16_HI 85
7724 #define R_PPC64_GOT_TLSLD16_HA 86
7725 #define R_PPC64_GOT_TPREL16_DS 87
7726 #define R_PPC64_GOT_TPREL16_LO_DS 88
7727 #define R_PPC64_GOT_TPREL16_HI 89
7728 #define R_PPC64_GOT_TPREL16_HA 90
7729 #define R_PPC64_GOT_DTPREL16_DS 91
7730 #define R_PPC64_GOT_DTPREL16_LO_DS 92
7731 #define R_PPC64_GOT_DTPREL16_HI 93
7732 #define R_PPC64_GOT_DTPREL16_HA 94
7733 #define R_PPC64_TPREL16_DS 95
7734 #define R_PPC64_TPREL16_LO_DS 96
7735 #define R_PPC64_TPREL16_HIGHER 97
7736 #define R_PPC64_TPREL16_HIGHERA 98
7737 #define R_PPC64_TPREL16_HIGHEST 99
7738 #define R_PPC64_TPREL16_HIGHESTA 100
7739 #define R_PPC64_DTPREL16_DS 101
7740 #define R_PPC64_DTPREL16_LO_DS 102
7741 #define R_PPC64_DTPREL16_HIGHER 103
7742 #define R_PPC64_DTPREL16_HIGHERA 104
7743 #define R_PPC64_DTPREL16_HIGHEST 105
7744 #define R_PPC64_DTPREL16_HIGHESTA 106
7747 #define R_PPC64_NUM 107
7750 #define DT_PPC64_GLINK (DT_LOPROC + 0)
7751 #define DT_PPC64_OPD (DT_LOPROC + 1)
7752 #define DT_PPC64_OPDSZ (DT_LOPROC + 2)
7753 #define DT_PPC64_NUM 3
7759 #define EF_ARM_RELEXEC 0x01
7760 #define EF_ARM_HASENTRY 0x02
7761 #define EF_ARM_INTERWORK 0x04
7762 #define EF_ARM_APCS_26 0x08
7763 #define EF_ARM_APCS_FLOAT 0x10
7764 #define EF_ARM_PIC 0x20
7765 #define EF_ARM_ALIGN8 0x40
7766 #define EF_ARM_NEW_ABI 0x80
7767 #define EF_ARM_OLD_ABI 0x100
7771 #define EF_ARM_SYMSARESORTED 0x04
7772 #define EF_ARM_DYNSYMSUSESEGIDX 0x08
7773 #define EF_ARM_MAPSYMSFIRST 0x10
7774 #define EF_ARM_EABIMASK 0XFF000000
7776 #define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
7777 #define EF_ARM_EABI_UNKNOWN 0x00000000
7778 #define EF_ARM_EABI_VER1 0x01000000
7779 #define EF_ARM_EABI_VER2 0x02000000
7782 #define STT_ARM_TFUNC 0xd
7785 #define SHF_ARM_ENTRYSECT 0x10000000
7786 #define SHF_ARM_COMDEF 0x80000000
7790 #define PF_ARM_SB 0x10000000
7794 #define PT_ARM_EXIDX 0x70000001
7798 #define R_ARM_NONE 0
7799 #define R_ARM_PC24 1
7800 #define R_ARM_ABS32 2
7801 #define R_ARM_REL32 3
7802 #define R_ARM_PC13 4
7803 #define R_ARM_ABS16 5
7804 #define R_ARM_ABS12 6
7805 #define R_ARM_THM_ABS5 7
7806 #define R_ARM_ABS8 8
7807 #define R_ARM_SBREL32 9
7808 #define R_ARM_THM_PC22 10
7809 #define R_ARM_THM_PC8 11
7810 #define R_ARM_AMP_VCALL9 12
7811 #define R_ARM_SWI24 13
7812 #define R_ARM_THM_SWI8 14
7813 #define R_ARM_XPC25 15
7814 #define R_ARM_THM_XPC22 16
7815 #define R_ARM_TLS_DTPMOD32 17
7816 #define R_ARM_TLS_DTPOFF32 18
7817 #define R_ARM_TLS_TPOFF32 19
7818 #define R_ARM_COPY 20
7819 #define R_ARM_GLOB_DAT 21
7820 #define R_ARM_JUMP_SLOT 22
7821 #define R_ARM_RELATIVE 23
7822 #define R_ARM_GOTOFF 24
7823 #define R_ARM_GOTPC 25
7824 #define R_ARM_GOT32 26
7825 #define R_ARM_PLT32 27
7826 #define R_ARM_ALU_PCREL_7_0 32
7827 #define R_ARM_ALU_PCREL_15_8 33
7828 #define R_ARM_ALU_PCREL_23_15 34
7829 #define R_ARM_LDR_SBREL_11_0 35
7830 #define R_ARM_ALU_SBREL_19_12 36
7831 #define R_ARM_ALU_SBREL_27_20 37
7832 #define R_ARM_GNU_VTENTRY 100
7833 #define R_ARM_GNU_VTINHERIT 101
7834 #define R_ARM_THM_PC11 102
7835 #define R_ARM_THM_PC9 103
7836 #define R_ARM_TLS_GD32 104
7837 #define R_ARM_TLS_LDM32 105
7838 #define R_ARM_TLS_LDO32 106
7839 #define R_ARM_TLS_IE32 107
7840 #define R_ARM_TLS_LE32 108
7841 #define R_ARM_TLS_LDO12 109
7842 #define R_ARM_TLS_LE12 110
7843 #define R_ARM_TLS_IE12GP 111
7844 #define R_ARM_RXPC25 249
7845 #define R_ARM_RSBREL32 250
7846 #define R_ARM_THM_RPC22 251
7847 #define R_ARM_RREL32 252
7848 #define R_ARM_RABS22 253
7849 #define R_ARM_RPC24 254
7850 #define R_ARM_RBASE 255
7852 #define R_ARM_NUM 256
7857 #define EF_IA_64_MASKOS 0x0000000f
7858 #define EF_IA_64_ABI64 0x00000010
7859 #define EF_IA_64_ARCH 0xff000000
7862 #define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
7863 #define PT_IA_64_UNWIND (PT_LOPROC + 1)
7864 #define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12)
7865 #define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13)
7866 #define PT_IA_64_HP_STACK (PT_LOOS + 0x14)
7869 #define PF_IA_64_NORECOV 0x80000000
7872 #define SHT_IA_64_EXT (SHT_LOPROC + 0)
7873 #define SHT_IA_64_UNWIND (SHT_LOPROC + 1)
7876 #define SHF_IA_64_SHORT 0x10000000
7877 #define SHF_IA_64_NORECOV 0x20000000
7880 #define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
7881 #define DT_IA_64_NUM 1
7884 #define R_IA64_NONE 0x00
7885 #define R_IA64_IMM14 0x21
7886 #define R_IA64_IMM22 0x22
7887 #define R_IA64_IMM64 0x23
7888 #define R_IA64_DIR32MSB 0x24
7889 #define R_IA64_DIR32LSB 0x25
7890 #define R_IA64_DIR64MSB 0x26
7891 #define R_IA64_DIR64LSB 0x27
7892 #define R_IA64_GPREL22 0x2a
7893 #define R_IA64_GPREL64I 0x2b
7894 #define R_IA64_GPREL32MSB 0x2c
7895 #define R_IA64_GPREL32LSB 0x2d
7896 #define R_IA64_GPREL64MSB 0x2e
7897 #define R_IA64_GPREL64LSB 0x2f
7898 #define R_IA64_LTOFF22 0x32
7899 #define R_IA64_LTOFF64I 0x33
7900 #define R_IA64_PLTOFF22 0x3a
7901 #define R_IA64_PLTOFF64I 0x3b
7902 #define R_IA64_PLTOFF64MSB 0x3e
7903 #define R_IA64_PLTOFF64LSB 0x3f
7904 #define R_IA64_FPTR64I 0x43
7905 #define R_IA64_FPTR32MSB 0x44
7906 #define R_IA64_FPTR32LSB 0x45
7907 #define R_IA64_FPTR64MSB 0x46
7908 #define R_IA64_FPTR64LSB 0x47
7909 #define R_IA64_PCREL60B 0x48
7910 #define R_IA64_PCREL21B 0x49
7911 #define R_IA64_PCREL21M 0x4a
7912 #define R_IA64_PCREL21F 0x4b
7913 #define R_IA64_PCREL32MSB 0x4c
7914 #define R_IA64_PCREL32LSB 0x4d
7915 #define R_IA64_PCREL64MSB 0x4e
7916 #define R_IA64_PCREL64LSB 0x4f
7917 #define R_IA64_LTOFF_FPTR22 0x52
7918 #define R_IA64_LTOFF_FPTR64I 0x53
7919 #define R_IA64_LTOFF_FPTR32MSB 0x54
7920 #define R_IA64_LTOFF_FPTR32LSB 0x55
7921 #define R_IA64_LTOFF_FPTR64MSB 0x56
7922 #define R_IA64_LTOFF_FPTR64LSB 0x57
7923 #define R_IA64_SEGREL32MSB 0x5c
7924 #define R_IA64_SEGREL32LSB 0x5d
7925 #define R_IA64_SEGREL64MSB 0x5e
7926 #define R_IA64_SEGREL64LSB 0x5f
7927 #define R_IA64_SECREL32MSB 0x64
7928 #define R_IA64_SECREL32LSB 0x65
7929 #define R_IA64_SECREL64MSB 0x66
7930 #define R_IA64_SECREL64LSB 0x67
7931 #define R_IA64_REL32MSB 0x6c
7932 #define R_IA64_REL32LSB 0x6d
7933 #define R_IA64_REL64MSB 0x6e
7934 #define R_IA64_REL64LSB 0x6f
7935 #define R_IA64_LTV32MSB 0x74
7936 #define R_IA64_LTV32LSB 0x75
7937 #define R_IA64_LTV64MSB 0x76
7938 #define R_IA64_LTV64LSB 0x77
7939 #define R_IA64_PCREL21BI 0x79
7940 #define R_IA64_PCREL22 0x7a
7941 #define R_IA64_PCREL64I 0x7b
7942 #define R_IA64_IPLTMSB 0x80
7943 #define R_IA64_IPLTLSB 0x81
7944 #define R_IA64_COPY 0x84
7945 #define R_IA64_SUB 0x85
7946 #define R_IA64_LTOFF22X 0x86
7947 #define R_IA64_LDXMOV 0x87
7948 #define R_IA64_TPREL14 0x91
7949 #define R_IA64_TPREL22 0x92
7950 #define R_IA64_TPREL64I 0x93
7951 #define R_IA64_TPREL64MSB 0x96
7952 #define R_IA64_TPREL64LSB 0x97
7953 #define R_IA64_LTOFF_TPREL22 0x9a
7954 #define R_IA64_DTPMOD64MSB 0xa6
7955 #define R_IA64_DTPMOD64LSB 0xa7
7956 #define R_IA64_LTOFF_DTPMOD22 0xaa
7957 #define R_IA64_DTPREL14 0xb1
7958 #define R_IA64_DTPREL22 0xb2
7959 #define R_IA64_DTPREL64I 0xb3
7960 #define R_IA64_DTPREL32MSB 0xb4
7961 #define R_IA64_DTPREL32LSB 0xb5
7962 #define R_IA64_DTPREL64MSB 0xb6
7963 #define R_IA64_DTPREL64LSB 0xb7
7964 #define R_IA64_LTOFF_DTPREL22 0xba
7972 #define STO_SH5_ISA32 (1 << 2)
7976 #define R_SH_DIR32 1
7977 #define R_SH_REL32 2
7978 #define R_SH_DIR8WPN 3
7979 #define R_SH_IND12W 4
7980 #define R_SH_DIR8WPL 5
7981 #define R_SH_DIR8WPZ 6
7982 #define R_SH_DIR8BP 7
7983 #define R_SH_DIR8W 8
7984 #define R_SH_DIR8L 9
7985 #define R_SH_SWITCH16 25
7986 #define R_SH_SWITCH32 26
7987 #define R_SH_USES 27
7988 #define R_SH_COUNT 28
7989 #define R_SH_ALIGN 29
7990 #define R_SH_CODE 30
7991 #define R_SH_DATA 31
7992 #define R_SH_LABEL 32
7993 #define R_SH_SWITCH8 33
7994 #define R_SH_GNU_VTINHERIT 34
7995 #define R_SH_GNU_VTENTRY 35
7996 #define R_SH_TLS_GD_32 144
7997 #define R_SH_TLS_LD_32 145
7998 #define R_SH_TLS_LDO_32 146
7999 #define R_SH_TLS_IE_32 147
8000 #define R_SH_TLS_LE_32 148
8001 #define R_SH_TLS_DTPMOD32 149
8002 #define R_SH_TLS_DTPOFF32 150
8003 #define R_SH_TLS_TPOFF32 151
8004 #define R_SH_GOT32 160
8005 #define R_SH_PLT32 161
8006 #define R_SH_COPY 162
8007 #define R_SH_GLOB_DAT 163
8008 #define R_SH_JMP_SLOT 164
8009 #define R_SH_RELATIVE 165
8010 #define R_SH_GOTOFF 166
8011 #define R_SH_GOTPC 167
8012 #define R_SH_RELATIVE_LOW16 197
8013 #define R_SH_RELATIVE_MEDLOW16 198
8014 #define R_SH_IMM_LOW16 246
8015 #define R_SH_IMM_LOW16_PCREL 247
8016 #define R_SH_IMM_MEDLOW16 248
8017 #define R_SH_IMM_MEDLOW16_PCREL 249
8020 #define R_SH_NUM 256
8024 #define R_390_NONE 0
8029 #define R_390_PC32 5
8030 #define R_390_GOT12 6
8031 #define R_390_GOT32 7
8032 #define R_390_PLT32 8
8033 #define R_390_COPY 9
8034 #define R_390_GLOB_DAT 10
8035 #define R_390_JMP_SLOT 11
8036 #define R_390_RELATIVE 12
8037 #define R_390_GOTOFF32 13
8038 #define R_390_GOTPC 14
8039 #define R_390_GOT16 15
8040 #define R_390_PC16 16
8041 #define R_390_PC16DBL 17
8042 #define R_390_PLT16DBL 18
8043 #define R_390_PC32DBL 19
8044 #define R_390_PLT32DBL 20
8045 #define R_390_GOTPCDBL 21
8047 #define R_390_PC64 23
8048 #define R_390_GOT64 24
8049 #define R_390_PLT64 25
8050 #define R_390_GOTENT 26
8051 #define R_390_GOTOFF16 27
8052 #define R_390_GOTOFF64 28
8053 #define R_390_GOTPLT12 29
8054 #define R_390_GOTPLT16 30
8055 #define R_390_GOTPLT32 31
8056 #define R_390_GOTPLT64 32
8057 #define R_390_GOTPLTENT 33
8058 #define R_390_PLTOFF16 34
8059 #define R_390_PLTOFF32 35
8060 #define R_390_PLTOFF64 36
8061 #define R_390_TLS_LOAD 37
8062 #define R_390_TLS_GDCALL 38
8064 #define R_390_TLS_LDCALL 39
8066 #define R_390_TLS_GD32 40
8068 #define R_390_TLS_GD64 41
8070 #define R_390_TLS_GOTIE12 42
8072 #define R_390_TLS_GOTIE32 43
8074 #define R_390_TLS_GOTIE64 44
8076 #define R_390_TLS_LDM32 45
8078 #define R_390_TLS_LDM64 46
8080 #define R_390_TLS_IE32 47
8082 #define R_390_TLS_IE64 48
8084 #define R_390_TLS_IEENT 49
8086 #define R_390_TLS_LE32 50
8088 #define R_390_TLS_LE64 51
8090 #define R_390_TLS_LDO32 52
8092 #define R_390_TLS_LDO64 53
8094 #define R_390_TLS_DTPMOD 54
8095 #define R_390_TLS_DTPOFF 55
8096 #define R_390_TLS_TPOFF 56
8099 #define R_390_GOT20 58
8100 #define R_390_GOTPLT20 59
8101 #define R_390_TLS_GOTIE20 60
8104 #define R_390_NUM 61
8108 #define EF_CRIS_VARIANT_MASK 0x0000000e
8109 #define EF_CRIS_VARIANT_ANY_V0_V10 0x00000000
8110 #define EF_CRIS_VARIANT_V32 0x00000002
8111 #define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004
8114 #define R_CRIS_NONE 0
8118 #define R_CRIS_8_PCREL 4
8119 #define R_CRIS_16_PCREL 5
8120 #define R_CRIS_32_PCREL 6
8121 #define R_CRIS_GNU_VTINHERIT 7
8122 #define R_CRIS_GNU_VTENTRY 8
8123 #define R_CRIS_COPY 9
8124 #define R_CRIS_GLOB_DAT 10
8125 #define R_CRIS_JUMP_SLOT 11
8126 #define R_CRIS_RELATIVE 12
8127 #define R_CRIS_16_GOT 13
8128 #define R_CRIS_32_GOT 14
8129 #define R_CRIS_16_GOTPLT 15
8130 #define R_CRIS_32_GOTPLT 16
8131 #define R_CRIS_32_GOTREL 17
8132 #define R_CRIS_32_PLT_GOTREL 18
8133 #define R_CRIS_32_PLT_PCREL 19
8136 #define R_CRIS_NUM 20
8140 #define R_X86_64_NONE 0
8141 #define R_X86_64_64 1
8142 #define R_X86_64_PC32 2
8143 #define R_X86_64_GOT32 3
8144 #define R_X86_64_PLT32 4
8145 #define R_X86_64_COPY 5
8146 #define R_X86_64_GLOB_DAT 6
8147 #define R_X86_64_JUMP_SLOT 7
8148 #define R_X86_64_RELATIVE 8
8149 #define R_X86_64_GOTPCREL 9
8151 #define R_X86_64_32 10
8152 #define R_X86_64_32S 11
8153 #define R_X86_64_16 12
8154 #define R_X86_64_PC16 13
8155 #define R_X86_64_8 14
8156 #define R_X86_64_PC8 15
8157 #define R_X86_64_DTPMOD64 16
8158 #define R_X86_64_DTPOFF64 17
8159 #define R_X86_64_TPOFF64 18
8160 #define R_X86_64_TLSGD 19
8162 #define R_X86_64_TLSLD 20
8164 #define R_X86_64_DTPOFF32 21
8165 #define R_X86_64_GOTTPOFF 22
8167 #define R_X86_64_TPOFF32 23
8169 #define R_X86_64_NUM 24
8173 #define R_MN10300_NONE 0
8174 #define R_MN10300_32 1
8175 #define R_MN10300_16 2
8176 #define R_MN10300_8 3
8177 #define R_MN10300_PCREL32 4
8178 #define R_MN10300_PCREL16 5
8179 #define R_MN10300_PCREL8 6
8180 #define R_MN10300_GNU_VTINHERIT 7
8181 #define R_MN10300_GNU_VTENTRY 8
8182 #define R_MN10300_24 9
8183 #define R_MN10300_GOTPC32 10
8184 #define R_MN10300_GOTPC16 11
8185 #define R_MN10300_GOTOFF32 12
8186 #define R_MN10300_GOTOFF24 13
8187 #define R_MN10300_GOTOFF16 14
8188 #define R_MN10300_PLT32 15
8189 #define R_MN10300_PLT16 16
8190 #define R_MN10300_GOT32 17
8191 #define R_MN10300_GOT24 18
8192 #define R_MN10300_GOT16 19
8193 #define R_MN10300_COPY 20
8194 #define R_MN10300_GLOB_DAT 21
8195 #define R_MN10300_JMP_SLOT 22
8196 #define R_MN10300_RELATIVE 23
8198 #define R_MN10300_NUM 24
8202 #define R_M32R_NONE 0
8206 #define R_M32R_10_PCREL 4
8207 #define R_M32R_18_PCREL 5
8208 #define R_M32R_26_PCREL 6
8209 #define R_M32R_HI16_ULO 7
8210 #define R_M32R_HI16_SLO 8
8211 #define R_M32R_LO16 9
8212 #define R_M32R_SDA16 10
8213 #define R_M32R_GNU_VTINHERIT 11
8214 #define R_M32R_GNU_VTENTRY 12
8216 #define R_M32R_16_RELA 33
8217 #define R_M32R_32_RELA 34
8218 #define R_M32R_24_RELA 35
8219 #define R_M32R_10_PCREL_RELA 36
8220 #define R_M32R_18_PCREL_RELA 37
8221 #define R_M32R_26_PCREL_RELA 38
8222 #define R_M32R_HI16_ULO_RELA 39
8223 #define R_M32R_HI16_SLO_RELA 40
8224 #define R_M32R_LO16_RELA 41
8225 #define R_M32R_SDA16_RELA 42
8226 #define R_M32R_RELA_GNU_VTINHERIT 43
8227 #define R_M32R_RELA_GNU_VTENTRY 44
8229 #define R_M32R_GOT24 48
8230 #define R_M32R_26_PLTREL 49
8231 #define R_M32R_COPY 50
8232 #define R_M32R_GLOB_DAT 51
8233 #define R_M32R_JMP_SLOT 52
8234 #define R_M32R_RELATIVE 53
8235 #define R_M32R_GOTOFF 54
8236 #define R_M32R_GOTPC24 55
8237 #define R_M32R_GOT16_HI_ULO 56
8239 #define R_M32R_GOT16_HI_SLO 57
8241 #define R_M32R_GOT16_LO 58
8242 #define R_M32R_GOTPC_HI_ULO 59
8244 #define R_M32R_GOTPC_HI_SLO 60
8246 #define R_M32R_GOTPC_LO 61
8248 #define R_M32R_GOTOFF_HI_ULO 62
8250 #define R_M32R_GOTOFF_HI_SLO 63
8252 #define R_M32R_GOTOFF_LO 64
8253 #define R_M32R_NUM 256
8256 #define R_960_NONE 0
8259 #define R_960_IP24 3
8261 #define R_960_OPTCALL 5
8262 #define R_960_OPTCALLX 6
8263 #define R_960_OPTCALLXA 7
8269 #define R_V850_NONE 0
8270 #define R_V850_9_PCREL 1
8271 #define R_V850_22_PCREL 2
8272 #define R_V850_HI16_S 3
8273 #define R_V850_HI16 4
8274 #define R_V850_LO16 5
8278 #define R_V850_SDA_16_16_OFFSET 9
8280 #define R_V850_SDA_15_16_OFFSET 10
8281 #define R_V850_ZDA_16_16_OFFSET 11
8283 #define R_V850_ZDA_15_16_OFFSET 12
8284 #define R_V850_TDA_6_8_OFFSET 13
8285 #define R_V850_TDA_7_8_OFFSET 14
8286 #define R_V850_TDA_7_7_OFFSET 15
8287 #define R_V850_TDA_16_16_OFFSET 16
8290 #define R_V850_TDA_4_5_OFFSET 17
8291 #define R_V850_TDA_4_4_OFFSET 18
8292 #define R_V850_SDA_16_16_SPLIT_OFFSET 19
8293 #define R_V850_ZDA_16_16_SPLIT_OFFSET 20
8294 #define R_V850_CALLT_6_7_OFFSET 21
8295 #define R_V850_CALLT_16_16_OFFSET 22
8297 #define R_V850_GNU_VTINHERIT 23
8298 #define R_V850_GNU_VTENTRY 24
8300 #define R_V850_NUM 25
8303 #define R_AVR32_NONE 0
8304 #define R_AVR32_32 1
8305 #define R_AVR32_16 2
8307 #define R_AVR32_32_PCREL 4
8308 #define R_AVR32_16_PCREL 5
8309 #define R_AVR32_8_PCREL 6
8310 #define R_AVR32_DIFF32 7
8311 #define R_AVR32_DIFF16 8
8312 #define R_AVR32_DIFF8 9
8313 #define R_AVR32_GOT32 10
8314 #define R_AVR32_GOT16 11
8315 #define R_AVR32_GOT8 12
8316 #define R_AVR32_21S 13
8317 #define R_AVR32_16U 14
8318 #define R_AVR32_16S 15
8319 #define R_AVR32_8S 16
8320 #define R_AVR32_8S_EXT 17
8321 #define R_AVR32_22H_PCREL 18
8322 #define R_AVR32_18W_PCREL 19
8323 #define R_AVR32_16B_PCREL 20
8324 #define R_AVR32_16N_PCREL 21
8325 #define R_AVR32_14UW_PCREL 22
8326 #define R_AVR32_11H_PCREL 23
8327 #define R_AVR32_10UW_PCREL 24
8328 #define R_AVR32_9H_PCREL 25
8329 #define R_AVR32_9UW_PCREL 26
8330 #define R_AVR32_HI16 27
8331 #define R_AVR32_LO16 28
8332 #define R_AVR32_GOTPC 29
8333 #define R_AVR32_GOTCALL 30
8334 #define R_AVR32_LDA_GOT 31
8335 #define R_AVR32_GOT21S 32
8336 #define R_AVR32_GOT18SW 33
8337 #define R_AVR32_GOT16S 34
8338 #define R_AVR32_GOT7UW 35
8339 #define R_AVR32_32_CPENT 36
8340 #define R_AVR32_CPCALL 37
8341 #define R_AVR32_16_CP 38
8342 #define R_AVR32_9W_CP 39
8343 #define R_AVR32_RELATIVE 40
8344 #define R_AVR32_GLOB_DAT 41
8345 #define R_AVR32_JMP_SLOT 42
8346 #define R_AVR32_ALIGN 43
8347 #define R_AVR32_NUM 44
8350 #define DT_AVR32_GOTSZ 0x70000001
8354 #define R_H8_DIR32 1
8355 #define R_H8_DIR32_28 2
8356 #define R_H8_DIR32_24 3
8357 #define R_H8_DIR32_16 4
8358 #define R_H8_DIR32U 6
8359 #define R_H8_DIR32U_28 7
8360 #define R_H8_DIR32U_24 8
8361 #define R_H8_DIR32U_20 9
8362 #define R_H8_DIR32U_16 10
8363 #define R_H8_DIR24 11
8364 #define R_H8_DIR24_20 12
8365 #define R_H8_DIR24_16 13
8366 #define R_H8_DIR24U 14
8367 #define R_H8_DIR24U_20 15
8368 #define R_H8_DIR24U_16 16
8369 #define R_H8_DIR16 17
8370 #define R_H8_DIR16U 18
8371 #define R_H8_DIR16S_32 19
8372 #define R_H8_DIR16S_28 20
8373 #define R_H8_DIR16S_24 21
8374 #define R_H8_DIR16S_20 22
8375 #define R_H8_DIR16S 23
8376 #define R_H8_DIR8 24
8377 #define R_H8_DIR8U 25
8378 #define R_H8_DIR8Z_32 26
8379 #define R_H8_DIR8Z_28 27
8380 #define R_H8_DIR8Z_24 28
8381 #define R_H8_DIR8Z_20 29
8382 #define R_H8_DIR8Z_16 30
8383 #define R_H8_PCREL16 31
8384 #define R_H8_PCREL8 32
8385 #define R_H8_BPOS 33
8386 #define R_H8_PCREL32 34
8387 #define R_H8_GOT32O 35
8388 #define R_H8_GOT16O 36
8389 #define R_H8_DIR16A8 59
8390 #define R_H8_DIR16R8 60
8391 #define R_H8_DIR24A8 61
8392 #define R_H8_DIR24R8 62
8393 #define R_H8_DIR32A16 63
8394 #define R_H8_ABS32 65
8395 #define R_H8_ABS32A16 127
8396 #define R_H8_NUM 128
8399 #define R_NIOS_NONE 0
8401 #define R_NIOS_LO16_LO5 2
8402 #define R_NIOS_LO16_HI11 3
8403 #define R_NIOS_HI16_LO5 4
8404 #define R_NIOS_HI16_HI11 5
8405 #define R_NIOS_PCREL6 6
8406 #define R_NIOS_PCREL8 7
8407 #define R_NIOS_PCREL11 8
8409 #define R_NIOS_H_LO5 10
8410 #define R_NIOS_H_HI11 11
8411 #define R_NIOS_H_XLO5 12
8412 #define R_NIOS_H_XHI11 13
8413 #define R_NIOS_H_16 14
8414 #define R_NIOS_H_32 15
8415 #define R_NIOS_GNU_VTINHERIT 200
8416 #define R_NIOS_GNU_VTENTRY 201
8418 #define R_NIOS_NUM 202
8421 #define R_NIOS2_NONE 0
8422 #define R_NIOS2_S16 1
8423 #define R_NIOS2_U16 2
8424 #define R_NIOS2_PCREL16 3
8425 #define R_NIOS2_CALL26 4
8426 #define R_NIOS2_IMM5 5
8427 #define R_NIOS2_CACHE_OPX 6
8428 #define R_NIOS2_IMM6 7
8429 #define R_NIOS2_IMM8 8
8430 #define R_NIOS2_HI16 9
8431 #define R_NIOS2_LO16 10
8432 #define R_NIOS2_HIADJ16 11
8433 #define R_NIOS2_BFD_RELOC_32 12
8434 #define R_NIOS2_BFD_RELOC_16 13
8435 #define R_NIOS2_BFD_RELOC_8 14
8436 #define R_NIOS2_GPREL 15
8437 #define R_NIOS2_GNU_VTINHERIT 16
8438 #define R_NIOS2_GNU_VTENTRY 17
8439 #define R_NIOS2_UJMP 18
8440 #define R_NIOS2_CJMP 19
8441 #define R_NIOS2_CALLR 20
8442 #define R_NIOS2_ALIGN 21
8444 #define R_NIOS2_NUM 22
8449 #define DT_XTENSA_GOT_LOC_OFF (DT_LOPROC + 0)
8450 #define DT_XTENSA_GOT_LOC_SZ (DT_LOPROC + 1)
8451 #define DT_XTENSA_NUM 2
8454 #define R_XTENSA_NONE 0
8455 #define R_XTENSA_32 1
8456 #define R_XTENSA_RTLD 2
8457 #define R_XTENSA_GLOB_DAT 3
8458 #define R_XTENSA_JMP_SLOT 4
8459 #define R_XTENSA_RELATIVE 5
8460 #define R_XTENSA_PLT 6
8461 #define R_XTENSA_OP0 8
8462 #define R_XTENSA_OP1 9
8463 #define R_XTENSA_OP2 10
8464 #define R_XTENSA_ASM_EXPAND 11
8465 #define R_XTENSA_ASM_SIMPLIFY 12
8466 #define R_XTENSA_GNU_VTINHERIT 15
8467 #define R_XTENSA_GNU_VTENTRY 16
8468 #define R_XTENSA_DIFF8 17
8469 #define R_XTENSA_DIFF16 18
8470 #define R_XTENSA_DIFF32 19
8471 #define R_XTENSA_SLOT0_OP 20
8472 #define R_XTENSA_SLOT1_OP 21
8473 #define R_XTENSA_SLOT2_OP 22
8474 #define R_XTENSA_SLOT3_OP 23
8475 #define R_XTENSA_SLOT4_OP 24
8476 #define R_XTENSA_SLOT5_OP 25
8477 #define R_XTENSA_SLOT6_OP 26
8478 #define R_XTENSA_SLOT7_OP 27
8479 #define R_XTENSA_SLOT8_OP 28
8480 #define R_XTENSA_SLOT9_OP 29
8481 #define R_XTENSA_SLOT10_OP 30
8482 #define R_XTENSA_SLOT11_OP 31
8483 #define R_XTENSA_SLOT12_OP 32
8484 #define R_XTENSA_SLOT13_OP 33
8485 #define R_XTENSA_SLOT14_OP 34
8486 #define R_XTENSA_SLOT0_ALT 35
8487 #define R_XTENSA_SLOT1_ALT 36
8488 #define R_XTENSA_SLOT2_ALT 37
8489 #define R_XTENSA_SLOT3_ALT 38
8490 #define R_XTENSA_SLOT4_ALT 39
8491 #define R_XTENSA_SLOT5_ALT 40
8492 #define R_XTENSA_SLOT6_ALT 41
8493 #define R_XTENSA_SLOT7_ALT 42
8494 #define R_XTENSA_SLOT8_ALT 43
8495 #define R_XTENSA_SLOT9_ALT 44
8496 #define R_XTENSA_SLOT10_ALT 45
8497 #define R_XTENSA_SLOT11_ALT 46
8498 #define R_XTENSA_SLOT12_ALT 47
8499 #define R_XTENSA_SLOT13_ALT 48
8500 #define R_XTENSA_SLOT14_ALT 49
8502 #define R_XTENSA_NUM 50
8505 #define R_C6000_NONE 0
8506 #define R_C6000_ABS32 1
8507 #define R_C6000_ABS16 2
8508 #define R_C6000_ABS8 3
8509 #define R_C6000_PCR_S21 4
8510 #define R_C6000_PCR_S12 5
8511 #define R_C6000_PCR_S10 6
8512 #define R_C6000_PCR_S7 7
8513 #define R_C6000_ABS_S16 8
8514 #define R_C6000_ABS_L16 9
8515 #define R_C6000_ABS_H16 10
8516 #define R_C6000_SBR_U15_B 11
8517 #define R_C6000_SBR_U15_H 12
8518 #define R_C6000_SBR_U15_W 13
8519 #define R_C6000_SBR_S16 14
8520 #define R_C6000_SBR_L16_B 15
8521 #define R_C6000_SBR_L16_H 16
8522 #define R_C6000_SBR_L16_W 17
8523 #define R_C6000_SBR_H16_B 18
8524 #define R_C6000_SBR_H16_H 19
8525 #define R_C6000_SBR_H16_W 20
8526 #define R_C6000_SBR_GOT_U15_W 21
8527 #define R_C6000_SBR_GOT_L16_W 22
8528 #define R_C6000_SBR_GOT_H16_W 23
8529 #define R_C6000_DSBT_INDEX 24
8530 #define R_C6000_PREL31 25
8531 #define R_C6000_COPY 26
8532 #define R_C6000_JUMP_SLOT 27
8533 #define R_C6000_SBR_GOT32 28
8534 #define R_C6000_PCR_H16 29
8535 #define R_C6000_PCR_L16 30
8536 #define R_C6000_ALIGN 253
8537 #define R_C6000_FPHEAD 254
8538 #define R_C6000_NOCMP 255
8541 #define DT_C6000_DSBT_BASE (DT_LOPROC + 0)
8542 #define DT_C6000_DSBT_SIZE (DT_LOPROC + 1)
8543 #define DT_C6000_PREEMPTMAP (DT_LOPROC + 2)
8544 #define DT_C6000_DSBT_INDEX (DT_LOPROC + 3)
8546 #define DT_C6000_NUM 4
8549 #define R_MICROBLAZE_NONE 0
8550 #define R_MICROBLAZE_32 1
8551 #define R_MICROBLAZE_32_PCREL 2
8552 #define R_MICROBLAZE_64_PCREL 3
8553 #define R_MICROBLAZE_32_PCREL_LO 4
8554 #define R_MICROBLAZE_64 5
8555 #define R_MICROBLAZE_32_LO 6
8556 #define R_MICROBLAZE_SRO32 7
8557 #define R_MICROBLAZE_SRW32 8
8558 #define R_MICROBLAZE_64_NONE 9
8559 #define R_MICROBLAZE_32_SYM_OP_SYM 10
8560 #define R_MICROBLAZE_GNU_VTINHERIT 11
8561 #define R_MICROBLAZE_GNU_VTENTRY 12
8562 #define R_MICROBLAZE_GOTPC_64 13
8563 #define R_MICROBLAZE_GOT_64 14
8564 #define R_MICROBLAZE_PLT_64 15
8565 #define R_MICROBLAZE_REL 16
8566 #define R_MICROBLAZE_JUMP_SLOT 17
8567 #define R_MICROBLAZE_GLOB_DAT 18
8568 #define R_MICROBLAZE_GOTOFF_64 19
8569 #define R_MICROBLAZE_GOTOFF_32 20
8570 #define R_MICROBLAZE_COPY 21
8571 #define R_MICROBLAZE_NUM 22
8572 # 26 "./include/link.h" 2
8574 # 1 "./include/dlfcn.h" 1
8575 # 22 "./include/dlfcn.h"
8579 #define __need_size_t
8580 # 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
8581 # 160 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
8582 #undef __need_ptrdiff_t
8583 # 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
8584 #undef __need_size_t
8585 # 342 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
8586 #undef __need_wchar_t
8587 # 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
8593 #define NULL ((void *)0)
8604 #define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
8605 # 27 "./include/dlfcn.h" 2
8608 # 1 "./include/bits/dlfcn.h" 1
8609 # 25 "./include/bits/dlfcn.h"
8610 #define RTLD_LAZY 0x00001
8611 #define RTLD_NOW 0x00002
8612 #define RTLD_BINDING_MASK 0x3
8613 #define RTLD_NOLOAD 0x00004
8621 #define RTLD_GLOBAL 0x00100
8626 #define RTLD_LOCAL 0
8629 #define RTLD_NODELETE 0x01000
8630 # 30 "./include/dlfcn.h" 2
8638 #define RTLD_NEXT ((void *) -1l)
8643 #define RTLD_DEFAULT ((void *) 0)
8644 # 55 "./include/dlfcn.h"
8649 extern void *dlopen (__const char *__file, int __mode) __attribute__ ((__nothrow__));
8653 extern int dlclose (void *__handle) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
8657 extern void *dlsym (void *__restrict __handle,
8658 __const char *__restrict __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8659 # 85 "./include/dlfcn.h"
8660 extern char *dlerror (void) __attribute__ ((__nothrow__));
8668 __const char *dli_fname;
8670 __const char *dli_sname;
8676 extern int dladdr (__const void *__address, Dl_info *__info)
8677 __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
8678 # 193 "./include/dlfcn.h"
8679 extern int dlinfo (void);
8686 # 28 "./include/link.h" 2
8687 # 36 "./include/link.h"
8688 #define ElfW(type) _ElfW (Elf, __ELF_NATIVE_CLASS, type)
8689 #define _ElfW(e,w,t) _ElfW_1 (e, w, _ ##t)
8690 #define _ElfW_1(e,w,t) e ##w ##t
8692 # 1 "./include/bits/elfclass.h" 1
8693 # 9 "./include/bits/elfclass.h"
8694 # 1 "./include/bits/wordsize.h" 1
8695 # 19 "./include/bits/wordsize.h"
8696 #define __WORDSIZE 32
8697 # 10 "./include/bits/elfclass.h" 2
8699 #define __ELF_NATIVE_CLASS __WORDSIZE
8702 typedef uint32_t Elf_Symndx;
8703 # 41 "./include/link.h" 2
8714 struct link_map *r_map;
8731 Elf32_Addr r_ldbase;
8735 extern struct r_debug _r_debug;
8736 # 81 "./include/link.h"
8737 extern Elf32_Dyn _DYNAMIC[];
8740 # 1 "./include/bits/elf-fdpic.h" 1
8741 # 29 "./include/bits/elf-fdpic.h"
8742 #define _BITS_ELF_FDPIC_H
8743 # 41 "./include/bits/elf-fdpic.h"
8744 struct elf32_fdpic_loadseg
8754 struct elf32_fdpic_loadmap {
8760 struct elf32_fdpic_loadseg segs[ ];
8763 struct elf32_fdpic_loadaddr {
8764 struct elf32_fdpic_loadmap *map;
8770 static __inline __attribute__ ((__always_inline__)) void *
8771 __reloc_pointer (void *p,
8772 const struct elf32_fdpic_loadmap *map)
8775 # 85 "./include/bits/elf-fdpic.h"
8780 c < map->nsegs && p >= (void*)map->segs[c].p_vaddr;
8786 unsigned long offset = p - (void*)map->segs[c].p_vaddr;
8793 if (offset < map->segs[c].p_memsz
8794 || (offset == map->segs[c].p_memsz && c + 1 == map->nsegs))
8795 return (char*)map->segs[c].addr + offset;
8802 #define __RELOC_POINTER(ptr,loadaddr) (__reloc_pointer ((void*)(ptr), (loadaddr).map))
8803 # 85 "./include/link.h" 2
8804 # 96 "./include/link.h"
8811 struct elf32_fdpic_loadaddr l_addr;
8821 struct link_map *l_next, *l_prev;
8822 # 137 "./include/link.h"
8824 # 183 "./include/link.h"
8828 struct elf32_fdpic_loadaddr dlpi_addr;
8836 const char *dlpi_name;
8837 const Elf32_Phdr *dlpi_phdr;
8838 Elf32_Half dlpi_phnum;
8839 # 218 "./include/link.h"
8844 extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *,
8847 # 247 "./include/link.h"
8849 # 132 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h" 2
8850 # 83 "./ldso/ldso/bfin/dl-sysdep.h" 2
8852 static __inline __attribute__ ((__always_inline__)) Elf32_Addr
8853 elf_machine_load_address (void)
8859 static __inline __attribute__ ((__always_inline__)) void
8860 elf_machine_relative (struct elf32_fdpic_loadaddr load_off, const Elf32_Addr rel_addr,
8861 Elf32_Word relative_count)
8863 # 104 "./ldso/ldso/bfin/dl-sysdep.h"
8865 # 12 "./ldso/include/dl-string.h" 2
8870 #define do_rem(result,n,base) ((result) = (n) % (base))
8873 #define do_div_10(result,remain) ((result) /= 10)
8876 static size_t _dl_strlen(const char *str);
8877 static char *_dl_strcat(char *dst, const char *src);
8878 static char *_dl_strcpy(char *dst, const char *src);
8879 static int _dl_strcmp(const char *s1, const char *s2);
8880 static int _dl_strncmp(const char *s1, const char *s2, size_t len);
8881 static char *_dl_strchr(const char *str, int c);
8882 static char *_dl_strrchr(const char *str, int c);
8883 static char *_dl_strstr(const char *s1, const char *s2);
8884 static void *_dl_memcpy(void *dst, const void *src, size_t len);
8885 static int _dl_memcmp(const void *s1, const void *s2, size_t len);
8886 static void *_dl_memset(void *str, int c, size_t len);
8887 static char *_dl_get_last_path_component(char *path);
8888 static char *_dl_simple_ltoa(char *local, unsigned long i);
8889 static char *_dl_simple_ltoahex(char *local, unsigned long i);
8895 static __inline __attribute__ ((__always_inline__)) size_t _dl_strlen(const char *str)
8897 register const char *ptr = (char *) str-1;
8903 static __inline __attribute__ ((__always_inline__)) char * _dl_strcat(char *dst, const char *src)
8905 register char *ptr = dst-1;
8911 while ((*++ptr = *++src) != 0)
8916 static __inline __attribute__ ((__always_inline__)) char * _dl_strcpy(char *dst, const char *src)
8918 register char *ptr = dst;
8921 while ((*++dst = *++src) != 0)
8927 static __inline __attribute__ ((__always_inline__)) int _dl_strcmp(const char *s1, const char *s2)
8929 register unsigned char c1, c2;
8932 c1 = (unsigned char) *++s1;
8933 c2 = (unsigned char) *++s2;
8941 static __inline __attribute__ ((__always_inline__)) int _dl_strncmp(const char *s1, const char *s2, size_t len)
8943 register unsigned char c1 = '\0';
8944 register unsigned char c2 = '\0';
8948 c1 = (unsigned char) *++s1;
8949 c2 = (unsigned char) *++s2;
8950 if (c1 == '\0' || c1 != c2)
8957 static __inline __attribute__ ((__always_inline__)) char * _dl_strchr(const char *str, int c)
8962 if ((ch = *++str) == c)
8963 return (char *) str;
8970 static __inline __attribute__ ((__always_inline__)) char * _dl_strrchr(const char *str, int c)
8972 register char *prev = 0;
8973 register char *ptr = (char *) str-1;
8975 while (*++ptr != '\0') {
8984 static __inline __attribute__ ((__always_inline__)) char * _dl_strstr(const char *s1, const char *s2)
8986 register const char *s = s1;
8987 register const char *p = s2;
8991 return (char *) s1;;
9004 static __inline __attribute__ ((__always_inline__)) void * _dl_memcpy(void *dst, const void *src, size_t len)
9006 register char *a = dst-1;
9007 register const char *b = src-1;
9016 static __inline __attribute__ ((__always_inline__)) int _dl_memcmp(const void *s1, const void *s2, size_t len)
9018 unsigned char *c1 = (unsigned char *)s1-1;
9019 unsigned char *c2 = (unsigned char *)s2-1;
9028 # 203 "./ldso/include/dl-string.h"
9029 static __inline __attribute__ ((__always_inline__)) void * _dl_memset(void *str, int c, size_t len)
9031 register char *a = str;
9040 static __inline __attribute__ ((__always_inline__)) char * _dl_get_last_path_component(char *path)
9042 register char *ptr = path-1;
9048 while (ptr != path && *--ptr == '/') {
9053 while (ptr != path && *--ptr != '/')
9055 return ptr == path ? ptr : ptr+1;
9061 static __inline __attribute__ ((__always_inline__)) char * _dl_simple_ltoa(char *local, unsigned long i)
9065 char *p = &local[22];
9069 ((temp) = (i) % (10));
9076 static __inline __attribute__ ((__always_inline__)) char * _dl_simple_ltoahex(char *local, unsigned long i)
9080 char *p = &local[22];
9083 char temp = i & 0xf;
9087 *--p = 'a' - 0x0a + temp;
9094 # 294 "./ldso/include/dl-string.h"
9095 #define CONSTANT_STRING_GOT_FIXUP(X)
9098 #define SEND_STDERR(X) { const char *tmp1 = (X); CONSTANT_STRING_GOT_FIXUP(tmp1); _dl_write(2, tmp1, _dl_strlen(tmp1)); }
9105 #define SEND_ADDRESS_STDERR(ADR,add_a_newline) { char tmp[26], v, *tmp2, *tmp1 = tmp; unsigned long X = (unsigned long)(ADR); CONSTANT_STRING_GOT_FIXUP(tmp1); tmp2 = tmp1 + sizeof(tmp); *--tmp2 = '\0'; if (add_a_newline) *--tmp2 = '\n'; do { v = (X) & 0xf; if (v <= 0x09) *--tmp2 = '0' + v; else *--tmp2 = 'a' - 0x0a + v; (X) >>= 4; } while ((X) > 0); *--tmp2 = 'x'; *--tmp2 = '0'; _dl_write(2, tmp2, tmp1 - tmp2 + sizeof(tmp) - 1); }
9106 # 325 "./ldso/include/dl-string.h"
9107 #define SEND_NUMBER_STDERR(NUM,add_a_newline) { char tmp[26], v, *tmp2, *tmp1 = tmp; unsigned long X = (unsigned long)(NUM); CONSTANT_STRING_GOT_FIXUP(tmp1); tmp2 = tmp1 + sizeof(tmp); *--tmp2 = '\0'; if (add_a_newline) *--tmp2 = '\n'; do { do_rem(v, (X), 10); *--tmp2 = '0' + v; do_div_10((X), v); } while ((X) > 0); _dl_write(2, tmp2, tmp1 - tmp2 + sizeof(tmp) - 1); }
9108 # 350 "./ldso/include/dl-string.h"
9109 #define EARLY_STDERR_SPECIAL
9110 # 359 "./ldso/include/dl-string.h"
9111 #define SEND_STDERR_DEBUG(X)
9112 #define SEND_EARLY_STDERR_DEBUG(X)
9113 #define SEND_NUMBER_STDERR_DEBUG(X,add_a_newline)
9114 #define SEND_ADDRESS_STDERR_DEBUG(X,add_a_newline)
9115 # 45 "./ldso/include/ldso.h" 2
9118 # 1 "./ldso/include/dl-elf.h" 1
9119 # 9 "./ldso/include/dl-elf.h"
9129 struct r_scope_elem;
9131 # 1 "./ldso/include/dl-defs.h" 1
9132 # 9 "./ldso/include/dl-defs.h"
9136 #define FLAG_TYPE_MASK 0x00ff
9137 #define FLAG_LIBC4 0x0000
9138 #define FLAG_ELF 0x0001
9139 #define FLAG_ELF_LIBC5 0x0002
9140 #define FLAG_ELF_LIBC6 0x0003
9141 #define FLAG_ELF_UCLIBC 0x0004
9142 #define FLAG_REQUIRED_MASK 0xff00
9143 #define FLAG_SPARC_LIB64 0x0100
9144 #define FLAG_IA64_LIB64 0x0200
9145 #define FLAG_X8664_LIB64 0x0300
9146 #define FLAG_S390_LIB64 0x0400
9147 #define FLAG_POWERPC_LIB64 0x0500
9148 #define FLAG_MIPS64_LIBN32 0x0600
9149 #define FLAG_MIPS64_LIBN64 0x0700
9154 #define LIB_ELF64 0x80
9155 #define LIB_ELF_LIBC5 2
9156 #define LIB_ELF_LIBC6 3
9157 #define LIB_ELF_LIBC0 4
9163 #define LDSO_BASE_PATH UCLIBC_RUNTIME_PREFIX "etc/" __LDSO_BASE_FILENAME__
9170 #define LDSO_CONF LDSO_BASE_PATH ".conf"
9171 #define LDSO_CACHE LDSO_BASE_PATH ".cache"
9173 #define LDSO_CACHE_MAGIC "ld.so-"
9174 #define LDSO_CACHE_MAGIC_LEN (sizeof LDSO_CACHE_MAGIC -1)
9175 #define LDSO_CACHE_VER "1.7.0"
9176 #define LDSO_CACHE_VER_LEN (sizeof LDSO_CACHE_VER -1)
9179 char magic [(sizeof "ld.so-" -1)];
9180 char version [(sizeof "1.7.0" -1)];
9193 #define LDSO_CACHE_MMAP_FLAGS (MAP_PRIVATE)
9194 # 78 "./ldso/include/dl-defs.h"
9195 #define DL_START(X) static void * __attribute_used__ _dl_start(X)
9196 # 183 "./ldso/include/dl-defs.h"
9197 #define DL_ADDR_SYM_MATCH(SYM_ADDR,SYM,MATCHSYM,ADDR) ((ADDR) >= (SYM_ADDR) && ((((SYM)->st_shndx == SHN_UNDEF || (SYM)->st_size == 0) && (ADDR) == (SYM_ADDR)) || (ADDR) < (SYM_ADDR) + (SYM)->st_size) && (!(MATCHSYM) || MATCHSYM < (SYM_ADDR)))
9198 # 210 "./ldso/include/dl-defs.h"
9199 #define DL_MALLOC_ALIGN (__WORDSIZE / 8)
9203 #define __C_SYMBOL_PREFIX__ "_"
9204 # 21 "./ldso/include/dl-elf.h" 2
9206 extern int _dl_map_cache(void);
9207 extern int _dl_unmap_cache(void);
9213 #define DL_RESOLVE_SECURE 0x0001
9214 #define DL_RESOLVE_NOLOAD 0x0002
9217 extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
9218 unsigned long rel_addr, unsigned long rel_size);
9219 extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
9220 struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size);
9221 extern struct elf_resolve * _dl_load_shared_library(unsigned rflags,
9222 struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname,
9223 int trace_loaded_objects);
9224 extern struct elf_resolve * _dl_load_elf_shared_library(unsigned rflags,
9225 struct dyn_elf **rpnt, const char *libname);
9226 extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname,
9227 int trace_loaded_objects);
9228 extern int _dl_linux_resolve(void);
9229 extern int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int flag);
9230 extern void _dl_protect_relro (struct elf_resolve *l);
9231 # 61 "./ldso/include/dl-elf.h"
9232 #define ELF_ST_BIND(val) ELF32_ST_BIND(val)
9233 #define ELF_ST_TYPE(val) ELF32_ST_TYPE(val)
9234 #define ELF_R_SYM(i) ELF32_R_SYM(i)
9235 #define ELF_R_TYPE(i) ELF32_R_TYPE(i)
9237 #define ELF_CLASS ELFCLASS32
9238 # 81 "./ldso/include/dl-elf.h"
9239 #define ELF_RELOC ElfW(Rel)
9240 #define DT_RELOC_TABLE_ADDR DT_REL
9241 #define DT_RELOC_TABLE_SIZE DT_RELSZ
9242 #define DT_RELOCCOUNT DT_RELCOUNT
9243 #define UNSUPPORTED_RELOC_TYPE DT_RELA
9244 #define UNSUPPORTED_RELOC_STR "RELA"
9249 #define OS_NUM_BASE 1
9254 #define OS_NUM_GNU_HASH 0
9260 #define OS_NUM_PRELINK 0
9263 #define OS_NUM (OS_NUM_BASE + OS_NUM_GNU_HASH + OS_NUM_PRELINK)
9270 #define DYNAMIC_SIZE (DT_NUM + OS_NUM + ARCH_NUM)
9272 #define DT_RELCONT_IDX (DYNAMIC_SIZE - OS_NUM - ARCH_NUM)
9278 #define DT_GNU_HASH_IDX DT_RELCONT_IDX
9279 # 133 "./ldso/include/dl-elf.h"
9280 extern unsigned int _dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
9281 void *debug_addr, struct elf32_fdpic_loadaddr load_off);
9283 static __inline __attribute__ ((__always_inline__))
9284 unsigned int __dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
9285 void *debug_addr, struct elf32_fdpic_loadaddr load_off)
9287 unsigned int rtld_flags = 0;
9289 for (; dpnt->d_tag; dpnt++) {
9290 if (dpnt->d_tag < 34) {
9291 dynamic_info[dpnt->d_tag] = dpnt->d_un.d_val;
9297 if (dpnt->d_tag == 21)
9298 dpnt->d_un.d_val = (unsigned long)debug_addr;
9300 if (dpnt->d_tag == 24)
9301 dynamic_info[24] = 1;
9302 if (dpnt->d_tag == 30 &&
9303 (dpnt->d_un.d_val & 0x00000008))
9304 dynamic_info[24] = 1;
9305 if (dpnt->d_tag == 22)
9306 dynamic_info[22] = 1;
9308 if (dpnt->d_tag == 29)
9309 dynamic_info[15] = 0;
9310 if (dpnt->d_tag == 15 && dynamic_info[29])
9311 dynamic_info[15] = 0;
9313 } else if (dpnt->d_tag < 0x70000000) {
9314 if (dpnt->d_tag == 0x6ffffffa)
9315 dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)] = dpnt->d_un.d_val;
9316 if (dpnt->d_tag == 0x6ffffffb) {
9317 if (dpnt->d_un.d_val & 0x00000001)
9318 dynamic_info[24] = 1;
9319 if (dpnt->d_un.d_val & 0x00000008)
9320 rtld_flags |= 0x01000;
9322 # 193 "./ldso/include/dl-elf.h"
9330 #define ADJUST_DYN_INFO(tag,load_off) do { if (dynamic_info[tag]) dynamic_info[tag] = (unsigned long) DL_RELOC_ADDR(load_off, dynamic_info[tag]); } while (0)
9331 # 211 "./ldso/include/dl-elf.h"
9333 do { if (dynamic_info[4]) dynamic_info[4] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[4]), (load_off).map)); } while (0);
9334 do { if (dynamic_info[3]) dynamic_info[3] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[3]), (load_off).map)); } while (0);
9335 do { if (dynamic_info[5]) dynamic_info[5] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[5]), (load_off).map)); } while (0);
9336 do { if (dynamic_info[6]) dynamic_info[6] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[6]), (load_off).map)); } while (0);
9337 do { if (dynamic_info[17]) dynamic_info[17] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[17]), (load_off).map)); } while (0);
9338 do { if (dynamic_info[23]) dynamic_info[23] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[23]), (load_off).map)); } while (0);
9343 # 231 "./ldso/include/dl-elf.h"
9344 #undef ADJUST_DYN_INFO
9347 # 243 "./ldso/include/dl-elf.h"
9348 #define ELF_RTYPE_CLASS_COPY (0x0)
9352 #define ELF_RTYPE_CLASS_PLT (0x1)
9357 #define ELF_RTYPE_CLASS_DLSYM 0x80000000
9362 #define LXFLAGS(X) ( (((X) & PF_R) ? PROT_READ : 0) | (((X) & PF_W) ? PROT_WRITE : 0) | (((X) & PF_X) ? PROT_EXEC : 0))
9363 # 48 "./ldso/include/ldso.h" 2
9368 # 1 "./ldso/include/dl-hash.h" 1
9369 # 9 "./ldso/include/dl-hash.h"
9377 struct elf_resolve **init_fini;
9378 unsigned long nlist;
9382 struct elf_resolve * dyn;
9383 struct dyn_elf * next_handle;
9384 struct init_fini init_fini;
9385 struct dyn_elf * next;
9386 struct dyn_elf * prev;
9390 const Elf32_Sym *sym;
9391 struct elf_resolve *tpnt;
9396 struct r_scope_elem {
9397 struct elf_resolve **r_list;
9398 unsigned int r_nlist;
9399 struct r_scope_elem *next;
9402 struct elf_resolve {
9405 struct elf32_fdpic_loadaddr loadaddr;
9407 Elf32_Dyn *dynamic_addr;
9408 struct elf_resolve * next;
9409 struct elf_resolve * prev;
9410 # 75 "./ldso/include/dl-hash.h"
9416 enum {elf_lib, elf_executable,program_interpreter, loaded_file} libtype;
9418 struct r_scope_elem symbol_scope;
9419 unsigned short usage_count;
9420 unsigned short int init_flag;
9421 unsigned long rtld_flags;
9423 # 100 "./ldso/include/dl-hash.h"
9424 Elf_Symndx *elf_buckets;
9427 struct init_fini_list *init_fini;
9428 struct init_fini_list *rtld_local;
9433 # 117 "./ldso/include/dl-hash.h"
9436 unsigned long dynamic_info[(34 + (1 + 0 + 0) + 0)];
9438 unsigned long n_phent;
9441 Elf32_Addr relro_addr;
9446 # 140 "./ldso/include/dl-hash.h"
9447 struct funcdesc_ht *funcdesc_ht;
9451 #define RELOCS_DONE 0x000001
9452 #define JMP_RELOCS_DONE 0x000002
9453 #define INIT_FUNCS_CALLED 0x000004
9454 #define FINI_FUNCS_CALLED 0x000008
9455 #define DL_OPENED 0x000010
9456 #define DL_RESERVED 0x000020
9458 extern struct dyn_elf * _dl_symbol_tables;
9459 extern struct elf_resolve * _dl_loaded_modules;
9460 extern struct dyn_elf * _dl_handles;
9462 extern struct elf_resolve * _dl_add_elf_hash_table(const char * libname,
9463 struct elf32_fdpic_loadaddr loadaddr, unsigned long * dynamic_info,
9464 unsigned long dynamic_addr, unsigned long dynamic_size);
9466 extern char *_dl_find_hash(const char *name, struct r_scope_elem *scope,
9467 struct elf_resolve *mytpnt, int type_class,
9468 struct symbol_ref *symbol);
9470 extern int _dl_linux_dynamic_link(void);
9472 extern char * _dl_library_path;
9473 extern char * _dl_not_lazy;
9475 static __inline__ int _dl_symbol(char * name)
9477 if (name[0] != '_' || name[1] != 'd' || name[2] != 'l' || name[3] != '_')
9482 #define LD_ERROR_NOFILE 1
9483 #define LD_ERROR_NOZERO 2
9484 #define LD_ERROR_NOTELF 3
9485 #define LD_ERROR_NOTMAGIC 4
9486 #define LD_ERROR_NOTDYN 5
9487 #define LD_ERROR_MMAP_FAILED 6
9488 #define LD_ERROR_NODYNAMIC 7
9489 #define LD_ERROR_TLS_FAILED 8
9490 #define LD_WRONG_RELOCS 9
9491 #define LD_BAD_HANDLE 10
9492 #define LD_NO_SYMBOL 11
9493 # 53 "./ldso/include/ldso.h" 2
9497 #define ADDR_ALIGN (_dl_pagesize - 1)
9501 #define PAGE_ALIGN (~ADDR_ALIGN)
9505 #define OFFS_ALIGN (PAGE_ALIGN & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1)))
9509 struct init_fini_list {
9510 struct init_fini_list *next;
9511 struct elf_resolve *tpnt;
9515 extern char *_dl_library_path;
9516 extern char *_dl_preload;
9518 extern const char *_dl_ldsopath;
9520 extern const char *_dl_progname;
9521 extern size_t _dl_pagesize;
9526 #define _dl_trace_prelink 0
9527 # 111 "./ldso/include/ldso.h"
9528 #define __dl_debug_dprint(fmt,args...) do {} while (0)
9529 #define _dl_if_debug_dprint(fmt,args...) do {} while (0)
9530 #define _dl_debug_file 2
9531 # 126 "./ldso/include/ldso.h"
9532 #define _dl_assert(expr) ((void)0)
9533 # 136 "./ldso/include/ldso.h"
9534 #define _dl_debug_early(fmt,args...) do {} while (0)
9541 extern void *_dl_malloc(size_t size);
9542 extern void *_dl_calloc(size_t __nmemb, size_t __size);
9543 extern void *_dl_realloc(void *__ptr, size_t __size);
9544 extern void _dl_free(void *);
9545 extern char *_dl_getenv(const char *symbol, char **envp);
9546 extern void _dl_unsetenv(const char *symbol, char **envp);
9547 extern char *_dl_strdup(const char *string);
9548 extern void _dl_dprintf(int, const char *, ...);
9549 # 159 "./ldso/include/ldso.h"
9550 extern void *_dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf32_fdpic_loadaddr load_addr,
9551 Elf32_auxv_t auxvt[14 + 1], char **envp, char **argv
9552 , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer);
9555 # 1 "./ldso/ldso/bfin/dl-inlines.h" 1
9563 # 1 "./include/bfin_sram.h" 1
9564 # 10 "./include/bfin_sram.h"
9565 #define __BFIN_SRAM_H__
9572 #define L1_INST_SRAM 0x00000001
9573 #define L1_DATA_A_SRAM 0x00000002
9574 #define L1_DATA_B_SRAM 0x00000004
9575 #define L1_DATA_SRAM 0x00000006
9576 #define L2_SRAM 0x00000008
9578 extern void *sram_alloc(size_t size, unsigned long flags)
9579 __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
9580 extern int sram_free(const void *addr);
9581 extern void *dma_memcpy(void *dest, const void *src, size_t len)
9582 __attribute__ ((__nonnull__ (1, 2)));
9585 # 9 "./ldso/ldso/bfin/dl-inlines.h" 2
9587 #define __dl_loadaddr_unmap __dl_loadaddr_unmap
9589 # 1 "./ldso/ldso/bfin/../fdpic/dl-inlines.h" 1
9590 # 9 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9591 static __inline __attribute__ ((__always_inline__)) void
9592 __dl_init_loadaddr_map(struct elf32_fdpic_loadaddr *loadaddr, Elf32_Addr dl_boot_got_pointer,
9593 struct elf32_fdpic_loadmap *map)
9595 if (map->version != 0) {
9596 do { static const char __attribute__((section(".text"))) __s[] = ("Invalid loadmap version number\n"); const char *__p, *__scratch; __asm__ ("call 1f;\n1:\n\t" "%1 = RETS;\n\t" "%0 = [%3 + 1b@GOT17M4];\n\t" "%1 = %1 - %0;\n\t" "%1 = %1 + %2;\n\t" : "=&d" (__scratch), "=&d" (__p) : "d" (__s), "a" (dl_boot_got_pointer) : "RETS"); { const char *tmp1 = (__p); ; _dl_write(2, tmp1, _dl_strlen(tmp1)); }; { int __t; for (__t = 0; __t < 0x1000000; __t++) __asm__ __volatile__ (""); } } while (0);
9599 if (map->nsegs == 0) {
9600 do { static const char __attribute__((section(".text"))) __s[] = ("Invalid segment count in loadmap\n"); const char *__p, *__scratch; __asm__ ("call 1f;\n1:\n\t" "%1 = RETS;\n\t" "%0 = [%3 + 1b@GOT17M4];\n\t" "%1 = %1 - %0;\n\t" "%1 = %1 + %2;\n\t" : "=&d" (__scratch), "=&d" (__p) : "d" (__s), "a" (dl_boot_got_pointer) : "RETS"); { const char *tmp1 = (__p); ; _dl_write(2, tmp1, _dl_strlen(tmp1)); }; { int __t; for (__t = 0; __t < 0x1000000; __t++) __asm__ __volatile__ (""); } } while (0);
9603 loadaddr->got_value = (void *)dl_boot_got_pointer;
9604 loadaddr->map = map;
9612 static __inline __attribute__ ((__always_inline__)) int
9613 __dl_init_loadaddr(struct elf32_fdpic_loadaddr *loadaddr, Elf32_Phdr *ppnt,
9619 for (i = 0; i < pcnt; i++)
9620 if (ppnt[i].p_type == 1)
9623 loadaddr->got_value = 0;
9625 size = sizeof(struct elf32_fdpic_loadmap) +
9626 (sizeof(struct elf32_fdpic_loadseg) * count);
9627 loadaddr->map = _dl_malloc(size);
9631 loadaddr->map->version = 0;
9632 loadaddr->map->nsegs = 0;
9638 static __inline __attribute__ ((__always_inline__)) void
9639 __dl_init_loadaddr_hdr(struct elf32_fdpic_loadaddr loadaddr, void *addr,
9640 Elf32_Phdr *phdr, int maxsegs)
9642 struct elf32_fdpic_loadseg *segdata;
9644 if (loadaddr.map->nsegs == maxsegs)
9647 segdata = &loadaddr.map->segs[loadaddr.map->nsegs++];
9648 segdata->addr = (Elf32_Addr)addr;
9649 segdata->p_vaddr = phdr->p_vaddr;
9650 segdata->p_memsz = phdr->p_memsz;
9661 static __inline __attribute__ ((__always_inline__)) void
9662 __dl_update_loadaddr_hdr(struct elf32_fdpic_loadaddr loadaddr, void *addr,
9665 struct elf32_fdpic_loadseg *segdata;
9669 for (i = 0; i < loadaddr.map->nsegs; i++)
9670 if (loadaddr.map->segs[i].p_vaddr == phdr->p_vaddr &&
9671 loadaddr.map->segs[i].p_memsz == phdr->p_memsz)
9673 if (i == loadaddr.map->nsegs)
9676 segdata = loadaddr.map->segs + i;
9677 oldaddr = (void *)segdata->addr;
9678 _dl_munmap(oldaddr, segdata->p_memsz);
9679 segdata->addr = (Elf32_Addr)addr;
9688 # 132 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9689 static __inline __attribute__ ((__always_inline__)) int
9690 __dl_addr_in_loadaddr(void *p, struct elf32_fdpic_loadaddr loadaddr)
9692 struct elf32_fdpic_loadmap *map = loadaddr.map;
9695 for (c = 0; c < map->nsegs; c++)
9696 if ((void *)map->segs[c].addr <= p &&
9697 (char *)p < (char *)map->segs[c].addr + map->segs[c].p_memsz)
9702 # 154 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9703 static __inline __attribute__ ((__always_inline__)) unsigned long
9704 higher_prime_number(unsigned long n)
9707 static const unsigned long primes[] = {
9737 ((unsigned long) 2147483647) + ((unsigned long) 2147483644),
9739 const unsigned long *low = &primes[0];
9740 const unsigned long *high = &primes[(sizeof(primes) / sizeof((primes)[0]))];
9742 while (low != high) {
9743 const unsigned long *mid = low + (high - low) / 2;
9749 # 209 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9756 struct funcdesc_value **entries;
9765 static __inline __attribute__ ((__always_inline__)) int
9766 hash_pointer(const void *p)
9768 return (int) ((long)p >> 3);
9771 static __inline __attribute__ ((__always_inline__)) struct funcdesc_ht *
9774 struct funcdesc_ht *ht = _dl_malloc(sizeof(*ht));
9780 ent_size = sizeof(struct funcdesc_ht_value *) * ht->size;
9781 ht->entries = _dl_malloc(ent_size);
9786 _dl_memset(ht->entries, 0, ent_size);
9795 static __inline __attribute__ ((__always_inline__)) void
9796 htab_delete(struct funcdesc_ht *htab)
9800 for (i = htab->size - 1; i >= 0; i--)
9801 if (htab->entries[i])
9802 _dl_free(htab->entries[i]);
9804 _dl_free(htab->entries);
9807 # 275 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9808 static __inline __attribute__ ((__always_inline__)) struct funcdesc_value **
9809 find_empty_slot_for_expand(struct funcdesc_ht *htab, int hash)
9811 size_t size = htab->size;
9812 unsigned int index = hash % size;
9813 struct funcdesc_value **slot = htab->entries + index;
9819 hash2 = 1 + hash % (size - 2);
9825 slot = htab->entries + index;
9830 # 307 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9831 static __inline __attribute__ ((__always_inline__)) int
9832 htab_expand(struct funcdesc_ht *htab)
9834 struct funcdesc_value **oentries;
9835 struct funcdesc_value **olimit;
9836 struct funcdesc_value **p;
9837 struct funcdesc_value **nentries;
9840 oentries = htab->entries;
9841 olimit = oentries + htab->size;
9847 if (htab->n_elements * 2 > htab->size)
9848 nsize = higher_prime_number(htab->n_elements * 2);
9852 nentries = _dl_malloc(sizeof(*nentries) * nsize);
9853 _dl_memset(nentries, 0, sizeof(*nentries) * nsize);
9854 if (nentries == ((void *)0))
9856 htab->entries = nentries;
9862 *find_empty_slot_for_expand(htab, hash_pointer((*p)->entry_point)) = *p;
9864 } while (p < olimit);
9865 # 355 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9868 # 367 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
9869 static __inline __attribute__ ((__always_inline__)) struct funcdesc_value **
9870 htab_find_slot(struct funcdesc_ht *htab, void *ptr, int insert)
9875 struct funcdesc_value **entry;
9877 if (htab->size * 3 <= htab->n_elements * 4 &&
9878 htab_expand(htab) == 0)
9881 hash = hash_pointer(ptr);
9884 index = hash % size;
9886 entry = &htab->entries[index];
9889 else if ((*entry)->entry_point == ptr)
9892 hash2 = 1 + hash % (size - 2);
9898 entry = &htab->entries[index];
9901 else if ((*entry)->entry_point == ptr)
9914 _dl_funcdesc_for (void *entry_point, void *got_value)
9916 struct elf_resolve *tpnt = ((void**)got_value)[2];
9917 struct funcdesc_ht *ht = tpnt->funcdesc_ht;
9918 struct funcdesc_value **entry;
9926 tpnt->funcdesc_ht = ht;
9929 entry = htab_find_slot(ht, entry_point, 1);
9932 return ({ __asm__ ("" : "+m" (*(*entry))); (*entry); });
9935 *entry = _dl_malloc(sizeof(**entry));
9936 (*entry)->entry_point = entry_point;
9937 (*entry)->got_value = got_value;
9939 return ({ __asm__ ("" : "+m" (*(*entry))); (*entry); });
9942 static __inline __attribute__ ((__always_inline__)) void const *
9943 _dl_lookup_address(void const *address)
9945 struct elf_resolve *rpnt;
9946 struct funcdesc_value const *fd;
9949 __asm__ ("" : "+r" (address));
9951 if ((Elf32_Addr)address & 7)
9957 for (rpnt = _dl_loaded_modules; rpnt; rpnt = rpnt->next) {
9958 if (!rpnt->funcdesc_ht)
9961 if (fd->got_value != rpnt->loadaddr.got_value)
9964 address = htab_find_slot(rpnt->funcdesc_ht, (void *)fd->entry_point, 0);
9966 if (address && *(struct funcdesc_value *const*)address == fd) {
9967 address = (*(struct funcdesc_value *const*)address)->entry_point;
9975 # 13 "./ldso/ldso/bfin/dl-inlines.h" 2
9977 static __inline __attribute__ ((__always_inline__)) void
9978 __dl_loadaddr_unmap(struct elf32_fdpic_loadaddr loadaddr,
9979 struct funcdesc_ht *funcdesc_ht)
9983 for (i = 0; i < loadaddr.map->nsegs; i++) {
9984 struct elf32_fdpic_loadseg *segdata;
9986 segdata = loadaddr.map->segs + i;
9993 if ((segdata->addr & 0xff800000) == 0xff800000) {
9994 _dl_sram_free((void *)segdata->addr);
9998 offs = (segdata->p_vaddr & (_dl_pagesize - 1));
9999 _dl_munmap((void*)segdata->addr - offs,
10000 segdata->p_memsz + offs);
10009 _dl_free(loadaddr.map);
10011 htab_delete(funcdesc_ht);
10014 static __inline __attribute__ ((__always_inline__)) int
10015 __dl_is_special_segment(Elf32_Ehdr *epnt, Elf32_Phdr *ppnt)
10017 if (ppnt->p_type != 1)
10021 if ((epnt->e_flags & 0x00000010) &&
10022 !(ppnt->p_flags & (1 << 1)) && (ppnt->p_flags & (1 << 0)))
10026 if ((epnt->e_flags & 0x00000020) &&
10027 (ppnt->p_flags & (1 << 1)) && !(ppnt->p_flags & (1 << 0)))
10034 switch (ppnt->p_vaddr) {
10047 static __inline __attribute__ ((__always_inline__)) char *
10048 __dl_map_segment(Elf32_Ehdr *epnt, Elf32_Phdr *ppnt, int infile, int flags)
10051 unsigned long sram_flags = 0;
10054 if (((epnt->e_flags & 0x00000010) || ppnt->p_vaddr == 0xffa00000) &&
10055 !(ppnt->p_flags & (1 << 1)) && (ppnt->p_flags & (1 << 0)))
10057 size_t size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
10058 void *status = _dl_mmap(((void *)0), size, ( (((ppnt->p_flags) & (1 << 2)) ? 0x1 : 0) | (((ppnt->p_flags) & (1 << 1)) ? 0x2 : 0) | (((ppnt->p_flags) & (1 << 0)) ? 0x4 : 0)),
10059 flags | 0x01000 | 0x00800,
10060 infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
10061 if ((((void *)status) == ((void *) -1)))
10062 return ((void *)0);
10064 addr = _dl_sram_alloc(ppnt->p_filesz, 0x00000001);
10066 _dl_dma_memcpy(addr, status + (ppnt->p_vaddr & (_dl_pagesize - 1)), ppnt->p_filesz);
10068 _dl_dprintf(2, "%s:%s: sram allocation %#x failed\n",
10069 _dl_progname, __func__, ppnt->p_vaddr);
10071 _dl_munmap(status, size);
10076 if (((epnt->e_flags & 0x00000020) ||
10077 ppnt->p_vaddr == 0xff700000 ||
10078 ppnt->p_vaddr == 0xff800000 ||
10079 ppnt->p_vaddr == 0xff900000) &&
10080 (ppnt->p_flags & (1 << 1)) && !(ppnt->p_flags & (1 << 0)))
10082 switch (ppnt->p_vaddr) {
10083 case 0xff800000: sram_flags = 0x00000002; break;
10084 case 0xff900000: sram_flags = 0x00000004; break;
10085 default: sram_flags = 0x00000006; break;
10090 if (ppnt->p_vaddr == 0xfeb00000 || ppnt->p_vaddr == 0xfec00000)
10091 sram_flags = 0x00000008;
10094 addr = _dl_sram_alloc(ppnt->p_memsz, sram_flags);
10096 if ((_dl_pread((infile), (addr), (ppnt->p_filesz), (ppnt->p_offset))) != ppnt->p_filesz) {
10097 _dl_sram_free(addr);
10098 return ((void *)0);
10100 if (ppnt->p_filesz < ppnt->p_memsz)
10101 _dl_memset(addr + ppnt->p_filesz, 0, ppnt->p_memsz - ppnt->p_filesz);
10103 _dl_dprintf(2, "%s:%s: sram allocation %#x failed\n",
10104 _dl_progname, __func__, ppnt->p_vaddr);
10110 # 165 "./ldso/include/ldso.h" 2
10111 # 34 "ldso/ldso/ldso.c" 2
10112 # 1 "./ldso/include/unsecvars.h" 1
10113 # 14 "./ldso/include/unsecvars.h"
10114 #define UNSECURE_ENVVARS "LD_PRELOAD\0" "LD_LIBRARY_PATH\0" "LD_DEBUG\0" "LD_DEBUG_OUTPUT\0" "LD_TRACE_LOADED_OBJECTS\0" "TMPDIR\0"
10115 # 35 "ldso/ldso/ldso.c" 2
10118 # 1 "ldso/ldso/dl-debug.c" 1
10119 # 103 "ldso/ldso/dl-debug.c"
10120 #define debug_sym(symtab,strtab,symtab_index)
10121 #define debug_reloc(symtab,strtab,rpnt)
10122 # 161 "ldso/ldso/dl-debug.c"
10123 #define _dl_debug_lookup(undef_name,undef_map,ref,value,type_class)
10124 # 38 "ldso/ldso/ldso.c" 2
10126 #define ALLOW_ZERO_PLTGOT
10133 # 1 "ldso/ldso/bfin/elfinterp.c" 1
10134 # 40 "ldso/ldso/bfin/elfinterp.c"
10135 __attribute__((__visibility__("hidden")))
10136 struct funcdesc_value volatile *
10137 _dl_linux_resolver (struct elf_resolve *tpnt, int reloc_entry)
10139 Elf32_Rel *this_reloc;
10145 struct funcdesc_value funcval;
10146 struct funcdesc_value volatile *got_entry;
10148 struct symbol_ref sym_ref;
10150 rel_addr = (char *)tpnt->dynamic_info[23];
10152 this_reloc = (Elf32_Rel *)(intptr_t)(rel_addr + reloc_entry);
10153 symtab_index = ((this_reloc->r_info) >> 8);
10155 symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
10156 strtab = (char *) tpnt->dynamic_info[5];
10157 sym_ref.sym = &symtab[symtab_index];
10158 sym_ref.tpnt = ((void *)0);
10159 symname= strtab + symtab[symtab_index].st_name;
10162 got_entry = (struct funcdesc_value *) ((Elf32_Addr)__reloc_pointer ((void*)(this_reloc->r_offset), (tpnt->loadaddr).map));
10165 new_addr = _dl_find_hash(symname, &_dl_loaded_modules->symbol_scope, ((void *)0), 0, &sym_ref);
10167 new_addr = _dl_find_hash(symname, ((void *)0), ((void *)0), 0, &sym_ref);
10169 _dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
10170 _dl_progname, symname);
10175 funcval.entry_point = new_addr;
10176 funcval.got_value = sym_ref.tpnt->loadaddr.got_value;
10177 # 97 "ldso/ldso/bfin/elfinterp.c"
10178 *got_entry = funcval;
10185 _dl_parse(struct elf_resolve *tpnt, struct r_scope_elem *scope,
10186 unsigned long rel_addr, unsigned long rel_size,
10187 int (*reloc_fnc) (struct elf_resolve *tpnt, struct r_scope_elem *scope,
10188 Elf32_Rel *rpnt, Elf32_Sym *symtab, char *strtab))
10197 rpnt = (Elf32_Rel *) rel_addr;
10198 rel_size = rel_size / sizeof(Elf32_Rel);
10200 symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
10201 strtab = (char *) tpnt->dynamic_info[5];
10203 for (i = 0; i < rel_size; i++, rpnt++) {
10206 symtab_index = ((rpnt->r_info) >> 8);
10210 res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
10212 if (res==0) continue;
10214 _dl_dprintf(2, "\n%s: ",_dl_progname);
10217 _dl_dprintf(2, "symbol '%s': ", strtab + symtab[symtab_index].st_name);
10220 int reloc_type = ((rpnt->r_info) & 0xff);
10224 _dl_dprintf(2, "can't handle reloc type %x\n", reloc_type);
10227 } else if (res >0) {
10228 _dl_dprintf(2, "can't resolve symbol\n");
10236 _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope,
10237 Elf32_Rel *rpnt, Elf32_Sym *symtab, char *strtab)
10242 unsigned long reloc_value = 0, *reloc_addr;
10243 struct { unsigned long v; } __attribute__((__packed__))
10244 *reloc_addr_packed;
10245 unsigned long symbol_addr;
10246 struct elf_resolve *symbol_tpnt;
10247 struct funcdesc_value funcval;
10251 struct symbol_ref sym_ref;
10253 reloc_addr = (unsigned long *) ((Elf32_Addr)__reloc_pointer ((void*)(rpnt->r_offset), (tpnt->loadaddr).map));
10254 __asm__ ("" : "=r" (reloc_addr_packed) : "0" (reloc_addr));
10255 reloc_type = ((rpnt->r_info) & 0xff);
10256 symtab_index = ((rpnt->r_info) >> 8);
10258 sym_ref.sym = &symtab[symtab_index];
10259 sym_ref.tpnt = ((void *)0);
10260 symname = strtab + symtab[symtab_index].st_name;
10262 if ((((unsigned char) (symtab[symtab_index].st_info)) >> 4) == 0) {
10263 symbol_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(symtab[symtab_index].st_value), (tpnt->loadaddr).map));
10264 symbol_tpnt = tpnt;
10267 symbol_addr = (unsigned long)
10268 _dl_find_hash(symname, scope, ((void *)0), 0, &sym_ref);
10276 if (!symbol_addr && (((unsigned char) (symtab[symtab_index].st_info)) >> 4) != 2) {
10277 _dl_dprintf (2, "%s: can't resolve symbol '%s'\n",
10278 _dl_progname, symname);
10285 symbol_tpnt = sym_ref.tpnt;
10287 # 218 "ldso/ldso/bfin/elfinterp.c"
10288 switch (reloc_type) {
10292 if ((long)reloc_addr_packed & 3)
10293 reloc_value = reloc_addr_packed->v += symbol_addr;
10295 reloc_value = *reloc_addr += symbol_addr;
10298 funcval.entry_point = (void*)symbol_addr;
10304 if ((((unsigned char) (symtab[symtab_index].st_info)) >> 4) == 0)
10305 funcval.entry_point += *reloc_addr;
10306 reloc_value = (unsigned long)funcval.entry_point;
10309 = symbol_tpnt->loadaddr.got_value;
10311 funcval.got_value = 0;
10312 __asm__ ("%0 = %2; %1 = %H2;"
10313 : "=m" (*(struct funcdesc_value *)reloc_addr), "=m" (((long *)reloc_addr)[1])
10317 if ((long)reloc_addr_packed & 3)
10318 reloc_value = reloc_addr_packed->v;
10320 reloc_value = *reloc_addr;
10322 reloc_value = (unsigned long)_dl_funcdesc_for
10323 ((char *)symbol_addr + reloc_value,
10324 symbol_tpnt->loadaddr.got_value);
10327 if ((long)reloc_addr_packed & 3)
10328 reloc_addr_packed->v = reloc_value;
10330 *reloc_addr = reloc_value;
10335 # 283 "ldso/ldso/bfin/elfinterp.c"
10340 _dl_do_lazy_reloc (struct elf_resolve *tpnt,
10341 struct r_scope_elem *scope __attribute__((unused)),
10342 Elf32_Rel *rpnt, Elf32_Sym *symtab __attribute__((unused)),
10343 char *strtab __attribute__((unused)))
10346 struct funcdesc_value volatile *reloc_addr;
10347 struct funcdesc_value funcval;
10352 reloc_addr = (struct funcdesc_value *) ((Elf32_Addr)__reloc_pointer ((void*)(rpnt->r_offset), (tpnt->loadaddr).map));
10353 reloc_type = ((rpnt->r_info) & 0xff);
10358 switch (reloc_type) {
10362 funcval = *reloc_addr;
10363 funcval.entry_point = (void *) ((Elf32_Addr)__reloc_pointer ((void*)(funcval.entry_point), (tpnt->loadaddr).map));
10364 funcval.got_value = tpnt->loadaddr.got_value;
10365 *reloc_addr = funcval;
10379 _dl_parse_lazy_relocation_information
10380 (struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size)
10382 _dl_parse(rpnt->dyn, ((void *)0), rel_addr, rel_size, _dl_do_lazy_reloc);
10386 _dl_parse_relocation_information
10387 (struct dyn_elf *rpnt, struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size)
10389 return _dl_parse(rpnt->dyn, scope, rel_addr, rel_size, _dl_do_reloc);
10395 _dl_parse_copy_information
10396 (struct dyn_elf *rpnt __attribute__((unused)),
10397 unsigned long rel_addr __attribute__((unused)),
10398 unsigned long rel_size __attribute__((unused)))
10404 # 1 "./ldso/include/../../libc/sysdeps/linux/bfin/crtreloc.c" 1
10405 # 37 "./ldso/include/../../libc/sysdeps/linux/bfin/crtreloc.c"
10413 static __inline __attribute__ ((__always_inline__)) void ***
10414 reloc_range_indirect (void ***p, void ***e,
10415 const struct elf32_fdpic_loadmap *map)
10419 if (*p != (void **)-1)
10421 void *ptr = __reloc_pointer (*p, map);
10422 if (ptr != (void *)-1)
10427 unsigned char *c = ptr;
10429 unsigned long v = 0;
10430 for (i = 0; i < 4; i++)
10431 v |= c[i] << 8 * i;
10436 pt = __reloc_pointer (pt, map);
10439 unsigned char *c = ptr;
10441 unsigned long v = (unsigned long)pt;
10442 for (i = 0; i < 4; i++, v >>= 8)
10457 __attribute__ ((visibility ("hidden"))) void*
10458 __self_reloc (const struct elf32_fdpic_loadmap *map,
10459 void ***p, void ***e)
10461 p = reloc_range_indirect (p, e-1, map);
10466 return __reloc_pointer (*p, map);
10468 # 352 "ldso/ldso/bfin/elfinterp.c" 2
10469 # 47 "ldso/ldso/ldso.c" 2
10473 char *_dl_library_path = ((void *)0);
10476 char *_dl_preload = ((void *)0);
10479 size_t _dl_pagesize = 0;
10480 struct r_debug *_dl_debug_addr = ((void *)0);
10481 void *(*_dl_malloc_function) (size_t size) = ((void *)0);
10482 void (*_dl_free_function) (void *p) = ((void *)0);
10490 static int _dl_secure = 1;
10491 # 89 "ldso/ldso/ldso.c"
10492 unsigned long __attribute__ ((visibility ("hidden"))) _dl_skip_args = 0;
10495 const char *_dl_progname = "ld-uClibc.so.0";
10496 # 1 "ldso/ldso/dl-startup.c" 1
10497 # 95 "ldso/ldso/dl-startup.c"
10498 # 1 "./ldso/ldso/bfin/dl-startup.h" 1
10499 # 39 "./ldso/ldso/bfin/dl-startup.h"
10501 " .pushsection .text\n"
10502 " .global __start\n"
10503 " .type __start,@function\n"
10506 " .hidden __start\n"
10507 " .set _start, __start\n"
10508 " .global _start\n"
10509 " .hidden _start\n"
10518 " R0.L = .Lcall;\n"
10519 " R0.H = .Lcall;\n"
10520 " R1.L = __ROFIXUP_LIST__;\n"
10521 " R1.H = __ROFIXUP_LIST__;\n"
10522 " R2.L = __ROFIXUP_END__;\n"
10523 " R2.H = __ROFIXUP_END__;\n"
10530 " IF CC R0 = P0;\n"
10531 " CALL ___self_reloc;\n"
10536 " [SP + 12] = R7;\n"
10539 " [SP + 16] = P0;\n"
10541 " [SP + 20] = P0;\n"
10542 " CALL __dl_start;\n"
10543 " /* Pass our FINI ptr() to the user in P1 */\n"
10544 " R7 = [P5 + __dl_fini@FUNCDESC_GOT17M4];\n"
10545 " P4 = [SP + 24];\n"
10546 " P3 = [SP + 28];\n"
10550 " .size __start,.-__start\n"
10555 #define DL_START(X) static void __attribute__ ((used)) _dl_start (Elf32_Addr dl_boot_got_pointer, struct elf32_fdpic_loadmap *dl_boot_progmap, struct elf32_fdpic_loadmap *dl_boot_ldsomap, Elf32_Dyn *dl_boot_ldso_dyn_pointer, struct funcdesc_value *dl_main_funcdesc, X)
10556 # 108 "./ldso/ldso/bfin/dl-startup.h"
10557 #define GET_ARGV(ARGVP,ARGS) ARGVP = (((unsigned long*) ARGS) + 1)
10558 # 117 "./ldso/ldso/bfin/dl-startup.h"
10559 #define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD,SYMTAB) switch(ELF_R_TYPE((RELP)->r_info)){ case R_BFIN_BYTE4_DATA: *(REL) += (SYMBOL); break; case R_BFIN_FUNCDESC_VALUE: { struct funcdesc_value fv = { (void*)((SYMBOL) + *(REL)), (LOAD).got_value }; *(struct funcdesc_value volatile *)(REL) = fv; break; } default: _dl_exit(1); }
10560 # 140 "./ldso/ldso/bfin/dl-startup.h"
10561 #define START() do { struct elf_resolve *exec_mod = _dl_loaded_modules; dl_main_funcdesc->entry_point = _dl_elf_main; while (exec_mod->libtype != elf_executable) exec_mod = exec_mod->next; dl_main_funcdesc->got_value = exec_mod->loadaddr.got_value; return; } while (0)
10562 # 96 "ldso/ldso/dl-startup.c" 2
10570 static int (*_dl_elf_main) (int, char **, char **);
10572 static void* __rtld_stack_end;
10573 extern __typeof (__rtld_stack_end) __libc_stack_end __attribute__ ((alias ("__rtld_stack_end")));
10574 # 117 "ldso/ldso/dl-startup.c"
10575 static void __attribute__ ((used)) _dl_start (Elf32_Addr dl_boot_got_pointer, struct elf32_fdpic_loadmap *dl_boot_progmap, struct elf32_fdpic_loadmap *dl_boot_ldsomap, Elf32_Dyn *dl_boot_ldso_dyn_pointer, struct funcdesc_value *dl_main_funcdesc, unsigned long args)
10578 char **argv, **envp;
10579 struct elf32_fdpic_loadaddr load_addr;
10581 unsigned long *aux_dat;
10582 Elf32_Ehdr *header;
10583 struct elf_resolve tpnt_tmp;
10584 struct elf_resolve *tpnt = &tpnt_tmp;
10585 Elf32_auxv_t auxvt[14 + 1];
10588 # 138 "ldso/ldso/dl-startup.c"
10589 aux_dat = (((unsigned long*) args) + 1);
10590 argc = aux_dat[-1];
10591 argv = (char **) aux_dat;
10594 envp = (char **) aux_dat;
10609 auxvt[11].a_type = -1;
10615 Elf32_auxv_t *auxv_entry = (Elf32_auxv_t *) aux_dat;
10617 if (auxv_entry->a_type <= 14) {
10618 _dl_memcpy(&(auxvt[auxv_entry->a_type]), auxv_entry, sizeof(Elf32_auxv_t));
10622 # 188 "ldso/ldso/dl-startup.c"
10623 if (!auxvt[7].a_un.a_val)
10624 auxvt[7].a_un.a_val = elf_machine_load_address();
10625 (__dl_init_loadaddr_map (&(load_addr), dl_boot_got_pointer, dl_boot_ldsomap ?: dl_boot_progmap));
10627 header = (Elf32_Ehdr *) auxvt[7].a_un.a_val;
10630 if (!header || header->e_ident[4] != 1 ||
10631 header->e_ident[6] != 1
10635 || *(p32 = (uint32_t*)&header->e_ident) != ((uint32_t)(0x7f + 0x100 * ('E' + (0x100 * ('L' + 0x100 * 'F')))))
10637 do { static const char __attribute__((section(".text"))) __s[] = ("Invalid ELF header\n"); const char *__p, *__scratch; __asm__ ("call 1f;\n1:\n\t" "%1 = RETS;\n\t" "%0 = [%3 + 1b@GOT17M4];\n\t" "%1 = %1 - %0;\n\t" "%1 = %1 + %2;\n\t" : "=&d" (__scratch), "=&d" (__p) : "d" (__s), "a" (dl_boot_got_pointer) : "RETS"); { const char *tmp1 = (__p); ; _dl_write(2, tmp1, _dl_strlen(tmp1)); }; { int __t; for (__t = 0; __t < 0x1000000; __t++) __asm__ __volatile__ (""); } } while (0);
10648 ((got) = dl_boot_got_pointer);
10651 ((dpnt) = dl_boot_ldso_dyn_pointer);
10655 _dl_memset(tpnt, 0, sizeof(struct elf_resolve));
10656 tpnt->loadaddr = load_addr;
10660 tpnt->dynamic_addr = dpnt;
10665 _dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, ((void *)0), load_addr);
10666 # 247 "ldso/ldso/dl-startup.c"
10668 # 259 "ldso/ldso/dl-startup.c"
10678 for (indx = 0; indx < 1; indx++) {
10679 unsigned long rel_addr, rel_size;
10680 Elf32_Word relative_count = tpnt->dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)];
10682 rel_addr = (indx ? tpnt->dynamic_info[23] :
10683 tpnt->dynamic_info[17]);
10684 rel_size = (indx ? tpnt->dynamic_info[2] :
10685 tpnt->dynamic_info[18]);
10690 if (!indx && relative_count) {
10691 rel_size -= relative_count * sizeof(Elf32_Rel);
10695 elf_machine_relative(load_addr, rel_addr, relative_count);
10696 rel_addr += relative_count * sizeof(Elf32_Rel);
10708 unsigned long symbol_addr;
10710 unsigned long *reloc_addr;
10713 rpnt = (Elf32_Rel *) rel_addr;
10714 for (i = 0; i < rel_size; i += sizeof(Elf32_Rel), rpnt++) {
10715 reloc_addr = (unsigned long *) ((Elf32_Addr)__reloc_pointer ((void*)((unsigned long)rpnt->r_offset), (load_addr).map));
10716 symtab_index = ((rpnt->r_info) >> 8);
10719 if (symtab_index) {
10723 symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
10724 strtab = (char *) tpnt->dynamic_info[5];
10725 sym = &symtab[symtab_index];
10726 symbol_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(sym->st_value), (load_addr).map));
10736 switch((((rpnt)->r_info) & 0xff)){ case 0x12: *(reloc_addr) += (symbol_addr); break; case 0x1b: { struct funcdesc_value fv = { (void*)((symbol_addr) + *(reloc_addr)), (load_addr).got_value }; *(struct funcdesc_value volatile *)(reloc_addr) = fv; break; } default: _dl_exit(1); };
10756 __rtld_stack_end = (void *)(argv - 1);
10758 _dl_elf_main = (int (*)(int, char **, char **))
10759 _dl_get_ready_to_run(tpnt, load_addr, auxvt, envp, argv
10760 , dl_boot_progmap, dl_boot_got_pointer);
10769 do { struct elf_resolve *exec_mod = _dl_loaded_modules; dl_main_funcdesc->entry_point = _dl_elf_main; while (exec_mod->libtype != elf_executable) exec_mod = exec_mod->next; dl_main_funcdesc->got_value = exec_mod->loadaddr.got_value; return; } while (0);
10772 # 94 "ldso/ldso/ldso.c" 2
10773 # 1 "ldso/ldso/dl-symbols.c" 1
10774 # 20 "ldso/ldso/dl-symbols.c"
10775 struct elf_resolve *_dl_loaded_modules = ((void *)0);
10776 # 95 "ldso/ldso/ldso.c" 2
10777 # 1 "ldso/ldso/dl-array.c" 1
10778 # 34 "ldso/ldso/dl-array.c"
10779 static void _dl_run_array_forward(unsigned long array, unsigned long size,
10780 struct elf32_fdpic_loadaddr loadaddr)
10786 jm = size / sizeof (Elf32_Addr);
10787 addrs = (Elf32_Addr *) ((Elf32_Addr)__reloc_pointer ((void*)(array), (loadaddr).map));
10788 for (j = 0; j < jm; ++j) {
10789 void (*dl_elf_func) (void);
10790 dl_elf_func = (void (*)(void)) (intptr_t) addrs[j];
10791 ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void (*)(void)) pf)(); });
10796 void _dl_run_init_array(struct elf_resolve *tpnt);
10797 void _dl_run_init_array(struct elf_resolve *tpnt)
10799 _dl_run_array_forward(tpnt->dynamic_info[25],
10800 tpnt->dynamic_info[27],
10804 void _dl_app_init_array(void);
10805 void _dl_app_init_array(void)
10807 _dl_run_init_array(_dl_loaded_modules);
10810 void _dl_run_fini_array(struct elf_resolve *tpnt);
10811 void _dl_run_fini_array(struct elf_resolve *tpnt)
10813 if (tpnt->dynamic_info[26]) {
10814 Elf32_Addr *array = (Elf32_Addr *) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[26]), (tpnt->loadaddr).map));
10815 unsigned int i = (tpnt->dynamic_info[28] / sizeof(Elf32_Addr));
10817 void (*dl_elf_func) (void);
10818 dl_elf_func = (void (*)(void)) (intptr_t) array[i];
10819 ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void (*)(void)) pf)(); });
10824 void _dl_app_fini_array(void);
10825 void _dl_app_fini_array(void)
10827 _dl_run_fini_array(_dl_loaded_modules);
10829 # 96 "ldso/ldso/ldso.c" 2
10836 void _dl_debug_state(void);
10837 extern __typeof (_dl_debug_state) _dl_debug_state __asm__ ("_" "__GI__dl_debug_state") __attribute__ ((visibility ("hidden"), noinline));;
10838 void _dl_debug_state(void)
10845 extern __typeof (_dl_debug_state) __EI__dl_debug_state __asm__("_" "_dl_debug_state"); extern __typeof (_dl_debug_state) __EI__dl_debug_state __attribute__((alias ("" "__GI__dl_debug_state")));;
10847 static unsigned char *_dl_malloc_addr = ((void *)0);
10848 static unsigned char *_dl_mmap_zero = ((void *)0);
10850 static struct elf_resolve **init_fini_list;
10851 static struct elf_resolve **scope_elem_list;
10852 static unsigned int nlist;
10853 extern void _start(void);
10854 # 135 "ldso/ldso/ldso.c"
10855 const char *_dl_ldsopath = ((void *)0);
10857 static void _dl_ldsopath_init(struct elf_resolve *tpnt)
10859 char *ldsopath, *ptmp;
10860 # 149 "ldso/ldso/ldso.c"
10861 ldsopath = _dl_strdup(tpnt->libname);
10862 ptmp = _dl_strrchr(ldsopath, '/');
10871 _dl_ldsopath = ldsopath;
10880 char *_dl_getenv(const char *symbol, char **envp)
10885 while ((pnt = *envp++)) {
10887 while (*pnt && *pnt == *pnt1)
10889 if (!*pnt || *pnt != '=' || *pnt1)
10896 void _dl_unsetenv(const char *symbol, char **envp)
10900 char **newenvp = envp;
10902 for (pnt = *envp; pnt; pnt = *++envp) {
10904 while (*pnt && *pnt == *pnt1)
10906 if (!*pnt || *pnt != '=' || *pnt1)
10907 *newenvp++ = *envp;
10909 *newenvp++ = *envp;
10913 static int _dl_suid_ok(void)
10915 __kernel_uid_t uid, euid;
10916 __kernel_gid_t gid, egid;
10918 uid = _dl_getuid();
10919 euid = _dl_geteuid();
10920 gid = _dl_getgid();
10921 egid = _dl_getegid();
10923 if (uid == euid && gid == egid) {
10929 void *_dl_malloc(size_t size)
10937 if (_dl_malloc_function)
10938 return (*_dl_malloc_function) (size);
10940 if (_dl_malloc_addr - _dl_mmap_zero + size > _dl_pagesize) {
10941 size_t rounded_size;
10942 # 241 "ldso/ldso/ldso.c"
10943 if (size < _dl_pagesize)
10944 rounded_size = (size + (_dl_pagesize - 1)) & _dl_pagesize;
10946 rounded_size = size;
10949 _dl_mmap_zero = _dl_malloc_addr = _dl_mmap((void *) 0, rounded_size,
10950 0x1 | 0x2, 0x02 | 0x20 | 0x4000000, -1, 0);
10951 if ((((void *)_dl_mmap_zero) == ((void *) -1))) {
10952 _dl_dprintf(2, "%s: mmap of a spare page failed!\n", _dl_progname);
10956 retval = _dl_malloc_addr;
10957 _dl_malloc_addr += size;
10964 _dl_malloc_addr = (unsigned char *) (((unsigned long) _dl_malloc_addr + (32 / 8) - 1) & ~((32 / 8) - 1));
10968 static void *_dl_zalloc(size_t size)
10970 void *p = _dl_malloc(size);
10972 _dl_memset(p, 0, size);
10976 void _dl_free(void *p)
10978 if (_dl_free_function)
10979 (*_dl_free_function) (p);
10981 # 306 "ldso/ldso/ldso.c"
10982 static void __attribute__ ((destructor)) __attribute__ ((__used__)) _dl_fini(void)
10985 struct elf_resolve * tpnt;
10987 for (i = 0; i < nlist; ++i) {
10988 tpnt = init_fini_list[i];
10989 if (tpnt->init_flag & 0x000008)
10991 tpnt->init_flag |= 0x000008;
10992 _dl_run_fini_array(tpnt);
10993 if (tpnt->dynamic_info[13]) {
10994 void (*dl_elf_func) (void);
10996 dl_elf_func = (void (*)(void)) (intptr_t) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[13]), (tpnt->loadaddr).map));
10998 ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void(*)(void)) pf)(); });
11002 # 352 "ldso/ldso/ldso.c"
11003 static struct elf_resolve * add_ldso(struct elf_resolve *tpnt,
11004 struct elf32_fdpic_loadaddr load_addr,
11005 Elf32_Addr ldso_mapaddr,
11006 Elf32_auxv_t auxvt[14 + 1],
11007 struct dyn_elf *rpnt)
11009 Elf32_Ehdr *epnt = (Elf32_Ehdr *) auxvt[7].a_un.a_val;
11010 Elf32_Phdr *myppnt = (Elf32_Phdr *)
11013 # 360 "ldso/ldso/ldso.c"
11014 )__reloc_pointer ((void*)(epnt->e_phoff), ((load_addr)).map))
11019 tpnt = _dl_add_elf_hash_table(tpnt->libname, tpnt->loadaddr,
11020 tpnt->dynamic_info, (unsigned long)tpnt->dynamic_addr,
11023 tpnt->mapaddr = ldso_mapaddr;
11024 if (_dl_stat(tpnt->libname, &st) >= 0) {
11025 tpnt->st_dev = st.st_dev;
11026 tpnt->st_ino = st.st_ino;
11028 tpnt->n_phent = epnt->e_phnum;
11029 tpnt->ppnt = myppnt;
11030 for (j = 0; j < epnt->e_phnum; j++, myppnt++) {
11031 if (myppnt->p_type == 0x6474e552) {
11032 tpnt->relro_addr = myppnt->p_vaddr;
11033 tpnt->relro_size = myppnt->p_memsz;
11037 tpnt->libtype = program_interpreter;
11039 rpnt->next = _dl_zalloc(sizeof(struct dyn_elf));
11040 rpnt->next->prev = rpnt;
11043 rpnt = _dl_zalloc(sizeof(struct dyn_elf));
11046 tpnt->rtld_flags = 0x00002 | 0x00100;
11051 static ptrdiff_t _dl_build_local_scope (struct elf_resolve **list,
11052 struct elf_resolve *map)
11054 struct elf_resolve **p = list;
11055 struct init_fini_list *q;
11058 map->init_flag |= 0x000020;
11059 if (map->init_fini)
11060 for (q = map->init_fini; q; q = q->next)
11061 if (! (q->tpnt->init_flag & 0x000020))
11062 p += _dl_build_local_scope (p, q->tpnt);
11066 void *_dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf32_fdpic_loadaddr load_addr,
11067 Elf32_auxv_t auxvt[14 + 1], char **envp, char **argv
11068 , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer)
11070 Elf32_Addr app_mapaddr = 0, ldso_mapaddr = 0;
11074 unsigned int i, cnt, nscope_elem;
11075 int unlazy = 0, trace_loaded_objects = 0;
11076 struct dyn_elf *rpnt;
11077 struct elf_resolve *tcurr;
11078 struct elf_resolve *tpnt1;
11079 struct elf_resolve *ldso_tpnt = ((void *)0);
11080 struct elf_resolve app_tpnt_tmp;
11081 struct elf_resolve *app_tpnt = &app_tpnt_tmp;
11082 struct r_debug *debug_addr;
11083 unsigned long *lpnt;
11084 unsigned long *_dl_envp;
11085 Elf32_Addr relro_addr = 0;
11086 size_t relro_size = 0;
11087 struct r_scope_elem *global_scope;
11088 struct elf_resolve **local_scope;
11089 # 444 "ldso/ldso/ldso.c"
11090 _dl_memset(app_tpnt, 0, sizeof(*app_tpnt));
11093 _dl_pagesize = (auxvt[6].a_un.a_val) ? (size_t) auxvt[6].a_un.a_val : (1UL << 12);
11098 _dl_malloc_addr = (unsigned char *)_dl_pagesize;
11110 _dl_progname = argv[0];
11114 if (_start == (void *) auxvt[9].a_un.a_val) {
11115 _dl_dprintf(2, "Standalone execution is not enabled\n");
11125 rpnt = ((void *)0);
11126 if (_dl_getenv("LD_BIND_NOW", envp))
11133 if ((auxvt[11].a_un.a_val == (size_t)-1 && _dl_suid_ok()) ||
11134 (auxvt[11].a_un.a_val != (size_t)-1 &&
11135 auxvt[11].a_un.a_val == auxvt[12].a_un.a_val &&
11136 auxvt[13].a_un.a_val == auxvt[14].a_un.a_val)) {
11139 _dl_preload = _dl_getenv("LD_PRELOAD", envp);
11142 _dl_library_path = _dl_getenv("LD_LIBRARY_PATH", envp);
11145 static const char unsecure_envvars[] =
11149 "LD_PRELOAD\0" "LD_LIBRARY_PATH\0" "LD_DEBUG\0" "LD_DEBUG_OUTPUT\0" "LD_TRACE_LOADED_OBJECTS\0" "TMPDIR\0";
11153 nextp = unsecure_envvars;
11155 _dl_unsetenv (nextp, envp);
11157 nextp = _dl_strchr(nextp, '\0') + 1;
11158 } while (*nextp != '\0');
11160 _dl_preload = ((void *)0);
11163 _dl_library_path = ((void *)0);
11168 # 623 "ldso/ldso/ldso.c"
11171 Elf32_Phdr *phdr = (Elf32_Phdr *) auxvt[3].a_un.a_val;
11173 for (idx = 0; idx < auxvt[5].a_un.a_val; idx++, phdr++)
11174 if (phdr->p_type == 6) {
11175 (__dl_init_loadaddr_map (&(app_tpnt->loadaddr), 0, dl_boot_progmap));
11179 if (((app_tpnt->loadaddr).got_value))
11188 debug_addr = _dl_zalloc(sizeof(struct r_debug));
11190 ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
11191 for (i = 0; i < auxvt[5].a_un.a_val; i++, ppnt++) {
11192 if (ppnt->p_type == 0x6474e552) {
11193 relro_addr = ppnt->p_vaddr;
11194 relro_size = ppnt->p_memsz;
11196 if (!app_mapaddr && (ppnt->p_type == 1)) {
11197 app_mapaddr = ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
11199 if (ppnt->p_type == 2) {
11200 dpnt = (Elf32_Dyn *) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
11201 _dl_parse_dynamic_info(dpnt, app_tpnt->dynamic_info, debug_addr, app_tpnt->loadaddr);
11210 if (app_tpnt->dynamic_info[22]) {
11211 Elf32_Phdr *ppnt_outer = ppnt;
11212 ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
11213 for (i = 0; i < auxvt[5].a_un.a_val; i++, ppnt++) {
11214 if (ppnt->p_type == 1 && !(ppnt->p_flags & (1 << 1)))
11215 _dl_mprotect((void *) (((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)) & (~(_dl_pagesize - 1))),
11216 (((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)) & (_dl_pagesize - 1)) +
11217 (unsigned long) ppnt->p_filesz,
11222 # 689 "ldso/ldso/ldso.c"
11223 app_tpnt = _dl_add_elf_hash_table(_dl_progname, app_tpnt->loadaddr,
11224 app_tpnt->dynamic_info,
11225 (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)),
11227 _dl_loaded_modules->libtype = elf_executable;
11228 _dl_loaded_modules->ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
11229 _dl_loaded_modules->n_phent = auxvt[5].a_un.a_val;
11230 _dl_symbol_tables = rpnt = _dl_zalloc(sizeof(struct dyn_elf));
11231 rpnt->dyn = _dl_loaded_modules;
11232 app_tpnt->mapaddr = app_mapaddr;
11233 app_tpnt->rtld_flags = unlazy | 0x00100;
11234 app_tpnt->usage_count++;
11235 lpnt = (unsigned long *) (app_tpnt->dynamic_info[3]);
11239 { (_dl_loaded_modules)->loadaddr.got_value = (lpnt); lpnt[0] = ((unsigned long *)&_dl_linux_resolve)[0]; lpnt[1] = ((unsigned long *)&_dl_linux_resolve)[1]; lpnt[2] = (unsigned long) _dl_loaded_modules; };
11243 if (ppnt->p_type == 3) {
11244 tpnt->libname = (char *) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
11246 _dl_ldsopath_init(tpnt);
11250 if (ppnt->p_type == 7) {
11251 # 736 "ldso/ldso/ldso.c"
11252 _dl_dprintf(2, "Program uses unsupported TLS data!\n");
11257 app_tpnt->relro_addr = relro_addr;
11258 app_tpnt->relro_size = relro_size;
11259 # 820 "ldso/ldso/ldso.c"
11260 if (_dl_getenv("LD_TRACE_LOADED_OBJECTS", envp) != ((void *)0)) {
11261 trace_loaded_objects++;
11263 # 831 "ldso/ldso/ldso.c"
11264 ldso_mapaddr = (Elf32_Addr) auxvt[7].a_un.a_val;
11270 debug_addr->r_map = (struct link_map *) _dl_loaded_modules;
11271 debug_addr->r_version = 1;
11272 debug_addr->r_ldbase = (Elf32_Addr)
11273 (((load_addr)).got_value);
11274 debug_addr->r_brk = (unsigned long) &_dl_debug_state;
11275 _dl_debug_addr = debug_addr;
11276 # 852 "ldso/ldso/ldso.c"
11281 char c, *str, *str2;
11284 while (*str == ':' || *str == ' ' || *str == '\t')
11289 while (*str2 && *str2 != ':' && *str2 != ' ' && *str2 != '\t')
11294 if (!_dl_secure || _dl_strchr(str, '/') == ((void *)0)) {
11297 tpnt1 = _dl_load_shared_library(
11298 _dl_secure ? 0x0001 : 0,
11299 &rpnt, ((void *)0), str, trace_loaded_objects);
11302 if (trace_loaded_objects || 0)
11303 _dl_dprintf(1, "\t%s => not found\n", str);
11307 _dl_dprintf(2, "%s: can't load " "library '%s'\n", _dl_progname, str);
11311 tpnt1->rtld_flags = unlazy | 0x00100;
11316 if (trace_loaded_objects && !0 &&
11317 tpnt1->usage_count == 1) {
11323 if (_dl_strcmp(_dl_progname, str) != 0)
11324 _dl_dprintf(1, "\t%s => %s (%x)\n", str, tpnt1->libname,
11325 ((tpnt1->loadaddr).got_value));
11333 while (*str == ':' || *str == ' ' || *str == '\t')
11337 # 1002 "ldso/ldso/ldso.c"
11339 for (tcurr = _dl_loaded_modules; tcurr; tcurr = tcurr->next) {
11340 Elf32_Dyn *this_dpnt;
11343 for (this_dpnt = (Elf32_Dyn *) tcurr->dynamic_addr; this_dpnt->d_tag; this_dpnt++) {
11344 if (this_dpnt->d_tag == 1) {
11346 struct init_fini_list *tmp;
11348 lpntstr = (char*) (tcurr->dynamic_info[5] + this_dpnt->d_un.d_val);
11349 name = _dl_get_last_path_component(lpntstr);
11352 if (_dl_strcmp(name, "ld-uClibc.so.0") == 0) {
11355 ldso_tpnt = add_ldso(tpnt, load_addr,
11356 ldso_mapaddr, auxvt, rpnt);
11358 ldso_tpnt->usage_count++;
11361 tpnt1 = _dl_load_shared_library(0, &rpnt, tcurr, lpntstr, trace_loaded_objects);
11365 if (trace_loaded_objects || 0) {
11366 _dl_dprintf(1, "\t%s => not found\n", lpntstr);
11371 _dl_dprintf(2, "%s: can't load library '%s'\n", _dl_progname, lpntstr);
11376 tmp = __builtin_alloca (sizeof(struct init_fini_list));
11378 tmp->next = tcurr->init_fini;
11379 tcurr->init_fini = tmp;
11381 tpnt1->rtld_flags = unlazy | 0x00100;
11386 if (trace_loaded_objects && !0 &&
11387 tpnt1->usage_count == 1) {
11388 _dl_dprintf(1, "\t%s => %s (%x)\n",
11389 lpntstr, tpnt1->libname,
11390 ((tpnt1->loadaddr).got_value));
11399 nscope_elem = nlist;
11401 if (_dl_loaded_modules->libtype == elf_executable) {
11403 tcurr = _dl_loaded_modules->next;
11405 tcurr = _dl_loaded_modules;
11406 init_fini_list = _dl_malloc(nlist * sizeof(struct elf_resolve *));
11408 for (; tcurr; tcurr = tcurr->next)
11409 init_fini_list[i++] = tcurr;
11412 for (tcurr = _dl_loaded_modules->next; tcurr; tcurr = tcurr->next) {
11415 for (j = 0; init_fini_list[j] != tcurr; ++j)
11417 for (k = j + 1; k < nlist; ++k) {
11418 struct init_fini_list *runp = init_fini_list[k]->init_fini;
11420 for (; runp; runp = runp->next) {
11421 if (runp->tpnt == tcurr) {
11422 struct elf_resolve *here = init_fini_list[k];
11424 for (i = (k - j); i; --i)
11425 init_fini_list[i+j] = init_fini_list[i+j-1];
11426 init_fini_list[j] = here;
11433 # 1119 "ldso/ldso/ldso.c"
11435 tpnt = add_ldso(tpnt, load_addr, ldso_mapaddr, auxvt, rpnt);
11436 tpnt->usage_count++;
11440 # 1135 "ldso/ldso/ldso.c"
11441 tpnt->init_flag = 0x000001 | 0x000002;
11443 tpnt = ((void *)0);
11448 scope_elem_list = (struct elf_resolve **) _dl_malloc(nscope_elem * sizeof(struct elf_resolve *));
11450 for (i = 0, tcurr = _dl_loaded_modules; tcurr; tcurr = tcurr->next)
11451 scope_elem_list[i++] = tcurr;
11453 _dl_loaded_modules->symbol_scope.r_list = scope_elem_list;
11454 _dl_loaded_modules->symbol_scope.r_nlist = nscope_elem;
11460 global_scope = &_dl_loaded_modules->symbol_scope;
11463 local_scope = _dl_malloc(nscope_elem * sizeof(struct elf_resolve *));
11465 for (tcurr = _dl_loaded_modules->next; tcurr; tcurr = tcurr->next) {
11467 cnt = _dl_build_local_scope(local_scope, scope_elem_list[i++]);
11468 tcurr->symbol_scope.r_list = _dl_malloc(cnt * sizeof(struct elf_resolve *));
11469 tcurr->symbol_scope.r_nlist = cnt;
11470 _dl_memcpy (tcurr->symbol_scope.r_list, local_scope, cnt * sizeof (struct elf_resolve *));
11472 for (k = 1; k < nscope_elem; k++)
11473 scope_elem_list[k]->init_flag &= ~0x000020;
11476 _dl_free(local_scope);
11480 if (trace_loaded_objects && !0)
11482 # 1288 "ldso/ldso/ldso.c"
11486 # 1306 "ldso/ldso/ldso.c"
11487 if (_dl_symbol_tables)
11488 if (_dl_fixup(_dl_symbol_tables, global_scope, unlazy))
11491 for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
11492 if (tpnt->relro_size)
11493 _dl_protect_relro (tpnt);
11496 # 1345 "ldso/ldso/ldso.c"
11497 _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("_" "__environ", global_scope, ((void *)0), 0, ((void *)0));
11499 *_dl_envp = (unsigned long) envp;
11504 Elf32_Phdr *myppnt;
11509 for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
11510 for (myppnt = tpnt->ppnt, j = 0; j < tpnt->n_phent; j++, myppnt++) {
11511 if (myppnt->p_type == 1 && !(myppnt->p_flags & (1 << 1)) && tpnt->dynamic_info[22]) {
11512 _dl_mprotect((void *) (((Elf32_Addr)__reloc_pointer ((void*)(myppnt->p_vaddr), (tpnt->loadaddr).map)) & (~(_dl_pagesize - 1))),
11513 (myppnt->p_vaddr & (_dl_pagesize - 1)) + (unsigned long) myppnt->p_filesz, ( (((myppnt->p_flags) & (1 << 2)) ? 0x1 : 0) | (((myppnt->p_flags) & (1 << 1)) ? 0x2 : 0) | (((myppnt->p_flags) & (1 << 0)) ? 0x4 : 0)));
11521 _dl_debug_addr->r_state = RT_ADD;
11525 _dl_run_array_forward(_dl_loaded_modules->dynamic_info[32],
11526 _dl_loaded_modules->dynamic_info[33],
11527 _dl_loaded_modules->loadaddr);
11531 for (i = nlist; i; --i) {
11532 tpnt = init_fini_list[i-1];
11533 tpnt->init_fini = ((void *)0);
11534 if (tpnt->init_flag & 0x000004)
11536 tpnt->init_flag |= 0x000004;
11538 if (tpnt->dynamic_info[12]) {
11539 void (*dl_elf_func) (void);
11541 dl_elf_func = (void (*)(void)) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[12]), (tpnt->loadaddr).map));
11545 ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void(*)(void)) pf)(); });
11548 _dl_run_init_array(tpnt);
11552 _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("_" "malloc",
11553 global_scope, ((void *)0), (0x1), ((void *)0));
11554 # 1420 "ldso/ldso/ldso.c"
11555 _dl_debug_addr->r_state = RT_CONSISTENT;
11563 return (void *) auxvt[9].a_un.a_val;
11566 # 1 "ldso/ldso/dl-hash.c" 1
11567 # 40 "ldso/ldso/dl-hash.c"
11568 struct dyn_elf *_dl_symbol_tables = ((void *)0);
11574 struct dyn_elf *_dl_handles = ((void *)0);
11575 # 65 "ldso/ldso/dl-hash.c"
11576 static __inline__ Elf_Symndx _dl_elf_hash(const unsigned char *name)
11578 unsigned long hash=0;
11582 hash = (hash << 4) + *name++;
11583 tmp = hash & 0xf0000000;
11601 struct elf_resolve *_dl_add_elf_hash_table(const char *libname,
11602 struct elf32_fdpic_loadaddr loadaddr, unsigned long *dynamic_info, unsigned long dynamic_addr,
11603 __attribute__ ((unused)) unsigned long dynamic_size)
11605 Elf_Symndx *hash_addr;
11606 struct elf_resolve *tpnt;
11609 tpnt = _dl_malloc(sizeof(struct elf_resolve));
11610 _dl_memset(tpnt, 0, sizeof(struct elf_resolve));
11612 if (!_dl_loaded_modules)
11613 _dl_loaded_modules = tpnt;
11615 struct elf_resolve *t = _dl_loaded_modules;
11623 tpnt->next = ((void *)0);
11624 tpnt->init_flag = 0;
11625 tpnt->libname = _dl_strdup(libname);
11626 tpnt->dynamic_addr = (Elf32_Dyn *)dynamic_addr;
11627 tpnt->libtype = loaded_file;
11628 # 140 "ldso/ldso/dl-hash.c"
11629 if (dynamic_info[4] != 0) {
11630 hash_addr = (Elf_Symndx*)dynamic_info[4];
11631 tpnt->nbucket = *hash_addr++;
11632 tpnt->nchain = *hash_addr++;
11633 tpnt->elf_buckets = hash_addr;
11634 hash_addr += tpnt->nbucket;
11635 tpnt->chains = hash_addr;
11637 tpnt->loadaddr = loadaddr;
11638 for (i = 0; i < (34 + (1 + 0 + 0) + 0); i++)
11639 tpnt->dynamic_info[i] = dynamic_info[i];
11645 static __attribute__ ((__noinline__)) const Elf32_Sym *
11646 check_match (const Elf32_Sym *sym, char *strtab, const char* undef_name, int type_class)
11648 # 175 "ldso/ldso/dl-hash.c"
11649 if (type_class & (sym->st_shndx == 0))
11651 return ((void *)0);
11653 if (sym->st_value == 0)
11655 return ((void *)0);
11657 if (((sym->st_info) & 0xf) > 2
11658 && ((sym->st_info) & 0xf) != 5)
11663 return ((void *)0);
11669 if (_dl_strcmp(strtab + sym->st_name, undef_name) != 0)
11670 return ((void *)0);
11675 # 246 "ldso/ldso/dl-hash.c"
11676 static __inline __attribute__ ((__always_inline__)) const Elf32_Sym *
11677 _dl_lookup_sysv_hash(struct elf_resolve *tpnt, Elf32_Sym *symtab, unsigned long hash, const char* undef_name, int type_class)
11681 const Elf32_Sym *sym;
11685 ((hn) = (hash) % (tpnt->nbucket));
11686 strtab = (char *) (tpnt->dynamic_info[5]);
11690 for (symidx = tpnt->elf_buckets[hn]; symidx != 0; symidx = tpnt->chains[symidx]) {
11691 sym = check_match (&symtab[symidx], strtab, undef_name, type_class);
11692 if (sym != ((void *)0))
11697 return ((void *)0);
11704 char *_dl_find_hash(const char *name, struct r_scope_elem *scope, struct elf_resolve *mytpnt,
11705 int type_class, struct symbol_ref *sym_ref)
11707 struct elf_resolve *tpnt = ((void *)0);
11711 unsigned long elf_hash_number = 0xffffffff;
11712 const Elf32_Sym *sym = ((void *)0);
11714 char *weak_result = ((void *)0);
11715 struct r_scope_elem *loop_scope;
11721 if ((sym_ref) && (sym_ref->sym) && (((sym_ref->sym->st_other) & 0x03) == 3)) {
11722 sym = sym_ref->sym;
11726 for (loop_scope = scope; loop_scope && !sym; loop_scope = loop_scope->next) {
11727 for (i = 0; i < loop_scope->r_nlist; i++) {
11728 tpnt = loop_scope->r_list[i];
11730 if (!(tpnt->rtld_flags & 0x00100) && mytpnt) {
11731 if (mytpnt == tpnt)
11734 struct init_fini_list *tmp;
11736 for (tmp = mytpnt->rtld_local; tmp; tmp = tmp->next) {
11737 if (tmp->tpnt == tpnt)
11745 if ((type_class & (0x0)) && tpnt->libtype == elf_executable)
11749 if (tpnt->nbucket == 0)
11752 symtab = (Elf32_Sym *) (intptr_t) (tpnt->dynamic_info[6]);
11753 # 336 "ldso/ldso/dl-hash.c"
11754 if (elf_hash_number == 0xffffffff)
11755 elf_hash_number = _dl_elf_hash((const unsigned char *)name);
11757 sym = _dl_lookup_sysv_hash(tpnt, symtab, elf_hash_number, name, type_class);
11758 if (sym != ((void *)0))
11769 sym_ref->sym = sym;
11770 sym_ref->tpnt = tpnt;
11772 # 362 "ldso/ldso/dl-hash.c"
11773 switch ((((unsigned char) (sym->st_info)) >> 4)) {
11785 sym_ref->tpnt = tpnt;
11787 return (char *)(((type_class) & 0x80000000) && (((sym)->st_info) & 0xf) == 2 ? _dl_funcdesc_for ((void *)((Elf32_Addr)__reloc_pointer ((void*)((sym)->st_value), ((tpnt)->loadaddr).map)), (tpnt)->loadaddr.got_value) : ((Elf32_Addr)__reloc_pointer ((void*)((sym)->st_value), ((tpnt)->loadaddr).map)));
11794 sym_ref->tpnt = tpnt;
11796 return weak_result;
11798 # 1432 "ldso/ldso/ldso.c" 2
11799 # 1 "ldso/ldso/dl-elf.c" 1
11800 # 37 "ldso/ldso/dl-elf.c"
11801 static caddr_t _dl_cache_addr = ((void *)0);
11802 static size_t _dl_cache_size = 0;
11804 int _dl_map_cache(void)
11809 libentry_t *libent;
11812 if (_dl_cache_addr == ((void *) -1))
11814 else if (_dl_cache_addr != ((void *)0))
11817 if (_dl_stat("/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache", &st)
11818 || (fd = _dl_open("/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache", 00|02000000, 0)) < 0) {
11819 _dl_cache_addr = ((void *) -1);
11823 _dl_cache_size = st.st_size;
11824 _dl_cache_addr = _dl_mmap(0, _dl_cache_size, 0x1, (0x02), fd, 0);
11826 if ((((void *)_dl_cache_addr) == ((void *) -1))) {
11827 _dl_dprintf(2, "%s:%i: can't map '%s'\n",
11828 _dl_progname, 64, "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
11832 header = (header_t *) _dl_cache_addr;
11834 if (_dl_cache_size < sizeof(header_t) ||
11835 _dl_memcmp(header->magic, "ld.so-", (sizeof "ld.so-" -1))
11836 || _dl_memcmp(header->version, "1.7.0", (sizeof "1.7.0" -1))
11837 || _dl_cache_size <
11838 (sizeof(header_t) + header->nlibs * sizeof(libentry_t))
11839 || _dl_cache_addr[_dl_cache_size - 1] != '\0')
11841 _dl_dprintf(2, "%s: cache '%s' is corrupt\n", _dl_progname,
11842 "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
11846 strtabsize = _dl_cache_size - sizeof(header_t) -
11847 header->nlibs * sizeof(libentry_t);
11848 libent = (libentry_t *) & header[1];
11850 for (i = 0; i < header->nlibs; i++) {
11851 if (libent[i].sooffset >= strtabsize ||
11852 libent[i].liboffset >= strtabsize)
11854 _dl_dprintf(2, "%s: cache '%s' is corrupt\n", _dl_progname, "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
11862 _dl_munmap(_dl_cache_addr, _dl_cache_size);
11863 _dl_cache_addr = ((void *) -1);
11867 int _dl_unmap_cache(void)
11869 if (_dl_cache_addr == ((void *)0) || _dl_cache_addr == ((void *) -1))
11873 _dl_munmap(_dl_cache_addr, _dl_cache_size);
11874 _dl_cache_addr = ((void *)0);
11883 _dl_protect_relro (struct elf_resolve *l)
11885 Elf32_Addr base = (Elf32_Addr) ((Elf32_Addr)__reloc_pointer ((void*)(l->relro_addr), (l->loadaddr).map));
11886 Elf32_Addr start = (base & (~(_dl_pagesize - 1)));
11887 Elf32_Addr end = ((base + l->relro_size) & (~(_dl_pagesize - 1)));
11889 if (start != end &&
11890 _dl_mprotect ((void *) start, end - start, 0x1) < 0) {
11891 _dl_dprintf(2, "%s: cannot apply additional memory protection after relocation", l->libname);
11898 static struct elf_resolve *
11899 search_for_named_library(const char *name, unsigned rflags, const char *path_list,
11900 struct dyn_elf **rpnt)
11902 char *path, *path_n, *mylibname;
11903 struct elf_resolve *tpnt;
11906 if (path_list==((void *)0))
11907 return ((void *)0);
11912 done = _dl_strlen(path_list);
11913 path = __builtin_alloca (done + 1);
11916 mylibname = __builtin_alloca (2050);
11918 _dl_memcpy(path, path_list, done+1);
11933 if (*path == ':') {
11936 _dl_strcpy(mylibname, path_n);
11938 _dl_strcpy(mylibname, ".");
11939 _dl_strcat(mylibname, "/");
11940 _dl_strcat(mylibname, name);
11941 if ((tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname)) != ((void *)0))
11947 return ((void *)0);
11951 unsigned long _dl_error_number;
11952 unsigned long _dl_internal_error_number;
11954 struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rpnt,
11955 struct elf_resolve *tpnt, char *full_libname, int __attribute__ ((unused)) trace_loaded_objects)
11958 struct elf_resolve *tpnt1;
11961 _dl_internal_error_number = 0;
11962 libname = full_libname;
11966 if (_dl_strlen(full_libname) > 1024)
11971 pnt = _dl_strrchr(libname, '/');
11981 if (libname != full_libname) {
11983 tpnt1 = _dl_load_elf_shared_library(rflags, rpnt, full_libname);
11994 pnt = (tpnt ? (char *) tpnt->dynamic_info[15] : ((void *)0));
11996 pnt += (unsigned long) tpnt->dynamic_info[5];
11998 if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != ((void *)0))
12005 if (_dl_library_path) {
12007 if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt)) != ((void *)0))
12017 pnt = (tpnt ? (char *)tpnt->dynamic_info[29] : ((void *)0));
12019 pnt += (unsigned long) tpnt->dynamic_info[5];
12021 if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != ((void *)0))
12024 # 268 "ldso/ldso/dl-elf.c"
12025 if (_dl_cache_addr != ((void *)0) && _dl_cache_addr != ((void *) -1)) {
12027 header_t *header = (header_t *) _dl_cache_addr;
12028 libentry_t *libent = (libentry_t *) & header[1];
12029 char *strs = (char *) &libent[header->nlibs];
12032 for (i = 0; i < header->nlibs; i++) {
12033 if ((libent[i].flags == 1
12034 || libent[i].flags == 4
12035 || libent[i].flags == 2)
12036 && _dl_strcmp(libname, strs + libent[i].sooffset) == 0
12037 && (tpnt1 = _dl_load_elf_shared_library(rflags, rpnt, strs + libent[i].liboffset))
12043 # 297 "ldso/ldso/dl-elf.c"
12045 tpnt1 = search_for_named_library(libname, rflags,
12046 "/usr/bfin-linux-uclibc/" "lib:"
12047 "/usr/bfin-linux-uclibc/" "usr/lib"
12052 if (tpnt1 != ((void *)0))
12057 if (_dl_internal_error_number)
12058 _dl_error_number = _dl_internal_error_number;
12060 _dl_error_number = 1;
12062 return ((void *)0);
12073 map_writeable (int infile, Elf32_Phdr *ppnt, int piclib, int flags,
12074 unsigned long libaddr)
12076 int prot_flags = ppnt->p_flags | (1 << 1);
12077 char *status, *retval;
12080 unsigned long map_size;
12082 char *piclib2map = ((void *)0);
12085 # 353 "ldso/ldso/dl-elf.c"
12086 ppnt->p_filesz < ppnt->p_memsz)
12088 piclib2map = (char *)
12089 _dl_mmap(0, (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_memsz,
12090 ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)), flags | 0x20, -1, 0);
12091 if ((((void *)piclib2map) == ((void *) -1)))
12095 tryaddr = piclib == 2 ? piclib2map
12096 : ((char *) (piclib ? libaddr : 0) +
12097 (ppnt->p_vaddr & (~(_dl_pagesize - 1))));
12099 size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
12106 if (piclib2map == 0)
12108 status = (char *) _dl_mmap
12109 (tryaddr, size, ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)),
12110 flags | (piclib2map ? 0x10 : 0),
12111 infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
12114 status = ((void *) -1);
12117 if ((((void *)status) == ((void *) -1)) && piclib2map
12118 && ((_dl_pread((infile), (tryaddr), (size), (ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))))))
12122 if ((((void *)status) == ((void *) -1)) || (tryaddr && tryaddr != status))
12126 retval = piclib2map;
12129 # 411 "ldso/ldso/dl-elf.c"
12130 cpnt = (char *) (status + size);
12134 map_size = (ppnt->p_vaddr + ppnt->p_filesz
12135 + (_dl_pagesize - 1)) & (~(_dl_pagesize - 1));
12137 _dl_memset (cpnt, 0,
12138 (((map_size - (ppnt->p_vaddr + ppnt->p_filesz))<(ppnt->p_memsz - ppnt->p_filesz))?(map_size - (ppnt->p_vaddr + ppnt->p_filesz)):(ppnt->p_memsz - ppnt->p_filesz))
12144 if (map_size < ppnt->p_vaddr + ppnt->p_memsz && !piclib2map) {
12145 tryaddr = map_size + (char*)(piclib ? libaddr : 0);
12146 status = (char *) _dl_mmap(tryaddr,
12147 ppnt->p_vaddr + ppnt->p_memsz - map_size,
12148 ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)),
12149 flags | 0x20 | 0x10, -1, 0);
12150 if ((((void *)status) == ((void *) -1)) || tryaddr != status)
12151 return ((void *)0);
12162 struct elf_resolve *_dl_load_elf_shared_library(unsigned rflags,
12163 struct dyn_elf **rpnt, const char *libname)
12166 unsigned long dynamic_addr = 0;
12168 struct elf_resolve *tpnt;
12173 char *status, *header;
12174 unsigned long dynamic_info[(34 + (1 + 0 + 0) + 0)];
12175 unsigned long *lpnt;
12176 unsigned long libaddr;
12177 unsigned long minvma = 0xffffffff, maxvma = 0;
12178 unsigned int rtld_flags;
12179 int i, flags, piclib, infile;
12180 Elf32_Addr relro_addr = 0;
12181 size_t relro_size = 0;
12184 struct elf32_fdpic_loadaddr lib_loadaddr;
12185 int dl_init_loadaddr_load_count;
12188 infile = _dl_open(libname, 00, 0);
12190 _dl_internal_error_number = 1;
12191 return ((void *)0);
12194 if (_dl_fstat(infile, &st) < 0) {
12195 _dl_internal_error_number = 1;
12197 return ((void *)0);
12201 if (rflags & 0x0001) {
12202 if (!(st.st_mode & 04000)) {
12204 return ((void *)0);
12209 for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
12210 if (tpnt->st_dev == st.st_dev && tpnt->st_ino == st.st_ino) {
12212 tpnt->usage_count++;
12217 if (rflags & 0x0002) {
12219 return ((void *)0);
12221 header = _dl_mmap((void *) 0, _dl_pagesize, 0x1 | 0x2,
12222 0x02 | 0x20 | 0x4000000, -1, 0);
12223 if ((((void *)header) == ((void *) -1))) {
12224 _dl_dprintf(2, "%s:%i: can't map '%s'\n", _dl_progname, 505, libname);
12225 _dl_internal_error_number = 6;
12227 return ((void *)0);
12230 _dl_read(infile, header, _dl_pagesize);
12231 epnt = (Elf32_Ehdr *) (intptr_t) header;
12232 p32 = (uint32_t*)&epnt->e_ident;
12233 if (*p32 != ((uint32_t)(0x7f + 0x100 * ('E' + (0x100 * ('L' + 0x100 * 'F')))))) {
12234 _dl_dprintf(2, "%s: '%s' is not an ELF file\n", _dl_progname,
12236 _dl_internal_error_number = 3;
12238 _dl_munmap(header, _dl_pagesize);
12239 return ((void *)0);
12242 if ((epnt->e_type != 3
12246 ) || (epnt->e_machine != 106
12252 _dl_internal_error_number =
12253 (epnt->e_type != 3 ? 5 : 4);
12254 _dl_dprintf(2, "%s: '%s' is not an ELF executable for " "BFIN"
12255 "\n", _dl_progname, libname);
12257 _dl_munmap(header, _dl_pagesize);
12258 return ((void *)0);
12261 ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
12264 for (i = 0; i < epnt->e_phnum; i++) {
12266 if (ppnt->p_type == 2) {
12268 _dl_dprintf(2, "%s: '%s' has more than one dynamic section\n",
12269 _dl_progname, libname);
12270 dynamic_addr = ppnt->p_vaddr;
12273 if (ppnt->p_type == 1) {
12275 if (minvma == 0xffffffff && ppnt->p_vaddr > 0x1000000) {
12277 minvma = ppnt->p_vaddr;
12279 if (piclib && ppnt->p_vaddr < minvma) {
12280 minvma = ppnt->p_vaddr;
12282 if (((unsigned long) ppnt->p_vaddr + ppnt->p_memsz) > maxvma) {
12283 maxvma = ppnt->p_vaddr + ppnt->p_memsz;
12286 if (ppnt->p_type == 7) {
12287 # 581 "ldso/ldso/dl-elf.c"
12288 _dl_dprintf(2, "%s: '%s' library contains unsupported TLS\n",
12289 _dl_progname, libname);
12290 _dl_internal_error_number = 8;
12292 _dl_munmap(header, _dl_pagesize);
12293 return ((void *)0);
12304 do { if (((epnt)->e_flags & 0x00000002) && ! ((epnt)->e_flags & 0x00000001)) (piclib) = 2; else { _dl_internal_error_number = 5; _dl_dprintf(2, "%s: '%s' is not an FDPIC shared library" "\n", (_dl_progname), (libname)); _dl_close(infile); return ((void *)0); } } while (0);
12306 maxvma = (maxvma + (_dl_pagesize - 1)) & (~(_dl_pagesize - 1));
12307 minvma = minvma & ~(_dl_pagesize - 1);
12311 if (piclib == 0 || piclib == 1) {
12312 status = (char *) _dl_mmap((char *) (piclib ? 0 : minvma),
12313 maxvma - minvma, 0x0, flags | 0x20, -1, 0);
12314 if ((((void *)status) == ((void *) -1))) {
12316 _dl_dprintf(2, "%s:%i: can't map '%s'\n", _dl_progname, 609, libname);
12317 _dl_internal_error_number = 6;
12319 _dl_munmap(header, _dl_pagesize);
12320 return ((void *)0);
12322 libaddr = (unsigned long) status;
12327 ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
12329 (dl_init_loadaddr_load_count = __dl_init_loadaddr (&(lib_loadaddr), (ppnt), (epnt->e_phnum)));
12333 for (i = 0; i < epnt->e_phnum; i++) {
12334 if (__dl_is_special_segment(epnt, ppnt)) {
12337 addr = __dl_map_segment (epnt, ppnt, infile, flags);
12338 if (addr == ((void *)0)) {
12340 (__dl_loadaddr_unmap ((lib_loadaddr), (((void *)0))));
12344 (__dl_init_loadaddr_hdr ((lib_loadaddr), (addr), (ppnt), dl_init_loadaddr_load_count));
12348 if (ppnt->p_type == 0x6474e552) {
12349 relro_addr = ppnt->p_vaddr;
12350 relro_size = ppnt->p_memsz;
12352 if (ppnt->p_type == 1) {
12356 if (ppnt->p_flags & (1 << 1)) {
12357 status = map_writeable (infile, ppnt, piclib, flags, libaddr);
12358 if (status == ((void *)0))
12361 tryaddr = (piclib == 2 ? 0
12362 : (char *) (ppnt->p_vaddr & (~(_dl_pagesize - 1)))
12363 + (piclib ? libaddr : 0));
12364 size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
12365 status = (char *) _dl_mmap
12366 (tryaddr, size, ( (((ppnt->p_flags) & (1 << 2)) ? 0x1 : 0) | (((ppnt->p_flags) & (1 << 1)) ? 0x2 : 0) | (((ppnt->p_flags) & (1 << 0)) ? 0x4 : 0)),
12367 flags | (piclib == 2 ? 0x01000
12369 infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
12370 if ((((void *)status) == ((void *) -1))
12371 || (tryaddr && tryaddr != status))
12374 (__dl_init_loadaddr_hdr ((lib_loadaddr), (status + (ppnt->p_vaddr & (_dl_pagesize - 1))), (ppnt), dl_init_loadaddr_load_count))
12385 # 686 "ldso/ldso/dl-elf.c"
12388 dynamic_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_addr), (lib_loadaddr).map));
12390 # 698 "ldso/ldso/dl-elf.c"
12391 if (!dynamic_addr) {
12392 _dl_internal_error_number = 7;
12393 _dl_dprintf(2, "%s: '%s' is missing a dynamic section\n",
12394 _dl_progname, libname);
12395 _dl_munmap(header, _dl_pagesize);
12397 return ((void *)0);
12400 dpnt = (Elf32_Dyn *) dynamic_addr;
12401 _dl_memset(dynamic_info, 0, sizeof(dynamic_info));
12402 rtld_flags = _dl_parse_dynamic_info(dpnt, dynamic_info, ((void *)0), lib_loadaddr);
12407 if (dynamic_info[22]) {
12409 ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
12410 for (i = 0; i < epnt->e_phnum; i++, ppnt++) {
12411 if (ppnt->p_type == 1 && !(ppnt->p_flags & (1 << 1))) {
12419 new_addr = map_writeable (infile, ppnt, piclib, flags, libaddr);
12421 _dl_dprintf(2, "Can't modify %s's text section.",
12425 (__dl_update_loadaddr_hdr ((lib_loadaddr), (new_addr + (ppnt->p_vaddr & (_dl_pagesize - 1))), (ppnt)))
12430 _dl_parse_dynamic_info(dpnt, dynamic_info, ((void *)0), lib_loadaddr);
12444 tpnt = _dl_add_elf_hash_table(libname, lib_loadaddr, dynamic_info,
12446 tpnt->mapaddr = libaddr;
12447 tpnt->relro_addr = relro_addr;
12448 tpnt->relro_size = relro_size;
12449 tpnt->st_dev = st.st_dev;
12450 tpnt->st_ino = st.st_ino;
12451 tpnt->ppnt = (Elf32_Phdr *)
12454 # 759 "ldso/ldso/dl-elf.c"
12455 )__reloc_pointer ((void*)(epnt->e_phoff), ((tpnt->loadaddr)).map))
12457 tpnt->n_phent = epnt->e_phnum;
12458 tpnt->rtld_flags |= rtld_flags;
12459 # 808 "ldso/ldso/dl-elf.c"
12466 (*rpnt)->next = _dl_malloc(sizeof(struct dyn_elf));
12467 _dl_memset((*rpnt)->next, 0, sizeof(struct dyn_elf));
12468 (*rpnt)->next->prev = (*rpnt);
12469 *rpnt = (*rpnt)->next;
12477 *rpnt = _dl_symbol_tables = _dl_malloc(sizeof(struct dyn_elf));
12478 _dl_memset(*rpnt, 0, sizeof(struct dyn_elf));
12481 (*rpnt)->dyn = tpnt;
12482 tpnt->usage_count++;
12486 tpnt->libtype = elf_lib;
12487 # 843 "ldso/ldso/dl-elf.c"
12488 lpnt = (unsigned long *) dynamic_info[3];
12491 lpnt = (unsigned long *) (dynamic_info[3]);
12492 { (tpnt)->loadaddr.got_value = (lpnt); lpnt[0] = ((unsigned long *)&_dl_linux_resolve)[0]; lpnt[1] = ((unsigned long *)&_dl_linux_resolve)[1]; lpnt[2] = (unsigned long) tpnt; };
12494 # 922 "ldso/ldso/dl-elf.c"
12500 _dl_munmap(header, _dl_pagesize);
12506 int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int now_flag)
12509 struct elf_resolve *tpnt;
12510 Elf32_Word reloc_size, relative_count;
12511 Elf32_Addr reloc_addr;
12514 goof = _dl_fixup(rpnt->next, scope, now_flag);
12519 if (!(tpnt->init_flag & 0x000001))
12522 if (__builtin_expect((!!(tpnt->dynamic_info[7])),0)) {
12529 reloc_size = tpnt->dynamic_info[18];
12533 reloc_size -= tpnt->dynamic_info [2];
12535 if (tpnt->dynamic_info[17] &&
12536 !(tpnt->init_flag & 0x000001)) {
12537 reloc_addr = tpnt->dynamic_info[17];
12538 relative_count = tpnt->dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)];
12539 if (relative_count) {
12540 reloc_size -= relative_count * sizeof(Elf32_Rel);
12544 elf_machine_relative(tpnt->loadaddr, reloc_addr, relative_count);
12545 reloc_addr += relative_count * sizeof(Elf32_Rel);
12547 goof += _dl_parse_relocation_information(rpnt, scope,
12550 tpnt->init_flag |= 0x000001;
12552 if (tpnt->dynamic_info[24])
12553 now_flag = 0x00002;
12554 if (tpnt->dynamic_info[23] &&
12555 (!(tpnt->init_flag & 0x000002) ||
12556 (now_flag && !(tpnt->rtld_flags & now_flag)))) {
12557 tpnt->rtld_flags |= now_flag;
12558 if (!(tpnt->rtld_flags & 0x00002)) {
12559 _dl_parse_lazy_relocation_information(rpnt,
12560 tpnt->dynamic_info[23],
12561 tpnt->dynamic_info [2]);
12563 goof += _dl_parse_relocation_information(rpnt, scope,
12564 tpnt->dynamic_info[23],
12565 tpnt->dynamic_info[2]);
12567 tpnt->init_flag |= 0x000002;
12569 # 1006 "ldso/ldso/dl-elf.c"
12574 void _dl_dprintf(int fd, const char *fmt, ...)
12582 char *start, *ptr, *string;
12588 buf = _dl_mmap((void *) 0, _dl_pagesize, 0x1 | 0x2,
12589 0x02 | 0x20, -1, 0);
12590 if ((((void *)buf) == ((void *) -1))) {
12591 _dl_write(fd, "mmap of a spare page failed!\n", 29);
12597 if (_dl_strlen(fmt) >= (_dl_pagesize - 1)) {
12598 _dl_write(fd, "overflow\n", 11);
12602 _dl_strcpy(buf, fmt);
12603 __builtin_va_start(args,fmt);
12606 while (*ptr != '%' && *ptr) {
12612 _dl_write(fd, start, _dl_strlen(start));
12616 string = __builtin_va_arg(args,char *);
12619 _dl_write(fd, "(null)", 6);
12621 _dl_write(fd, string, _dl_strlen(string));
12631 num = __builtin_va_arg(args,int);
12633 string = _dl_simple_ltoa(tmp, num);
12634 _dl_write(fd, string, _dl_strlen(string));
12644 num = __builtin_va_arg(args,int);
12646 string = _dl_simple_ltoahex(tmp, num);
12647 _dl_write(fd, string, _dl_strlen(string));
12651 _dl_write(fd, "(null)", 6);
12657 _dl_write(fd, start, _dl_strlen(start));
12658 start = ((void *)0);
12661 _dl_munmap(buf, _dl_pagesize);
12665 char *_dl_strdup(const char *string)
12670 len = _dl_strlen(string);
12671 retval = _dl_malloc(len + 1);
12672 _dl_strcpy(retval, string);
12676 unsigned int _dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
12677 void *debug_addr, struct elf32_fdpic_loadaddr load_off)
12679 return __dl_parse_dynamic_info(dpnt, dynamic_info, debug_addr, load_off);
12681 # 1432 "ldso/ldso/ldso.c" 2