]> git.wh0rd.org - ICEs.git/blobdiff - bfin-text-sect-attrs/ldso.i.0
more
[ICEs.git] / bfin-text-sect-attrs / ldso.i.0
diff --git a/bfin-text-sect-attrs/ldso.i.0 b/bfin-text-sect-attrs/ldso.i.0
new file mode 100644 (file)
index 0000000..a0a085f
--- /dev/null
@@ -0,0 +1,12681 @@
+# 1 "ldso/ldso/ldso.c"
+# 1 "<built-in>"
+#define __STDC__ 1
+#define __STDC_HOSTED__ 1
+#define __GNUC__ 4
+#define __GNUC_MINOR__ 5
+#define __GNUC_PATCHLEVEL__ 3
+#define __SIZE_TYPE__ long unsigned int
+#define __PTRDIFF_TYPE__ long int
+#define __WCHAR_TYPE__ int
+#define __WINT_TYPE__ unsigned int
+#define __INTMAX_TYPE__ long long int
+#define __UINTMAX_TYPE__ long long unsigned int
+#define __CHAR16_TYPE__ short unsigned int
+#define __CHAR32_TYPE__ unsigned int
+#define __SIG_ATOMIC_TYPE__ int
+#define __INT8_TYPE__ signed char
+#define __INT16_TYPE__ short int
+#define __INT32_TYPE__ int
+#define __INT64_TYPE__ long long int
+#define __UINT8_TYPE__ unsigned char
+#define __UINT16_TYPE__ short unsigned int
+#define __UINT32_TYPE__ unsigned int
+#define __UINT64_TYPE__ long long unsigned int
+#define __INT_LEAST8_TYPE__ signed char
+#define __INT_LEAST16_TYPE__ short int
+#define __INT_LEAST32_TYPE__ int
+#define __INT_LEAST64_TYPE__ long long int
+#define __UINT_LEAST8_TYPE__ unsigned char
+#define __UINT_LEAST16_TYPE__ short unsigned int
+#define __UINT_LEAST32_TYPE__ unsigned int
+#define __UINT_LEAST64_TYPE__ long long unsigned int
+#define __INT_FAST8_TYPE__ signed char
+#define __INT_FAST16_TYPE__ int
+#define __INT_FAST32_TYPE__ int
+#define __INT_FAST64_TYPE__ long long int
+#define __UINT_FAST8_TYPE__ unsigned char
+#define __UINT_FAST16_TYPE__ unsigned int
+#define __UINT_FAST32_TYPE__ unsigned int
+#define __UINT_FAST64_TYPE__ long long unsigned int
+#define __INTPTR_TYPE__ int
+#define __UINTPTR_TYPE__ unsigned int
+#define __GXX_ABI_VERSION 1002
+#define __SCHAR_MAX__ 127
+#define __SHRT_MAX__ 32767
+#define __INT_MAX__ 2147483647
+#define __LONG_MAX__ 2147483647L
+#define __LONG_LONG_MAX__ 9223372036854775807LL
+#define __WCHAR_MAX__ 2147483647
+#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
+#define __WINT_MAX__ 4294967295U
+#define __WINT_MIN__ 0U
+#define __PTRDIFF_MAX__ 2147483647L
+#define __SIZE_MAX__ 4294967295UL
+#define __CHAR_BIT__ 8
+#define __INTMAX_MAX__ 9223372036854775807LL
+#define __INTMAX_C(c) c ## LL
+#define __UINTMAX_MAX__ 18446744073709551615ULL
+#define __UINTMAX_C(c) c ## ULL
+#define __SIG_ATOMIC_MAX__ 2147483647
+#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+#define __INT8_MAX__ 127
+#define __INT16_MAX__ 32767
+#define __INT32_MAX__ 2147483647
+#define __INT64_MAX__ 9223372036854775807LL
+#define __UINT8_MAX__ 255
+#define __UINT16_MAX__ 65535
+#define __UINT32_MAX__ 4294967295U
+#define __UINT64_MAX__ 18446744073709551615ULL
+#define __INT_LEAST8_MAX__ 127
+#define __INT8_C(c) c
+#define __INT_LEAST16_MAX__ 32767
+#define __INT16_C(c) c
+#define __INT_LEAST32_MAX__ 2147483647
+#define __INT32_C(c) c
+#define __INT_LEAST64_MAX__ 9223372036854775807LL
+#define __INT64_C(c) c ## LL
+#define __UINT_LEAST8_MAX__ 255
+#define __UINT8_C(c) c
+#define __UINT_LEAST16_MAX__ 65535
+#define __UINT16_C(c) c
+#define __UINT_LEAST32_MAX__ 4294967295U
+#define __UINT32_C(c) c ## U
+#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
+#define __UINT64_C(c) c ## ULL
+#define __INT_FAST8_MAX__ 127
+#define __INT_FAST16_MAX__ 2147483647
+#define __INT_FAST32_MAX__ 2147483647
+#define __INT_FAST64_MAX__ 9223372036854775807LL
+#define __UINT_FAST8_MAX__ 255
+#define __UINT_FAST16_MAX__ 4294967295U
+#define __UINT_FAST32_MAX__ 4294967295U
+#define __UINT_FAST64_MAX__ 18446744073709551615ULL
+#define __INTPTR_MAX__ 2147483647
+#define __UINTPTR_MAX__ 4294967295U
+#define __FLT_EVAL_METHOD__ 0
+#define __DEC_EVAL_METHOD__ 2
+#define __FLT_RADIX__ 2
+#define __FLT_MANT_DIG__ 24
+#define __FLT_DIG__ 6
+#define __FLT_MIN_EXP__ (-125)
+#define __FLT_MIN_10_EXP__ (-37)
+#define __FLT_MAX_EXP__ 128
+#define __FLT_MAX_10_EXP__ 38
+#define __FLT_MAX__ 3.4028234663852886e+38F
+#define __FLT_MIN__ 1.1754943508222875e-38F
+#define __FLT_EPSILON__ 1.1920928955078125e-7F
+#define __FLT_DENORM_MIN__ 1.4012984643248171e-45F
+#define __FLT_HAS_DENORM__ 1
+#define __FLT_HAS_INFINITY__ 1
+#define __FLT_HAS_QUIET_NAN__ 1
+#define __DBL_MANT_DIG__ 53
+#define __DBL_DIG__ 15
+#define __DBL_MIN_EXP__ (-1021)
+#define __DBL_MIN_10_EXP__ (-307)
+#define __DBL_MAX_EXP__ 1024
+#define __DBL_MAX_10_EXP__ 308
+#define __DBL_MAX__ ((double)1.7976931348623157e+308L)
+#define __DBL_MIN__ ((double)2.2250738585072014e-308L)
+#define __DBL_EPSILON__ ((double)2.2204460492503131e-16L)
+#define __DBL_DENORM_MIN__ ((double)4.9406564584124654e-324L)
+#define __DBL_HAS_DENORM__ 1
+#define __DBL_HAS_INFINITY__ 1
+#define __DBL_HAS_QUIET_NAN__ 1
+#define __LDBL_MANT_DIG__ 53
+#define __LDBL_DIG__ 15
+#define __LDBL_MIN_EXP__ (-1021)
+#define __LDBL_MIN_10_EXP__ (-307)
+#define __LDBL_MAX_EXP__ 1024
+#define __LDBL_MAX_10_EXP__ 308
+#define __DECIMAL_DIG__ 17
+#define __LDBL_MAX__ 1.7976931348623157e+308L
+#define __LDBL_MIN__ 2.2250738585072014e-308L
+#define __LDBL_EPSILON__ 2.2204460492503131e-16L
+#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
+#define __LDBL_HAS_DENORM__ 1
+#define __LDBL_HAS_INFINITY__ 1
+#define __LDBL_HAS_QUIET_NAN__ 1
+#define __DEC32_MANT_DIG__ 7
+#define __DEC32_MIN_EXP__ (-94)
+#define __DEC32_MAX_EXP__ 97
+#define __DEC32_MIN__ 1E-95DF
+#define __DEC32_MAX__ 9.999999E96DF
+#define __DEC32_EPSILON__ 1E-6DF
+#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+#define __DEC64_MANT_DIG__ 16
+#define __DEC64_MIN_EXP__ (-382)
+#define __DEC64_MAX_EXP__ 385
+#define __DEC64_MIN__ 1E-383DD
+#define __DEC64_MAX__ 9.999999999999999E384DD
+#define __DEC64_EPSILON__ 1E-15DD
+#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+#define __DEC128_MANT_DIG__ 34
+#define __DEC128_MIN_EXP__ (-6142)
+#define __DEC128_MAX_EXP__ 6145
+#define __DEC128_MIN__ 1E-6143DL
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+#define __DEC128_EPSILON__ 1E-33DL
+#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+#define __REGISTER_PREFIX__ 
+#define __USER_LABEL_PREFIX__ _
+#define __VERSION__ "4.5.3"
+#define __GNUC_GNU_INLINE__ 1
+#define __OPTIMIZE_SIZE__ 1
+#define __OPTIMIZE__ 1
+#define __FINITE_MATH_ONLY__ 0
+#define __pic__ 1
+#define __PIC__ 1
+#define __pie__ 1
+#define __PIE__ 1
+#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+#define __PRAGMA_REDEFINE_EXTNAME 1
+#define __SIZEOF_INT__ 4
+#define __SIZEOF_LONG__ 4
+#define __SIZEOF_LONG_LONG__ 8
+#define __SIZEOF_SHORT__ 2
+#define __SIZEOF_FLOAT__ 4
+#define __SIZEOF_DOUBLE__ 8
+#define __SIZEOF_LONG_DOUBLE__ 8
+#define __SIZEOF_SIZE_T__ 4
+#define __SIZEOF_WCHAR_T__ 4
+#define __SIZEOF_WINT_T__ 4
+#define __SIZEOF_PTRDIFF_T__ 4
+#define __SIZEOF_POINTER__ 4
+#define __bfin 1
+#define __bfin__ 1
+#define bfin 1
+#define __BFIN 1
+#define __BFIN__ 1
+#define BFIN 1
+#define __ADSPBLACKFIN__ 1
+#define __ADSPLPBLACKFIN__ 1
+#define __SILICON_REVISION__ 0xffff
+#define __WORKAROUNDS_ENABLED 1
+#define __WORKAROUND_SPECULATIVE_LOADS 1
+#define __WORKAROUND_SPECULATIVE_SYNCS 1
+#define __WORKAROUND_RETS 1
+#define __WORKAROUND_UNSAFE_NULL_ADDR 1
+#define __BFIN_FDPIC__ 1
+#define __FDPIC__ 1
+#define __gnu_linux__ 1
+#define __linux 1
+#define __linux__ 1
+#define linux 1
+#define __unix 1
+#define __unix__ 1
+#define unix 1
+#define __ELF__ 1
+#define __BIGGEST_ALIGNMENT__ 4
+# 1 "<command-line>"
+#define NDEBUG 1
+#define __UCLIBC_UNDERSCORES__ 1
+#define NOT_IN_libc 1
+#define IS_IN_rtld 1
+#define UCLIBC_RUNTIME_PREFIX "/usr/bfin-linux-uclibc/"
+#define UCLIBC_LDSO "ld-uClibc.so.0"
+#define LDSO_ELFINTERP "bfin/elfinterp.c"
+#define NOT_IN_libc 1
+#define IS_IN_rtld 1
+#define UCLIBC_RUNTIME_PREFIX "/usr/bfin-linux-uclibc/"
+#define UCLIBC_LDSO "ld-uClibc.so.0"
+# 1 "././include/libc-symbols.h" 1
+# 23 "././include/libc-symbols.h"
+#define _LIBC_SYMBOLS_H 1
+# 32 "././include/libc-symbols.h"
+#define _LIBC 1
+# 51 "././include/libc-symbols.h"
+# 1 "./include/bits/uClibc_arch_features.h" 1
+
+
+
+
+
+#define _BITS_UCLIBC_ARCH_FEATURES_H 
+
+
+#define __UCLIBC_ABORT_INSTRUCTION__ ".short 2"
+
+
+#define __UCLIBC_MMAP_HAS_6_ARGS__ 
+
+
+#undef __UCLIBC_TRUNCATE64_HAS_4_ARGS__
+
+
+#undef __UCLIBC_BROKEN_CREATE_MODULE__
+
+
+#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
+
+
+#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__ 
+
+
+#undef __UCLIBC_ASM_GLOBAL_DIRECTIVE__
+
+
+#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__ 
+
+
+#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
+
+
+#undef __UCLIBC_HAVE_ASM_GLOBAL_DOT_NAME__
+
+
+#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
+
+
+#define __UCLIBC_HAVE_SIGNED_ZERO__ 
+
+
+#undef __UCLIBC_ASM_LINE_SEP__
+# 52 "././include/libc-symbols.h" 2
+
+
+#define _GNU_SOURCE 1
+
+
+
+
+
+
+#define likely(x) __builtin_expect((!!(x)),1)
+
+
+#define unlikely(x) __builtin_expect((!!(x)),0)
+
+
+
+#define __cold __attribute__ ((__cold__))
+
+
+#define __hot __attribute__ ((__hot__))
+# 82 "././include/libc-symbols.h"
+#define __LINUX_COMPILER_H 
+
+
+#define __cast__(_to) 
+
+
+
+#define attribute_optimize(x) __attribute__ ((optimize(x)))
+
+
+
+
+#define attribute_unused __attribute__ ((unused))
+
+
+#define attribute_noreturn __attribute__ ((__noreturn__))
+
+
+
+
+#define libc_freeres_ptr(decl) __make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment)))
+
+
+#define __libc_freeres_fn_section __attribute__ ((section ("__libc_freeres_fn")))
+# 115 "././include/libc-symbols.h"
+#define __stringify_1(x) #x
+#define __stringify(x) __stringify_1(x)
+
+
+#define HAVE_ASM_SET_DIRECTIVE 
+
+
+
+
+
+
+
+#define ASM_GLOBAL_DIRECTIVE .global
+
+
+
+#define HAVE_ASM_WEAK_DIRECTIVE 
+
+
+
+
+
+
+
+#undef HAVE_ASM_WEAKEXT_DIRECTIVE
+
+
+
+
+
+#undef HAVE_ASM_GLOBAL_DOT_NAME
+
+
+
+
+
+#undef HAVE_ASM_CFI_DIRECTIVES
+
+
+
+#define HAVE_WEAK_SYMBOLS 
+
+
+#undef C_SYMBOL_NAME
+
+
+
+
+#define C_SYMBOL_NAME(name) _ ##name
+
+
+
+
+
+
+#define ASM_LINE_SEP ;
+# 189 "././include/libc-symbols.h"
+#define strong_alias(name,aliasname) _strong_alias(name, aliasname)
+#define _strong_alias(name,aliasname) extern __typeof (name) aliasname __attribute__ ((alias (#name)));
+
+
+
+#define strong_alias_untyped(name,aliasname) _strong_alias_untyped(name, aliasname)
+
+#define _strong_alias_untyped(name,aliasname) extern __typeof (aliasname) aliasname __attribute__ ((alias (#name)));
+
+
+
+
+#define weak_function __attribute__ ((weak))
+#define weak_const_function __attribute__ ((weak, __const__))
+
+
+
+
+
+#define weak_alias(name,aliasname) _weak_alias (name, aliasname)
+#define _weak_alias(name,aliasname) extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
+
+
+
+#define weak_extern(symbol) _weak_extern (weak symbol)
+#define _weak_extern(expr) _Pragma (#expr)
+# 317 "././include/libc-symbols.h"
+#define internal_function 
+
+
+
+
+#define __make_section_unallocated(section_string) __asm__ (".section " section_string "\n\t.previous");
+# 331 "././include/libc-symbols.h"
+#define __sec_comment "\n#APP\n\t#"
+
+
+
+
+
+#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;
+# 360 "././include/libc-symbols.h"
+#define INTUSE(name) name
+#define INTDEF(name) 
+#define INTVARDEF(name) 
+#define INTDEF2(name,newname) 
+#define INTVARDEF2(name,newname) 
+# 471 "././include/libc-symbols.h"
+#define attribute_hidden __attribute__ ((visibility ("hidden")))
+#define attribute_protected __attribute__ ((visibility ("protected")))
+#define __hidden_proto_hiddenattr(attrs...) __attribute__ ((visibility ("hidden"), ##attrs))
+# 483 "././include/libc-symbols.h"
+#define hidden_proto(name,attrs...) __hidden_proto(name, __GI_ ##name, ##attrs)
+#define __hidden_proto(name,internal,attrs...) extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) __hidden_proto_hiddenattr (attrs);
+
+
+#define __hidden_asmname(name) __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
+#define __hidden_asmname1(prefix,name) __hidden_asmname2(prefix, name)
+#define __hidden_asmname2(prefix,name) #prefix name
+#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))))
+
+
+#define hidden_ver(local,name) __hidden_ver1(local, __GI_ ##name, name);
+#define hidden_data_ver(local,name) hidden_ver(local, name)
+#define hidden_def(name) __hidden_ver1(__GI_ ##name, name, name);
+#define hidden_data_def(name) hidden_def(name)
+#define hidden_weak(name) __hidden_ver1(__GI_ ##name, name, name) __attribute__((weak));
+
+#define hidden_data_weak(name) hidden_weak(name)
+# 586 "././include/libc-symbols.h"
+#define versioned_symbol(lib,local,symbol,version) 
+#undef hidden_ver
+#define hidden_ver(local,name) 
+#undef hidden_data_ver
+#define hidden_data_ver(local,name) 
+# 601 "././include/libc-symbols.h"
+#define libc_hidden_proto(name,attrs...) 
+#define libc_hidden_def(name) 
+#define libc_hidden_weak(name) 
+#define libc_hidden_ver(local,name) 
+#define libc_hidden_data_def(name) 
+#define libc_hidden_data_weak(name) 
+#define libc_hidden_data_ver(local,name) 
+
+
+
+#define rtld_hidden_proto(name,attrs...) hidden_proto (name, ##attrs)
+#define rtld_hidden_def(name) hidden_def (name)
+#define rtld_hidden_weak(name) hidden_weak (name)
+#define rtld_hidden_ver(local,name) hidden_ver (local, name)
+#define rtld_hidden_data_def(name) hidden_data_def (name)
+#define rtld_hidden_data_weak(name) hidden_data_weak (name)
+#define rtld_hidden_data_ver(local,name) hidden_data_ver (local, name)
+# 637 "././include/libc-symbols.h"
+#define libm_hidden_proto(name,attrs...) 
+#define libm_hidden_def(name) 
+#define libm_hidden_weak(name) 
+#define libm_hidden_ver(local,name) 
+#define libm_hidden_data_def(name) 
+#define libm_hidden_data_weak(name) 
+#define libm_hidden_data_ver(local,name) 
+# 655 "././include/libc-symbols.h"
+#define libresolv_hidden_proto(name,attrs...) 
+#define libresolv_hidden_def(name) 
+#define libresolv_hidden_weak(name) 
+#define libresolv_hidden_ver(local,name) 
+#define libresolv_hidden_data_def(name) 
+#define libresolv_hidden_data_weak(name) 
+#define libresolv_hidden_data_ver(local,name) 
+# 673 "././include/libc-symbols.h"
+#define librt_hidden_proto(name,attrs...) 
+#define librt_hidden_def(name) 
+#define librt_hidden_weak(name) 
+#define librt_hidden_ver(local,name) 
+#define librt_hidden_data_def(name) 
+#define librt_hidden_data_weak(name) 
+#define librt_hidden_data_ver(local,name) 
+# 691 "././include/libc-symbols.h"
+#define libdl_hidden_proto(name,attrs...) 
+#define libdl_hidden_def(name) 
+#define libdl_hidden_weak(name) 
+#define libdl_hidden_ver(local,name) 
+#define libdl_hidden_data_def(name) 
+#define libdl_hidden_data_weak(name) 
+#define libdl_hidden_data_ver(local,name) 
+# 709 "././include/libc-symbols.h"
+#define libintl_hidden_proto(name,attrs...) 
+#define libintl_hidden_def(name) 
+#define libintl_hidden_weak(name) 
+#define libintl_hidden_ver(local,name) 
+#define libintl_hidden_data_def(name) 
+#define libintl_hidden_data_weak(name) 
+#define libintl_hidden_data_ver(local,name) 
+# 727 "././include/libc-symbols.h"
+#define libnsl_hidden_proto(name,attrs...) 
+#define libnsl_hidden_def(name) 
+#define libnsl_hidden_weak(name) 
+#define libnsl_hidden_ver(local,name) 
+#define libnsl_hidden_data_def(name) 
+#define libnsl_hidden_data_weak(name) 
+#define libnsl_hidden_data_ver(local,name) 
+# 745 "././include/libc-symbols.h"
+#define libutil_hidden_proto(name,attrs...) 
+#define libutil_hidden_def(name) 
+#define libutil_hidden_weak(name) 
+#define libutil_hidden_ver(local,name) 
+#define libutil_hidden_data_def(name) 
+#define libutil_hidden_data_weak(name) 
+#define libutil_hidden_data_ver(local,name) 
+# 763 "././include/libc-symbols.h"
+#define libcrypt_hidden_proto(name,attrs...) 
+#define libcrypt_hidden_def(name) 
+#define libcrypt_hidden_weak(name) 
+#define libcrypt_hidden_ver(local,name) 
+#define libcrypt_hidden_data_def(name) 
+#define libcrypt_hidden_data_weak(name) 
+#define libcrypt_hidden_data_ver(local,name) 
+# 781 "././include/libc-symbols.h"
+#define libpthread_hidden_proto(name,attrs...) 
+#define libpthread_hidden_def(name) 
+#define libpthread_hidden_weak(name) 
+#define libpthread_hidden_ver(local,name) 
+#define libpthread_hidden_data_def(name) 
+#define libpthread_hidden_data_weak(name) 
+#define libpthread_hidden_data_ver(local,name) 
+# 1 "<command-line>" 2
+# 1 "ldso/ldso/ldso.c"
+# 33 "ldso/ldso/ldso.c"
+# 1 "./ldso/include/ldso.h" 1
+# 9 "./ldso/include/ldso.h"
+#define _LDSO_H_ 
+
+# 1 "./include/features.h" 1
+# 20 "./include/features.h"
+#define _FEATURES_H 1
+# 95 "./include/features.h"
+#undef __USE_ISOC99
+#undef __USE_ISOC95
+#undef __USE_POSIX
+#undef __USE_POSIX2
+#undef __USE_POSIX199309
+#undef __USE_POSIX199506
+#undef __USE_XOPEN
+#undef __USE_XOPEN_EXTENDED
+#undef __USE_UNIX98
+#undef __USE_XOPEN2K
+#undef __USE_XOPEN2K8
+#undef __USE_LARGEFILE
+#undef __USE_LARGEFILE64
+#undef __USE_FILE_OFFSET64
+#undef __USE_BSD
+#undef __USE_SVID
+#undef __USE_MISC
+#undef __USE_ATFILE
+#undef __USE_GNU
+#undef __USE_REENTRANT
+#undef __USE_FORTIFY_LEVEL
+#undef __FAVOR_BSD
+#undef __KERNEL_STRICT_NAMES
+
+
+
+
+#define __KERNEL_STRICT_NAMES 
+
+
+
+#define __USE_ANSI 1
+# 136 "./include/features.h"
+#define __GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+# 153 "./include/features.h"
+#undef _ISOC99_SOURCE
+#define _ISOC99_SOURCE 1
+#undef _POSIX_SOURCE
+#define _POSIX_SOURCE 1
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 200809L
+#undef _XOPEN_SOURCE
+#define _XOPEN_SOURCE 700
+#undef _XOPEN_SOURCE_EXTENDED
+#define _XOPEN_SOURCE_EXTENDED 1
+#undef _LARGEFILE64_SOURCE
+#define _LARGEFILE64_SOURCE 1
+#undef _BSD_SOURCE
+#define _BSD_SOURCE 1
+#undef _SVID_SOURCE
+#define _SVID_SOURCE 1
+#undef _ATFILE_SOURCE
+#define _ATFILE_SOURCE 1
+
+
+
+
+
+#define __UCLIBC__ 1
+# 186 "./include/features.h"
+#define __need_uClibc_config_h 
+# 1 "./include/bits/uClibc_config.h" 1
+
+
+
+
+#define __UCLIBC_MAJOR__ 0
+#define __UCLIBC_MINOR__ 9
+#define __UCLIBC_SUBLEVEL__ 34
+
+
+
+#undef __TARGET_alpha__
+#undef __TARGET_arm__
+#undef __TARGET_avr32__
+#define __TARGET_bfin__ 1
+#undef __TARGET_cris__
+#undef __TARGET_e1__
+#undef __TARGET_frv__
+#undef __TARGET_h8300__
+#undef __TARGET_hppa__
+#undef __TARGET_i386__
+#undef __TARGET_i960__
+#undef __TARGET_ia64__
+#undef __TARGET_m68k__
+#undef __TARGET_microblaze__
+#undef __TARGET_mips__
+#undef __TARGET_nios__
+#undef __TARGET_nios2__
+#undef __TARGET_powerpc__
+#undef __TARGET_sh__
+#undef __TARGET_sh64__
+#undef __TARGET_sparc__
+#undef __TARGET_v850__
+#undef __TARGET_vax__
+#undef __TARGET_x86_64__
+#undef __TARGET_xtensa__
+#undef __TARGET_c6x__
+
+
+#define __TARGET_ARCH__ "bfin"
+#define __FORCE_OPTIONS_FOR_ARCH__ 1
+#define __TARGET_SUBARCH__ ""
+#undef __UCLIBC_FORMAT_ELF__
+#define __UCLIBC_FORMAT_FDPIC_ELF__ 1
+#undef __UCLIBC_FORMAT_DSBT_ELF__
+#undef __UCLIBC_FORMAT_FLAT__
+#undef __UCLIBC_FORMAT_FLAT_SEP_DATA__
+#undef __UCLIBC_FORMAT_SHARED_FLAT__
+#define __ARCH_LITTLE_ENDIAN__ 1
+
+
+#define __ARCH_HAS_NO_MMU__ 1
+
+
+#define __UCLIBC_HAS_FLOATS__ 1
+#define __UCLIBC_HAS_FPU__ 1
+#undef __DO_C99_MATH__
+#undef __DO_XSI_MATH__
+#undef __UCLIBC_HAS_FENV__
+#define __KERNEL_HEADERS__ "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include"
+#define __UCLIBC_UCLINUX_BROKEN_MUNMAP__ 1
+#define __HAVE_DOT_CONFIG__ 1
+
+
+#define __DOPIC__ 1
+#define __HAVE_SHARED__ 1
+#undef __FORCE_SHAREABLE_TEXT_SEGMENTS__
+#define __LDSO_LDD_SUPPORT__ 1
+#define __LDSO_CACHE_SUPPORT__ 1
+#define __LDSO_PRELOAD_ENV_SUPPORT__ 1
+#undef __LDSO_PRELOAD_FILE_SUPPORT__
+#define __LDSO_BASE_FILENAME__ "ld.so"
+#undef __LDSO_STANDALONE_SUPPORT__
+#undef __LDSO_PRELINK_SUPPORT__
+#define __UCLIBC_STATIC_LDCONFIG__ 1
+#define __LDSO_RUNPATH__ 1
+#define __LDSO_SEARCH_INTERP_PATH__ 1
+#define __LDSO_LD_LIBRARY_PATH__ 1
+#undef __LDSO_NO_CLEANUP__
+#define __UCLIBC_CTOR_DTOR__ 1
+#undef __LDSO_GNU_HASH_SUPPORT__
+#define __HAS_NO_THREADS__ 1
+#undef __LINUXTHREADS_OLD__
+#undef __LINUXTHREADS_NEW__
+#undef __UCLIBC_HAS_THREADS_NATIVE__
+#define __UCLIBC_HAS_SYSLOG__ 1
+#define __UCLIBC_HAS_LFS__ 1
+#define __MALLOC__ 1
+#undef __MALLOC_SIMPLE__
+#undef __MALLOC_STANDARD__
+#undef __MALLOC_GLIBC_COMPAT__
+#define __UCLIBC_DYNAMIC_ATEXIT__ 1
+#undef __COMPAT_ATEXIT__
+#undef __UCLIBC_SUSV3_LEGACY__
+#undef __UCLIBC_SUSV3_LEGACY_MACROS__
+#undef __UCLIBC_SUSV4_LEGACY__
+#undef __UCLIBC_STRICT_HEADERS__
+#undef __UCLIBC_HAS_STUBS__
+#define __UCLIBC_HAS_SHADOW__ 1
+#undef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
+#define __UCLIBC_HAS_PTY__ 1
+#define __ASSUME_DEVPTS__ 1
+#define __UNIX98PTY_ONLY__ 1
+#undef __UCLIBC_HAS_GETPT__
+#undef __UCLIBC_HAS_LIBUTIL__
+#define __UCLIBC_HAS_TM_EXTENSIONS__ 1
+#define __UCLIBC_HAS_TZ_CACHING__ 1
+#define __UCLIBC_HAS_TZ_FILE__ 1
+#define __UCLIBC_HAS_TZ_FILE_READ_MANY__ 1
+#define __UCLIBC_TZ_FILE_PATH__ "/etc/TZ"
+#define __UCLIBC_FALLBACK_TO_ETC_LOCALTIME__ 1
+
+
+#define __UCLIBC_PWD_BUFFER_SIZE__ 256
+#define __UCLIBC_GRP_BUFFER_SIZE__ 256
+
+
+#define __UCLIBC_LINUX_MODULE_26__ 1
+#define __UCLIBC_LINUX_SPECIFIC__ 1
+#define __UCLIBC_HAS_GNU_ERROR__ 1
+#define __UCLIBC_BSD_SPECIFIC__ 1
+#define __UCLIBC_HAS_BSD_ERR__ 1
+#undef __UCLIBC_HAS_OBSOLETE_BSD_SIGNAL__
+#undef __UCLIBC_HAS_OBSOLETE_SYSV_SIGNAL__
+#undef __UCLIBC_NTP_LEGACY__
+#undef __UCLIBC_SV4_DEPRECATED__
+#define __UCLIBC_HAS_REALTIME__ 1
+#define __UCLIBC_HAS_ADVANCED_REALTIME__ 1
+#define __UCLIBC_HAS_EPOLL__ 1
+#define __UCLIBC_HAS_XATTR__ 1
+#define __UCLIBC_HAS_PROFILING__ 1
+#define __UCLIBC_HAS_CRYPT_IMPL__ 1
+#undef __UCLIBC_HAS_SHA256_CRYPT_IMPL__
+#undef __UCLIBC_HAS_SHA512_CRYPT_IMPL__
+#define __UCLIBC_HAS_CRYPT__ 1
+#define __UCLIBC_HAS_NETWORK_SUPPORT__ 1
+#define __UCLIBC_HAS_SOCKET__ 1
+#define __UCLIBC_HAS_IPV4__ 1
+#undef __UCLIBC_HAS_IPV6__
+#undef __UCLIBC_HAS_RPC__
+#undef __UCLIBC_USE_NETLINK__
+#undef __UCLIBC_HAS_BSD_RES_CLOSE__
+#define __UCLIBC_HAS_COMPAT_RES_STATE__ 1
+#undef __UCLIBC_HAS_EXTRA_COMPAT_RES_STATE__
+#undef __UCLIBC_HAS_RESOLVER_SUPPORT__
+#undef __UCLIBC_HAS_LIBRESOLV_STUB__
+#undef __UCLIBC_HAS_LIBNSL_STUB__
+
+
+#define __UCLIBC_HAS_STRING_GENERIC_OPT__ 1
+#define __UCLIBC_HAS_STRING_ARCH_OPT__ 1
+#define __UCLIBC_HAS_CTYPE_TABLES__ 1
+#define __UCLIBC_HAS_CTYPE_SIGNED__ 1
+#define __UCLIBC_HAS_CTYPE_UNSAFE__ 1
+#undef __UCLIBC_HAS_CTYPE_CHECKED__
+#undef __UCLIBC_HAS_CTYPE_ENFORCED__
+#undef __UCLIBC_HAS_WCHAR__
+#undef __UCLIBC_HAS_LOCALE__
+#undef __UCLIBC_HAS_HEXADECIMAL_FLOATS__
+#undef __UCLIBC_HAS_GLIBC_CUSTOM_PRINTF__
+#undef __USE_OLD_VFPRINTF__
+#define __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__ 9
+#undef __UCLIBC_HAS_SCANF_GLIBC_A_FLAG__
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_NONE__
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_256__
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_512__
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_1024__
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_2048__
+#define __UCLIBC_HAS_STDIO_BUFSIZ_4096__ 1
+#undef __UCLIBC_HAS_STDIO_BUFSIZ_8192__
+#define __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_NONE__ 1
+#undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_4__
+#undef __UCLIBC_HAS_STDIO_BUILTIN_BUFFER_8__
+#undef __UCLIBC_HAS_STDIO_SHUTDOWN_ON_ABORT__
+#define __UCLIBC_HAS_STDIO_GETC_MACRO__ 1
+#define __UCLIBC_HAS_STDIO_PUTC_MACRO__ 1
+#define __UCLIBC_HAS_STDIO_AUTO_RW_TRANSITION__ 1
+#undef __UCLIBC_HAS_FOPEN_LARGEFILE_MODE__
+#undef __UCLIBC_HAS_FOPEN_EXCLUSIVE_MODE__
+#undef __UCLIBC_HAS_FOPEN_CLOSEEXEC_MODE__
+#undef __UCLIBC_HAS_GLIBC_CUSTOM_STREAMS__
+#undef __UCLIBC_HAS_PRINTF_M_SPEC__
+#define __UCLIBC_HAS_ERRNO_MESSAGES__ 1
+#undef __UCLIBC_HAS_SYS_ERRLIST__
+#define __UCLIBC_HAS_SIGNUM_MESSAGES__ 1
+#undef __UCLIBC_HAS_SYS_SIGLIST__
+#define __UCLIBC_HAS_GNU_GETOPT__ 1
+#define __UCLIBC_HAS_GNU_GETSUBOPT__ 1
+
+
+#define __UCLIBC_HAS_REGEX__ 1
+#define __UCLIBC_HAS_REGEX_OLD__ 1
+#define __UCLIBC_HAS_FNMATCH__ 1
+#define __UCLIBC_HAS_FNMATCH_OLD__ 1
+#undef __UCLIBC_HAS_WORDEXP__
+#undef __UCLIBC_HAS_NFTW__
+#undef __UCLIBC_HAS_FTS__
+#define __UCLIBC_HAS_GLOB__ 1
+#undef __UCLIBC_HAS_GNU_GLOB__
+#undef __UCLIBC_HAS_UTMPX__
+
+
+#define __RUNTIME_PREFIX__ "/usr/$(TARGET_ARCH)-linux-uclibc/"
+#define __DEVEL_PREFIX__ "/usr/$(TARGET_ARCH)-linux-uclibc/usr/"
+#define __MULTILIB_DIR__ "lib"
+#define __HARDWIRED_ABSPATH__ 1
+
+
+#undef __UCLIBC_HAS_ARC4RANDOM__
+#undef __UCLIBC_HAS_SSP__
+#define __UCLIBC_BUILD_RELRO__ 1
+#undef __UCLIBC_BUILD_NOW__
+#define __UCLIBC_BUILD_NOEXECSTACK__ 1
+
+
+#define __CROSS_COMPILER_PREFIX__ "bfin-linux-uclibc-"
+#define __UCLIBC_EXTRA_CFLAGS__ ""
+#undef __DODEBUG__
+#define __DOSTRIP__ 1
+#undef __DOASSERTS__
+#undef __SUPPORT_LD_DEBUG__
+#undef __SUPPORT_LD_DEBUG_EARLY__
+#undef __UCLIBC_MALLOC_DEBUGGING__
+#undef __UCLIBC_HAS_BACKTRACE__
+#define __WARNINGS__ "-Wall"
+#undef __EXTRA_WARNINGS__
+#undef __DOMULTI__
+#undef __UCLIBC_MJN3_ONLY__
+# 188 "./include/features.h" 2
+#undef __need_uClibc_config_h
+# 198 "./include/features.h"
+#define __OPTIMIZE_SIZE__ 1
+
+
+#undef __LDBL_COMPAT
+
+
+#undef _FORTIFY_SOURCE
+# 243 "./include/features.h"
+#define __USE_ISOC99 1
+
+
+
+
+
+#define __USE_ISOC95 1
+# 270 "./include/features.h"
+#define __USE_POSIX 1
+
+
+
+#define __USE_POSIX2 1
+
+
+
+#define __USE_POSIX199309 1
+
+
+
+#define __USE_POSIX199506 1
+
+
+
+#define __USE_XOPEN2K 1
+#undef __USE_ISOC99
+#define __USE_ISOC99 1
+
+
+
+#define __USE_XOPEN2K8 1
+#undef _ATFILE_SOURCE
+#define _ATFILE_SOURCE 1
+
+
+
+#define __USE_XOPEN 1
+
+#define __USE_XOPEN_EXTENDED 1
+#define __USE_UNIX98 1
+#undef _LARGEFILE_SOURCE
+#define _LARGEFILE_SOURCE 1
+
+
+#define __USE_XOPEN2K8 1
+
+#define __USE_XOPEN2K 1
+#undef __USE_ISOC99
+#define __USE_ISOC99 1
+# 320 "./include/features.h"
+#define __USE_LARGEFILE 1
+
+
+
+#define __USE_LARGEFILE64 1
+
+
+
+
+
+
+
+#define __USE_MISC 1
+
+
+
+#define __USE_BSD 1
+
+
+
+#define __USE_SVID 1
+
+
+
+#define __USE_ATFILE 1
+
+
+
+#define __USE_GNU 1
+# 363 "./include/features.h"
+#define __USE_FORTIFY_LEVEL 0
+
+
+
+
+#define __STDC_IEC_559__ 1
+#define __STDC_IEC_559_COMPLEX__ 1
+# 400 "./include/features.h"
+#define __GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
+# 416 "./include/features.h"
+# 1 "./include/sys/cdefs.h" 1
+# 21 "./include/sys/cdefs.h"
+#define _SYS_CDEFS_H 1
+# 36 "./include/sys/cdefs.h"
+#undef __P
+#undef __PMT
+# 47 "./include/sys/cdefs.h"
+#define __THROW __attribute__ ((__nothrow__))
+#define __NTH(fct) __attribute__ ((__nothrow__)) fct
+# 74 "./include/sys/cdefs.h"
+#define __P(args) args
+#define __PMT(args) args
+
+
+
+
+#define __CONCAT(x,y) x ## y
+#define __STRING(x) #x
+
+
+#define __ptr_t void *
+#define __long_double_t long double
+
+
+
+
+
+
+
+#define __BEGIN_DECLS 
+#define __END_DECLS 
+# 114 "./include/sys/cdefs.h"
+#define __BEGIN_NAMESPACE_STD 
+#define __END_NAMESPACE_STD 
+#define __USING_NAMESPACE_STD(name) 
+#define __BEGIN_NAMESPACE_C99 
+#define __END_NAMESPACE_C99 
+#define __USING_NAMESPACE_C99(name) 
+
+
+
+
+#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+#define __bos0(ptr) __builtin_object_size (ptr, 0)
+
+
+#define __warndecl(name,msg) extern void name (void) __attribute__((__warning__ (msg)))
+
+#define __warnattr(msg) __attribute__((__warning__ (msg)))
+#define __errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))
+# 142 "./include/sys/cdefs.h"
+#define __flexarr []
+# 169 "./include/sys/cdefs.h"
+#define __REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))
+
+
+
+
+#define __REDIRECT_NTH(name,proto,alias) name proto __asm__ (__ASMNAME (#alias)) __THROW
+
+
+#define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+#define __ASMNAME2(prefix,cname) __STRING (prefix) cname
+# 198 "./include/sys/cdefs.h"
+#define __attribute_aligned__(size) __attribute__ ((__aligned__ (size)))
+# 207 "./include/sys/cdefs.h"
+#define __attribute_malloc__ __attribute__ ((__malloc__))
+# 216 "./include/sys/cdefs.h"
+#define __attribute_pure__ __attribute__ ((__pure__))
+# 225 "./include/sys/cdefs.h"
+#define __attribute_used__ __attribute__ ((__used__))
+#define __attribute_noinline__ __attribute__ ((__noinline__))
+
+
+
+
+
+
+
+#define __attribute_deprecated__ __attribute__ ((__deprecated__))
+# 246 "./include/sys/cdefs.h"
+#define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))
+# 256 "./include/sys/cdefs.h"
+#define __attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))
+# 265 "./include/sys/cdefs.h"
+#define __nonnull(params) __attribute__ ((__nonnull__ params))
+
+
+
+
+
+
+
+#define __attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))
+# 282 "./include/sys/cdefs.h"
+#define __wur 
+
+
+
+
+#define __always_inline __inline __attribute__ ((__always_inline__))
+# 298 "./include/sys/cdefs.h"
+#define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
+
+#define __extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__, __artificial__))
+# 315 "./include/sys/cdefs.h"
+#define __va_arg_pack() __builtin_va_arg_pack ()
+#define __va_arg_pack_len() __builtin_va_arg_pack_len ()
+# 336 "./include/sys/cdefs.h"
+#define __restrict_arr __restrict
+# 417 "./include/features.h" 2
+# 445 "./include/features.h"
+#undef _FILE_OFFSET_BITS
+#undef __USE_FILE_OFFSET64
+
+# 1 "./include/libc-internal.h" 1
+# 20 "./include/libc-internal.h"
+#define _LIBC_INTERNAL_H 1
+
+# 1 "./include/features.h" 1
+# 23 "./include/libc-internal.h" 2
+
+
+#define attribute_relro __attribute__ ((section (".data.rel.ro")))
+# 77 "./include/libc-internal.h"
+#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
+# 449 "./include/features.h" 2
+# 12 "./ldso/include/ldso.h" 2
+# 28 "./ldso/include/ldso.h"
+# 1 "./include/stdlib.h" 1
+# 28 "./include/stdlib.h"
+#define __need_size_t 
+
+
+
+
+#define __need_NULL 
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 186 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#define __size_t__ 
+#define __SIZE_T__ 
+#define _SIZE_T 
+#define _SYS_SIZE_T_H 
+#define _T_SIZE_ 
+#define _T_SIZE 
+#define __SIZE_T 
+#define _SIZE_T_ 
+#define _BSD_SIZE_T_ 
+#define _SIZE_T_DEFINED_ 
+#define _SIZE_T_DEFINED 
+#define _BSD_SIZE_T_DEFINED_ 
+#define _SIZE_T_DECLARED 
+#define ___int_size_t_h 
+#define _GCC_SIZE_T 
+#define _SIZET_ 
+
+
+
+#define __size_t 
+
+
+
+
+
+typedef long unsigned int size_t;
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef NULL
+
+
+
+
+#define NULL ((void *)0)
+
+
+
+
+
+#undef __need_NULL
+# 36 "./include/stdlib.h" 2
+
+
+
+
+#define _STDLIB_H 1
+
+
+
+# 1 "./include/bits/waitflags.h" 1
+# 26 "./include/bits/waitflags.h"
+#define WNOHANG 1
+#define WUNTRACED 2
+
+
+#define WSTOPPED 2
+#define WEXITED 4
+#define WCONTINUED 8
+#define WNOWAIT 0x01000000
+
+#define __WNOTHREAD 0x20000000
+
+#define __WALL 0x40000000
+#define __WCLONE 0x80000000
+# 45 "./include/stdlib.h" 2
+# 1 "./include/bits/waitstatus.h" 1
+# 29 "./include/bits/waitstatus.h"
+#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
+
+
+#define __WTERMSIG(status) ((status) & 0x7f)
+
+
+#define __WSTOPSIG(status) __WEXITSTATUS(status)
+
+
+#define __WIFEXITED(status) (__WTERMSIG(status) == 0)
+
+
+#define __WIFSIGNALED(status) (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
+
+
+
+#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
+
+
+
+
+#define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
+
+
+
+#define __WCOREDUMP(status) ((status) & __WCOREFLAG)
+
+
+#define __W_EXITCODE(ret,sig) ((ret) << 8 | (sig))
+#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+#define __W_CONTINUED 0xffff
+#define __WCOREFLAG 0x80
+
+
+
+
+# 1 "./include/endian.h" 1
+# 20 "./include/endian.h"
+#define _ENDIAN_H 1
+# 32 "./include/endian.h"
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+#define __PDP_ENDIAN 3412
+
+
+# 1 "./include/bits/endian.h" 1
+
+
+
+
+
+
+#define __BYTE_ORDER __LITTLE_ENDIAN
+# 38 "./include/endian.h" 2
+
+
+
+
+#define __FLOAT_WORD_ORDER __BYTE_ORDER
+
+
+
+#define LITTLE_ENDIAN __LITTLE_ENDIAN
+#define BIG_ENDIAN __BIG_ENDIAN
+#define PDP_ENDIAN __PDP_ENDIAN
+#define BYTE_ORDER __BYTE_ORDER
+
+
+
+#define __LONG_LONG_PAIR(HI,LO) LO, HI
+
+
+
+
+
+
+
+# 1 "./include/byteswap.h" 1
+# 20 "./include/byteswap.h"
+#define _BYTESWAP_H 1
+
+
+# 1 "./include/bits/byteswap.h" 1
+# 11 "./include/bits/byteswap.h"
+#define _ASM_BITS_BYTESWAP_H 1
+
+#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; }))
+# 22 "./include/bits/byteswap.h"
+#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; }))
+# 34 "./include/bits/byteswap.h"
+# 1 "./include/bits/byteswap-common.h" 1
+# 25 "./include/bits/byteswap-common.h"
+#define _BITS_BYTESWAP_H 1
+
+
+#define __bswap_constant_16(x) ((((x) >> 8) & 0xffu) | (((x) & 0xffu) << 8))
+
+
+
+
+
+
+#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; }))
+# 52 "./include/bits/byteswap-common.h"
+#define __bswap_constant_32(x) ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+
+
+
+
+
+
+
+#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; }))
+# 78 "./include/bits/byteswap-common.h"
+#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))
+# 89 "./include/bits/byteswap-common.h"
+#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; }))
+# 98 "./include/bits/byteswap-common.h"
+#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; }))
+# 34 "./include/bits/byteswap.h" 2
+# 24 "./include/byteswap.h" 2
+
+
+
+
+
+
+#define bswap_16(x) __bswap_16 (x)
+
+
+#define bswap_32(x) __bswap_32 (x)
+
+
+
+#define bswap_64(x) __bswap_64 (x)
+# 62 "./include/endian.h" 2
+
+
+#define htobe16(x) __bswap_16 (x)
+#define htole16(x) (x)
+#define be16toh(x) __bswap_16 (x)
+#define le16toh(x) (x)
+
+#define htobe32(x) __bswap_32 (x)
+#define htole32(x) (x)
+#define be32toh(x) __bswap_32 (x)
+#define le32toh(x) (x)
+
+#define htobe64(x) __bswap_64 (x)
+#define htole64(x) (x)
+#define be64toh(x) __bswap_64 (x)
+#define le64toh(x) (x)
+# 66 "./include/bits/waitstatus.h" 2
+
+union wait
+  {
+    int w_status;
+    struct
+      {
+
+ unsigned int __w_termsig:7;
+ unsigned int __w_coredump:1;
+ unsigned int __w_retcode:8;
+ unsigned int:16;
+
+
+
+
+
+
+
+      } __wait_terminated;
+    struct
+      {
+
+ unsigned int __w_stopval:8;
+ unsigned int __w_stopsig:8;
+ unsigned int:16;
+
+
+
+
+
+
+      } __wait_stopped;
+  };
+
+#define w_termsig __wait_terminated.__w_termsig
+#define w_coredump __wait_terminated.__w_coredump
+#define w_retcode __wait_terminated.__w_retcode
+#define w_stopsig __wait_stopped.__w_stopsig
+#define w_stopval __wait_stopped.__w_stopval
+# 46 "./include/stdlib.h" 2
+
+
+
+
+
+
+
+#define __WAIT_INT(status) (__extension__ (((union { __typeof(status) __in; int __i; }) { .__in = (status) }).__i))
+# 70 "./include/stdlib.h"
+typedef union
+  {
+    union wait *__uptr;
+    int *__iptr;
+  } __WAIT_STATUS __attribute__ ((__transparent_union__));
+#define __WAIT_STATUS_DEFN int *
+# 87 "./include/stdlib.h"
+#define WEXITSTATUS(status) __WEXITSTATUS (__WAIT_INT (status))
+#define WTERMSIG(status) __WTERMSIG (__WAIT_INT (status))
+#define WSTOPSIG(status) __WSTOPSIG (__WAIT_INT (status))
+#define WIFEXITED(status) __WIFEXITED (__WAIT_INT (status))
+#define WIFSIGNALED(status) __WIFSIGNALED (__WAIT_INT (status))
+#define WIFSTOPPED(status) __WIFSTOPPED (__WAIT_INT (status))
+
+#define WIFCONTINUED(status) __WIFCONTINUED (__WAIT_INT (status))
+
+
+
+
+
+typedef struct
+  {
+    int quot;
+    int rem;
+  } div_t;
+
+
+
+typedef struct
+  {
+    long int quot;
+    long int rem;
+  } ldiv_t;
+#define __ldiv_t_defined 1
+
+
+
+
+
+
+__extension__ typedef struct
+  {
+    long long int quot;
+    long long int rem;
+  } lldiv_t;
+#define __lldiv_t_defined 1
+
+
+
+
+
+#define RAND_MAX 2147483647
+
+
+
+
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+# 150 "./include/stdlib.h"
+#define MB_CUR_MAX 1
+
+
+
+
+
+
+
+extern double atof (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+extern int atoi (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+extern long int atol (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+__extension__ extern long long int atoll (__const char *__nptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+
+extern double strtod (__const char *__restrict __nptr,
+        char **__restrict __endptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+
+extern float strtof (__const char *__restrict __nptr,
+       char **__restrict __endptr) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+extern long double strtold (__const char *__restrict __nptr,
+       char **__restrict __endptr)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+
+extern long int strtol (__const char *__restrict __nptr,
+   char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+extern unsigned long int strtoul (__const char *__restrict __nptr,
+      char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+# 1 "./include/sys/types.h" 1
+# 25 "./include/sys/types.h"
+#define _SYS_TYPES_H 1
+
+
+
+
+
+# 1 "./include/bits/types.h" 1
+# 25 "./include/bits/types.h"
+#define _BITS_TYPES_H 1
+
+
+# 1 "./include/bits/wordsize.h" 1
+# 19 "./include/bits/wordsize.h"
+#define __WORDSIZE 32
+# 29 "./include/bits/types.h" 2
+
+#define __need_size_t 
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_NULL
+# 32 "./include/bits/types.h" 2
+
+# 1 "./include/bits/kernel_types.h" 1
+# 9 "./include/bits/kernel_types.h"
+#define __ARCH_BFIN_POSIX_TYPES_H 
+typedef unsigned short __kernel_dev_t;
+typedef unsigned long __kernel_ino_t;
+typedef unsigned short __kernel_mode_t;
+typedef unsigned short __kernel_nlink_t;
+typedef long __kernel_off_t;
+typedef int __kernel_pid_t;
+typedef unsigned int __kernel_ipc_pid_t;
+typedef unsigned int __kernel_uid_t;
+typedef unsigned int __kernel_gid_t;
+typedef unsigned int __kernel_size_t;
+typedef int __kernel_ssize_t;
+typedef int __kernel_ptrdiff_t;
+typedef long __kernel_time_t;
+typedef long __kernel_suseconds_t;
+typedef long __kernel_clock_t;
+typedef int __kernel_daddr_t;
+typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+typedef long long __kernel_loff_t;
+typedef __kernel_dev_t __kernel_old_dev_t;
+
+typedef struct {
+
+
+
+ int __val[2];
+
+} __kernel_fsid_t;
+# 34 "./include/bits/types.h" 2
+
+
+
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+
+typedef signed char __int8_t;
+typedef unsigned char __uint8_t;
+typedef signed short int __int16_t;
+typedef unsigned short int __uint16_t;
+typedef signed int __int32_t;
+typedef unsigned int __uint32_t;
+
+
+
+
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+
+
+
+
+
+
+
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+# 105 "./include/bits/types.h"
+#define __S16_TYPE short int
+#define __U16_TYPE unsigned short int
+#define __S32_TYPE int
+#define __U32_TYPE unsigned int
+#define __SLONGWORD_TYPE long int
+#define __ULONGWORD_TYPE unsigned long int
+
+#define __SQUAD_TYPE __quad_t
+#define __UQUAD_TYPE __u_quad_t
+#define __SWORD_TYPE int
+#define __UWORD_TYPE unsigned int
+#define __SLONG32_TYPE long int
+#define __ULONG32_TYPE unsigned long int
+#define __S64_TYPE __quad_t
+#define __U64_TYPE __u_quad_t
+
+
+#define __STD_TYPE __extension__ typedef
+# 137 "./include/bits/types.h"
+# 1 "./include/bits/typesizes.h" 1
+# 25 "./include/bits/typesizes.h"
+#define _BITS_TYPESIZES_H 1
+
+
+
+
+#define __DEV_T_TYPE __UQUAD_TYPE
+#define __UID_T_TYPE __U32_TYPE
+#define __GID_T_TYPE __U32_TYPE
+#define __INO_T_TYPE __ULONGWORD_TYPE
+#define __INO64_T_TYPE __UQUAD_TYPE
+#define __MODE_T_TYPE __U32_TYPE
+#define __NLINK_T_TYPE __UWORD_TYPE
+#define __OFF_T_TYPE __SLONGWORD_TYPE
+#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __PID_T_TYPE __S32_TYPE
+#define __RLIM_T_TYPE __ULONGWORD_TYPE
+#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __BLKCNT_T_TYPE __SLONGWORD_TYPE
+#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE
+#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE
+#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __ID_T_TYPE __U32_TYPE
+#define __CLOCK_T_TYPE __SLONGWORD_TYPE
+#define __TIME_T_TYPE __SLONGWORD_TYPE
+#define __USECONDS_T_TYPE __U32_TYPE
+#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE
+#define __DADDR_T_TYPE __S32_TYPE
+#define __SWBLK_T_TYPE __SLONGWORD_TYPE
+#define __KEY_T_TYPE __S32_TYPE
+#define __CLOCKID_T_TYPE __S32_TYPE
+#define __TIMER_T_TYPE void *
+#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE
+#define __FSID_T_TYPE struct { int __val[2]; }
+#define __SSIZE_T_TYPE __SLONGWORD_TYPE
+
+
+#define __FD_SETSIZE 1024
+# 138 "./include/bits/types.h" 2
+
+
+__extension__ typedef __u_quad_t __dev_t;
+__extension__ typedef unsigned int __uid_t;
+__extension__ typedef unsigned int __gid_t;
+__extension__ typedef unsigned long int __ino_t;
+__extension__ typedef __u_quad_t __ino64_t;
+__extension__ typedef unsigned int __mode_t;
+__extension__ typedef unsigned int __nlink_t;
+__extension__ typedef long int __off_t;
+__extension__ typedef __quad_t __off64_t;
+__extension__ typedef int __pid_t;
+__extension__ typedef struct { int __val[2]; } __fsid_t;
+__extension__ typedef long int __clock_t;
+__extension__ typedef unsigned long int __rlim_t;
+__extension__ typedef __u_quad_t __rlim64_t;
+__extension__ typedef unsigned int __id_t;
+__extension__ typedef long int __time_t;
+__extension__ typedef unsigned int __useconds_t;
+__extension__ typedef long int __suseconds_t;
+
+__extension__ typedef int __daddr_t;
+__extension__ typedef long int __swblk_t;
+__extension__ typedef int __key_t;
+
+
+__extension__ typedef int __clockid_t;
+
+
+__extension__ typedef void * __timer_t;
+
+
+__extension__ typedef long int __blksize_t;
+
+
+
+
+__extension__ typedef long int __blkcnt_t;
+__extension__ typedef __quad_t __blkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsblkcnt_t;
+__extension__ typedef __u_quad_t __fsblkcnt64_t;
+
+
+__extension__ typedef unsigned long int __fsfilcnt_t;
+__extension__ typedef __u_quad_t __fsfilcnt64_t;
+
+__extension__ typedef long int __ssize_t;
+
+
+
+typedef __off64_t __loff_t;
+typedef __quad_t *__qaddr_t;
+typedef char *__caddr_t;
+
+
+__extension__ typedef int __intptr_t;
+
+
+__extension__ typedef unsigned int __socklen_t;
+
+
+#undef __STD_TYPE
+# 32 "./include/sys/types.h" 2
+
+
+
+typedef __u_char u_char;
+typedef __u_short u_short;
+typedef __u_int u_int;
+typedef __u_long u_long;
+typedef __quad_t quad_t;
+typedef __u_quad_t u_quad_t;
+typedef __fsid_t fsid_t;
+#define __u_char_defined 
+
+
+
+typedef __loff_t loff_t;
+
+
+
+typedef __ino_t ino_t;
+
+
+
+#define __ino_t_defined 
+
+
+typedef __ino64_t ino64_t;
+#define __ino64_t_defined 
+
+
+
+typedef __dev_t dev_t;
+#define __dev_t_defined 
+
+
+
+typedef __gid_t gid_t;
+#define __gid_t_defined 
+
+
+
+typedef __mode_t mode_t;
+#define __mode_t_defined 
+
+
+
+typedef __nlink_t nlink_t;
+#define __nlink_t_defined 
+
+
+
+typedef __uid_t uid_t;
+#define __uid_t_defined 
+
+
+
+
+typedef __off_t off_t;
+
+
+
+#define __off_t_defined 
+
+
+typedef __off64_t off64_t;
+#define __off64_t_defined 
+
+
+
+typedef __pid_t pid_t;
+#define __pid_t_defined 
+
+
+
+typedef __id_t id_t;
+#define __id_t_defined 
+
+
+
+typedef __ssize_t ssize_t;
+#define __ssize_t_defined 
+
+
+
+
+typedef __daddr_t daddr_t;
+typedef __caddr_t caddr_t;
+#define __daddr_t_defined 
+
+
+
+
+typedef __key_t key_t;
+#define __key_t_defined 
+
+
+
+#define __need_clock_t 
+
+#define __need_time_t 
+#define __need_timer_t 
+#define __need_clockid_t 
+# 1 "./include/time.h" 1
+# 55 "./include/time.h"
+#define __clock_t_defined 1
+
+
+
+
+
+typedef __clock_t clock_t;
+
+
+
+
+
+
+#undef __need_clock_t
+
+
+#define __time_t_defined 1
+
+
+
+
+
+typedef __time_t time_t;
+
+
+
+
+
+
+#undef __need_time_t
+
+
+
+#define __clockid_t_defined 1
+
+
+
+
+typedef __clockid_t clockid_t;
+
+
+#undef __clockid_time_t
+
+
+
+#define __timer_t_defined 1
+
+
+
+
+typedef __timer_t timer_t;
+
+
+#undef __need_timer_t
+# 128 "./include/time.h"
+#undef __need_timespec
+# 134 "./include/sys/types.h" 2
+
+
+
+typedef __useconds_t useconds_t;
+#define __useconds_t_defined 
+
+
+typedef __suseconds_t suseconds_t;
+#define __suseconds_t_defined 
+
+
+
+#define __need_size_t 
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_NULL
+# 148 "./include/sys/types.h" 2
+
+
+
+typedef unsigned long int ulong;
+typedef unsigned short int ushort;
+typedef unsigned int uint;
+# 188 "./include/sys/types.h"
+#define __intN_t(N,MODE) typedef int int ##N ##_t __attribute__ ((__mode__ (MODE)))
+
+#define __u_intN_t(N,MODE) typedef unsigned int u_int ##N ##_t __attribute__ ((__mode__ (MODE)))
+
+
+
+#define __int8_t_defined 
+typedef int int8_t __attribute__ ((__mode__ (__QI__)));
+typedef int int16_t __attribute__ ((__mode__ (__HI__)));
+typedef int int32_t __attribute__ ((__mode__ (__SI__)));
+typedef int int64_t __attribute__ ((__mode__ (__DI__)));
+
+
+typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__)));
+typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__)));
+typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__)));
+typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__)));
+
+typedef int register_t __attribute__ ((__mode__ (__word__)));
+
+
+
+
+
+#define __BIT_TYPES_DEFINED__ 1
+
+
+
+
+
+
+
+# 1 "./include/sys/select.h" 1
+# 23 "./include/sys/select.h"
+#define _SYS_SELECT_H 1
+
+
+
+
+
+
+
+# 1 "./include/bits/select.h" 1
+# 26 "./include/bits/select.h"
+#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)
+
+
+
+
+
+
+#define __FD_SET(d,s) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
+#define __FD_CLR(d,s) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
+#define __FD_ISSET(d,s) ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
+# 32 "./include/sys/select.h" 2
+
+
+# 1 "./include/bits/sigset.h" 1
+# 21 "./include/bits/sigset.h"
+#define _SIGSET_H_types 1
+
+typedef int __sig_atomic_t;
+# 38 "./include/bits/sigset.h"
+#define _SIGSET_NWORDS (64 / (8 * sizeof (unsigned long)))
+
+typedef struct {
+ unsigned long __val[(64 / (8 * sizeof (unsigned long)))];
+} __sigset_t;
+# 35 "./include/sys/select.h" 2
+
+
+#define __sigset_t_defined 
+typedef __sigset_t sigset_t;
+
+
+
+#define __need_time_t 
+#define __need_timespec 
+# 1 "./include/time.h" 1
+# 68 "./include/time.h"
+#undef __need_clock_t
+# 84 "./include/time.h"
+#undef __need_time_t
+# 96 "./include/time.h"
+#undef __clockid_time_t
+# 108 "./include/time.h"
+#undef __need_timer_t
+
+
+
+
+
+
+#define __timespec_defined 1
+
+
+
+
+
+struct timespec
+  {
+    __time_t tv_sec;
+    long int tv_nsec;
+  };
+
+
+#undef __need_timespec
+# 45 "./include/sys/select.h" 2
+#define __need_timeval 
+# 1 "./include/bits/time.h" 1
+# 66 "./include/bits/time.h"
+#undef __need_timeval
+
+#define _STRUCT_TIMEVAL 1
+
+
+
+
+struct timeval
+  {
+    __time_t tv_sec;
+    __suseconds_t tv_usec;
+  };
+# 47 "./include/sys/select.h" 2
+# 55 "./include/sys/select.h"
+typedef long int __fd_mask;
+
+
+#undef __NFDBITS
+#undef __FDELT
+#undef __FDMASK
+
+#define __NFDBITS (8 * sizeof (__fd_mask))
+#define __FDELT(d) ((d) / __NFDBITS)
+#define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
+
+
+typedef struct
+  {
+
+
+
+    __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))];
+#define __FDS_BITS(set) ((set)->fds_bits)
+
+
+
+
+  } fd_set;
+
+
+#define FD_SETSIZE __FD_SETSIZE
+
+
+
+typedef __fd_mask fd_mask;
+
+
+#define NFDBITS __NFDBITS
+
+
+
+
+#define FD_SET(fd,fdsetp) __FD_SET (fd, fdsetp)
+#define FD_CLR(fd,fdsetp) __FD_CLR (fd, fdsetp)
+#define FD_ISSET(fd,fdsetp) __FD_ISSET (fd, fdsetp)
+#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp)
+
+
+
+# 109 "./include/sys/select.h"
+extern int select (int __nfds, fd_set *__restrict __readfds,
+     fd_set *__restrict __writefds,
+     fd_set *__restrict __exceptfds,
+     struct timeval *__restrict __timeout);
+
+# 122 "./include/sys/select.h"
+extern int pselect (int __nfds, fd_set *__restrict __readfds,
+      fd_set *__restrict __writefds,
+      fd_set *__restrict __exceptfds,
+      const struct timespec *__restrict __timeout,
+      const __sigset_t *__restrict __sigmask);
+
+
+
+# 221 "./include/sys/types.h" 2
+
+
+# 1 "./include/sys/sysmacros.h" 1
+# 21 "./include/sys/sysmacros.h"
+#define _SYS_SYSMACROS_H 1
+
+
+
+
+
+
+
+__extension__
+static __inline unsigned int gnu_dev_major (unsigned long long int __dev)
+     __attribute__ ((__nothrow__));
+__extension__
+static __inline unsigned int gnu_dev_minor (unsigned long long int __dev)
+     __attribute__ ((__nothrow__));
+__extension__
+static __inline unsigned long long int gnu_dev_makedev (unsigned int __major,
+       unsigned int __minor)
+     __attribute__ ((__nothrow__));
+
+
+__extension__ static __inline unsigned int
+__attribute__ ((__nothrow__)) gnu_dev_major (unsigned long long int __dev)
+{
+  return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
+}
+
+__extension__ static __inline unsigned int
+__attribute__ ((__nothrow__)) gnu_dev_minor (unsigned long long int __dev)
+{
+  return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
+}
+
+__extension__ static __inline unsigned long long int
+__attribute__ ((__nothrow__)) gnu_dev_makedev (unsigned int __major, unsigned int __minor)
+{
+  return ((__minor & 0xff) | ((__major & 0xfff) << 8)
+   | (((unsigned long long int) (__minor & ~0xff)) << 12)
+   | (((unsigned long long int) (__major & ~0xfff)) << 32));
+}
+
+
+
+
+#define major(dev) gnu_dev_major (dev)
+#define minor(dev) gnu_dev_minor (dev)
+#define makedev(maj,min) gnu_dev_makedev (maj, min)
+# 224 "./include/sys/types.h" 2
+
+
+
+
+typedef __blksize_t blksize_t;
+#define __blksize_t_defined 
+
+
+
+
+
+typedef __blkcnt_t blkcnt_t;
+#define __blkcnt_t_defined 
+
+
+typedef __fsblkcnt_t fsblkcnt_t;
+#define __fsblkcnt_t_defined 
+
+
+typedef __fsfilcnt_t fsfilcnt_t;
+#define __fsfilcnt_t_defined 
+# 262 "./include/sys/types.h"
+typedef __blkcnt64_t blkcnt64_t;
+typedef __fsblkcnt64_t fsblkcnt64_t;
+typedef __fsfilcnt64_t fsfilcnt64_t;
+# 273 "./include/sys/types.h"
+
+# 215 "./include/stdlib.h" 2
+
+
+__extension__
+extern quad_t strtoq (__const char *__restrict __nptr,
+        char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+__extension__
+extern u_quad_t strtouq (__const char *__restrict __nptr,
+           char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+__extension__
+extern long long int strtoll (__const char *__restrict __nptr,
+         char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+__extension__
+extern unsigned long long int strtoull (__const char *__restrict __nptr,
+     char **__restrict __endptr, int __base)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+# 307 "./include/stdlib.h"
+extern char *l64a (long int __n) __attribute__ ((__nothrow__)) ;
+
+
+extern long int a64l (__const char *__s)
+     __attribute__ ((__nothrow__)) __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ;
+# 323 "./include/stdlib.h"
+extern long int random (void) __attribute__ ((__nothrow__));
+
+
+
+extern void srandom (unsigned int __seed) __attribute__ ((__nothrow__));
+
+
+
+
+
+extern char *initstate (unsigned int __seed, char *__statebuf,
+   size_t __statelen) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern char *setstate (char *__statebuf) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+
+struct random_data
+  {
+    int32_t *fptr;
+    int32_t *rptr;
+    int32_t *state;
+
+
+
+
+
+
+    int8_t rand_type;
+    int8_t rand_deg;
+    int8_t rand_sep;
+
+    int32_t *end_ptr;
+  };
+
+extern int random_r (struct random_data *__restrict __buf,
+       int32_t *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int srandom_r (unsigned int __seed, struct random_data *__buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
+   size_t __statelen,
+   struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2, 4)));
+
+
+extern int setstate_r (char *__restrict __statebuf,
+         struct random_data *__restrict __buf)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+
+extern int rand (void) __attribute__ ((__nothrow__));
+
+extern void srand (unsigned int __seed) __attribute__ ((__nothrow__));
+
+
+
+
+extern int rand_r (unsigned int *__seed) __attribute__ ((__nothrow__));
+# 404 "./include/stdlib.h"
+extern double drand48 (void) __attribute__ ((__nothrow__));
+extern double erand48 (unsigned short int __xsubi[3]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern long int lrand48 (void) __attribute__ ((__nothrow__));
+extern long int nrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern long int mrand48 (void) __attribute__ ((__nothrow__));
+extern long int jrand48 (unsigned short int __xsubi[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+extern void srand48 (long int __seedval) __attribute__ ((__nothrow__));
+extern unsigned short int *seed48 (unsigned short int __seed16v[3])
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+extern void lcong48 (unsigned short int __param[7]) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+struct drand48_data
+  {
+    unsigned short int __x[3];
+    unsigned short int __old_x[3];
+    unsigned short int __c;
+    unsigned short int __init;
+    unsigned long long int __a;
+  };
+
+
+
+extern int drand48_r (struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int erand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        double *__restrict __result) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+extern int lrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+extern int nrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int mrand48_r (struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+extern int jrand48_r (unsigned short int __xsubi[3],
+        struct drand48_data *__restrict __buffer,
+        long int *__restrict __result)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+extern int seed48_r (unsigned short int __seed16v[3],
+       struct drand48_data *__buffer) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+extern int lcong48_r (unsigned short int __param[7],
+        struct drand48_data *__buffer)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2)));
+
+
+
+
+
+
+#define __malloc_and_calloc_defined 
+
+
+extern void *malloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
+
+
+
+extern void *calloc (size_t __nmemb, size_t __size)
+     __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
+
+
+
+
+
+
+
+
+
+
+extern void *realloc (void *__ptr, size_t __size)
+     __attribute__ ((__nothrow__)) ;
+
+extern void free (void *__ptr) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+
+
+# 1 "./include/alloca.h" 1
+# 20 "./include/alloca.h"
+#define _ALLOCA_H 1
+
+
+
+#define __need_size_t 
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 406 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_NULL
+# 26 "./include/alloca.h" 2
+
+
+
+
+#undef alloca
+
+
+extern void *alloca (size_t __size) __attribute__ ((__nothrow__));
+
+
+#define alloca(size) __builtin_alloca (size)
+
+
+
+#define __MAX_ALLOCA_CUTOFF 65536
+
+# 1 "./include/bits/stackinfo.h" 1
+# 23 "./include/bits/stackinfo.h"
+#define _STACKINFO_H 1
+
+
+#define _STACK_GROWS_DOWN 1
+# 43 "./include/alloca.h" 2
+
+#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; })
+# 71 "./include/alloca.h"
+extern int __libc_alloca_cutoff (size_t size);
+
+
+
+# 518 "./include/stdlib.h" 2
+
+
+
+
+extern void *valloc (size_t __size) __attribute__ ((__nothrow__)) __attribute__ ((__malloc__)) ;
+
+
+
+
+extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+extern void abort (void) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+extern int atexit (void (*__func) (void)) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+
+extern void exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+
+extern void _Exit (int __status) __attribute__ ((__nothrow__)) __attribute__ ((__noreturn__));
+
+
+
+
+
+
+extern char *getenv (__const char *__name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+# 582 "./include/stdlib.h"
+extern int putenv (char *__string) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+
+
+extern int setenv (__const char *__name, __const char *__value, int __replace)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+
+
+extern int unsetenv (__const char *__name) __attribute__ ((__nothrow__));
+
+
+
+
+
+
+#define __UCLIBC_MAX_ATEXIT INT_MAX
+# 610 "./include/stdlib.h"
+extern int clearenv (void) __attribute__ ((__nothrow__));
+# 632 "./include/stdlib.h"
+extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ;
+# 642 "./include/stdlib.h"
+extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ;
+# 652 "./include/stdlib.h"
+extern char *mkdtemp (char *__template) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+
+
+
+
+
+
+
+
+extern int system (__const char *__command) ;
+
+
+
+
+
+
+extern char *canonicalize_file_name (__const char *__name)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1))) ;
+# 678 "./include/stdlib.h"
+extern char *realpath (__const char *__restrict __name,
+         char *__restrict __resolved) __attribute__ ((__nothrow__)) ;
+
+
+
+
+
+
+#define __COMPAR_FN_T 
+typedef int (*__compar_fn_t) (__const void *, __const void *);
+
+
+typedef __compar_fn_t comparison_fn_t;
+
+
+
+typedef int (*__compar_d_fn_t) (__const void *, __const void *, void *);
+
+
+
+
+
+extern void *bsearch (__const void *__key, __const void *__base,
+        size_t __nmemb, size_t __size, __compar_fn_t __compar)
+     __attribute__ ((__nonnull__ (1, 2, 5))) ;
+
+
+
+extern void qsort (void *__base, size_t __nmemb, size_t __size,
+     __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
+
+
+extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
+     __compar_d_fn_t __compar, void *__arg)
+  __attribute__ ((__nonnull__ (1, 4)));
+
+
+
+
+extern int abs (int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+extern long int labs (long int __x) __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+
+
+
+__extension__ extern long long int llabs (long long int __x)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+
+
+
+
+
+
+
+extern div_t div (int __numer, int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+extern ldiv_t ldiv (long int __numer, long int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+
+
+
+
+__extension__ extern lldiv_t lldiv (long long int __numer,
+        long long int __denom)
+     __attribute__ ((__nothrow__)) __attribute__ ((__const__)) ;
+
+# 847 "./include/stdlib.h"
+extern int getsubopt (char **__restrict __optionp,
+        char *__const *__restrict __tokens,
+        char **__restrict __valuep)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1, 2, 3))) ;
+
+
+
+
+
+
+extern void setkey (__const char *__key) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+# 866 "./include/stdlib.h"
+extern int posix_openpt (int __oflag) ;
+
+# 876 "./include/stdlib.h"
+extern int grantpt (int __fd) __attribute__ ((__nothrow__));
+
+
+
+extern int unlockpt (int __fd) __attribute__ ((__nothrow__));
+
+
+
+
+extern char *ptsname (int __fd) __attribute__ ((__nothrow__)) ;
+# 894 "./include/stdlib.h"
+extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+
+# 920 "./include/stdlib.h"
+extern int __drand48_iterate (unsigned short int xsubi[3], struct drand48_data *buffer) __attribute__ ((visibility ("hidden")));
+
+
+extern struct drand48_data __libc_drand48_data __attribute__ ((visibility ("hidden")));
+
+
+
+#undef __need_malloc_and_calloc
+
+
+# 29 "./ldso/include/ldso.h" 2
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 1 3 4
+# 31 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 3 4
+#define _STDARG_H 
+#define _ANSI_STDARG_H_ 
+
+#undef __need___va_list
+
+
+
+
+#define __GNUC_VA_LIST 
+typedef __builtin_va_list __gnuc_va_list;
+
+
+
+
+
+
+#define va_start(v,l) __builtin_va_start(v,l)
+#define va_end(v) __builtin_va_end(v)
+#define va_arg(v,l) __builtin_va_arg(v,l)
+
+#define va_copy(d,s) __builtin_va_copy(d,s)
+
+#define __va_copy(d,s) __builtin_va_copy(d,s)
+# 102 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdarg.h" 3 4
+typedef __gnuc_va_list va_list;
+
+
+
+
+
+#define _VA_LIST_ 
+
+
+#define _VA_LIST 
+
+
+#define _VA_LIST_DEFINED 
+
+
+#define _VA_LIST_T_H 
+
+
+#define __va_list__ 
+# 30 "./ldso/include/ldso.h" 2
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 40 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#define _STDDEF_H 
+#define _STDDEF_H_ 
+
+#define _ANSI_STDDEF_H 
+
+#define __STDDEF_H__ 
+# 138 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#define _PTRDIFF_T 
+#define _T_PTRDIFF_ 
+#define _T_PTRDIFF 
+#define __PTRDIFF_T 
+#define _PTRDIFF_T_ 
+#define _BSD_PTRDIFF_T_ 
+#define ___int_ptrdiff_t_h 
+#define _GCC_PTRDIFF_T 
+
+
+
+typedef long int ptrdiff_t;
+# 160 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_ptrdiff_t
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 262 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#define __wchar_t__ 
+#define __WCHAR_T__ 
+#define _WCHAR_T 
+#define _T_WCHAR_ 
+#define _T_WCHAR 
+#define __WCHAR_T 
+#define _WCHAR_T_ 
+#define _BSD_WCHAR_T_ 
+#define _WCHAR_T_DEFINED_ 
+#define _WCHAR_T_DEFINED 
+#define _WCHAR_T_H 
+#define ___int_wchar_t_h 
+#define __INT_WCHAR_T_H 
+#define _GCC_WCHAR_T 
+#define _WCHAR_T_DECLARED 
+# 289 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef _BSD_WCHAR_T_
+# 323 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+typedef int wchar_t;
+# 342 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_wchar_t
+# 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef NULL
+
+
+
+
+#define NULL ((void *)0)
+
+
+
+
+
+#undef __need_NULL
+
+
+
+
+#define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
+# 31 "./ldso/include/ldso.h" 2
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 1 3 4
+# 29 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 3 4
+#define _STDBOOL_H 
+
+
+
+#define bool _Bool
+#define true 1
+#define false 0
+# 48 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stdbool.h" 3 4
+#define __bool_true_false_are_defined 1
+# 32 "./ldso/include/ldso.h" 2
+#define _FCNTL_H 
+# 1 "./include/bits/fcntl.h" 1
+# 27 "./include/bits/fcntl.h"
+# 1 "./include/bits/uio.h" 1
+# 24 "./include/bits/uio.h"
+#define _BITS_UIO_H 1
+# 40 "./include/bits/uio.h"
+#define UIO_MAXIOV 1024
+#define UIO_FASTIOV 8
+
+
+
+struct iovec
+  {
+    void *iov_base;
+    size_t iov_len;
+  };
+# 28 "./include/bits/fcntl.h" 2
+
+
+
+
+#define O_ACCMODE 0003
+#define O_RDONLY 00
+#define O_WRONLY 01
+#define O_RDWR 02
+#define O_CREAT 0100
+#define O_EXCL 0200
+#define O_NOCTTY 0400
+#define O_TRUNC 01000
+#define O_APPEND 02000
+#define O_NONBLOCK 04000
+#define O_NDELAY O_NONBLOCK
+#define O_SYNC 010000
+#define O_FSYNC O_SYNC
+#define O_ASYNC 020000
+
+
+#define O_DIRECTORY 040000
+#define O_NOFOLLOW 0100000
+#define O_DIRECT 0200000
+#define O_NOATIME 01000000
+#define O_CLOEXEC 02000000
+
+
+
+
+
+
+#define O_DSYNC O_SYNC
+#define O_RSYNC O_SYNC
+
+
+
+#define O_LARGEFILE 0400000
+
+
+
+#define F_DUPFD 0
+#define F_GETFD 1
+#define F_SETFD 2
+#define F_GETFL 3
+#define F_SETFL 4
+
+#define F_GETLK 5
+#define F_SETLK 6
+#define F_SETLKW 7
+
+
+
+
+
+#define F_GETLK64 12
+#define F_SETLK64 13
+#define F_SETLKW64 14
+
+
+#define F_SETOWN 8
+#define F_GETOWN 9
+
+
+
+#define F_SETSIG 10
+#define F_GETSIG 11
+
+
+
+#define F_SETLEASE 1024
+#define F_GETLEASE 1025
+#define F_NOTIFY 1026
+#define F_DUPFD_CLOEXEC 1030
+
+
+
+
+#define FD_CLOEXEC 1
+
+
+#define F_RDLCK 0
+#define F_WRLCK 1
+#define F_UNLCK 2
+
+
+#define F_EXLCK 4
+#define F_SHLCK 8
+
+
+
+#define LOCK_SH 1
+#define LOCK_EX 2
+#define LOCK_NB 4
+
+#define LOCK_UN 8
+
+
+
+#define LOCK_MAND 32
+#define LOCK_READ 64
+#define LOCK_WRITE 128
+#define LOCK_RW 192
+
+
+
+
+#define DN_ACCESS 0x00000001
+#define DN_MODIFY 0x00000002
+#define DN_CREATE 0x00000004
+#define DN_DELETE 0x00000008
+#define DN_RENAME 0x00000010
+#define DN_ATTRIB 0x00000020
+#define DN_MULTISHOT 0x80000000
+
+
+struct flock
+  {
+    short int l_type;
+    short int l_whence;
+
+    __off_t l_start;
+    __off_t l_len;
+
+
+
+
+    __pid_t l_pid;
+  };
+
+
+struct flock64
+  {
+    short int l_type;
+    short int l_whence;
+    __off64_t l_start;
+    __off64_t l_len;
+    __pid_t l_pid;
+  };
+
+
+
+
+
+#define FAPPEND O_APPEND
+#define FFSYNC O_FSYNC
+#define FASYNC O_ASYNC
+#define FNONBLOCK O_NONBLOCK
+#define FNDELAY O_NDELAY
+
+
+
+
+#define POSIX_FADV_NORMAL 0
+#define POSIX_FADV_RANDOM 1
+#define POSIX_FADV_SEQUENTIAL 2
+#define POSIX_FADV_WILLNEED 3
+#define POSIX_FADV_DONTNEED 4
+#define POSIX_FADV_NOREUSE 5
+
+
+
+
+
+#define SYNC_FILE_RANGE_WAIT_BEFORE 1
+
+
+#define SYNC_FILE_RANGE_WRITE 2
+
+
+#define SYNC_FILE_RANGE_WAIT_AFTER 4
+
+
+
+
+#define SPLICE_F_MOVE 1
+#define SPLICE_F_NONBLOCK 2
+
+
+#define SPLICE_F_MORE 4
+#define SPLICE_F_GIFT 8
+
+
+
+
+
+
+
+extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+    __attribute__ ((__nothrow__));
+
+
+
+extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
+       unsigned int __flags);
+
+
+extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
+    size_t __count, unsigned int __flags);
+
+
+extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
+         __off64_t *__offout, size_t __len,
+         unsigned int __flags);
+
+
+extern ssize_t tee (int __fdin, int __fdout, size_t __len,
+      unsigned int __flags);
+
+
+
+# 34 "./ldso/include/ldso.h" 2
+# 1 "./include/bits/wordsize.h" 1
+# 19 "./include/bits/wordsize.h"
+#define __WORDSIZE 32
+# 35 "./ldso/include/ldso.h" 2
+
+
+
+# 1 "./include/bits/uClibc_page.h" 1
+# 22 "./include/bits/uClibc_page.h"
+#define _UCLIBC_PAGE_H 
+
+
+#define PAGE_SHIFT 12
+#define PAGE_SIZE (1UL << PAGE_SHIFT)
+#define PAGE_MASK (~(PAGE_SIZE-1))
+# 39 "./ldso/include/ldso.h" 2
+
+# 1 "./include/sys/param.h" 1
+# 20 "./include/sys/param.h"
+#define _SYS_PARAM_H 1
+
+
+#define __undef_ARG_MAX 
+
+
+# 1 "./include/limits.h" 1
+# 25 "./include/limits.h"
+#define _LIBC_LIMITS_H_ 1
+
+
+
+
+
+
+
+#define MB_LEN_MAX 16
+# 125 "./include/limits.h"
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 1
+# 124 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h"
+# 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
+# 30 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
+#define _GCC_LIMITS_H_ 
+# 61 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
+#define _LIMITS_H___ 
+
+
+#undef CHAR_BIT
+#define CHAR_BIT __CHAR_BIT__
+
+
+
+
+
+
+
+#undef SCHAR_MIN
+#define SCHAR_MIN (-SCHAR_MAX - 1)
+#undef SCHAR_MAX
+#define SCHAR_MAX __SCHAR_MAX__
+
+
+#undef UCHAR_MAX
+
+
+
+#define UCHAR_MAX (SCHAR_MAX * 2 + 1)
+# 97 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
+#undef CHAR_MIN
+#define CHAR_MIN SCHAR_MIN
+#undef CHAR_MAX
+#define CHAR_MAX SCHAR_MAX
+
+
+
+#undef SHRT_MIN
+#define SHRT_MIN (-SHRT_MAX - 1)
+#undef SHRT_MAX
+#define SHRT_MAX __SHRT_MAX__
+
+
+#undef USHRT_MAX
+
+
+
+#define USHRT_MAX (SHRT_MAX * 2 + 1)
+
+
+
+#undef INT_MIN
+#define INT_MIN (-INT_MAX - 1)
+#undef INT_MAX
+#define INT_MAX __INT_MAX__
+
+
+#undef UINT_MAX
+#define UINT_MAX (INT_MAX * 2U + 1U)
+
+
+
+#undef LONG_MIN
+#define LONG_MIN (-LONG_MAX - 1L)
+#undef LONG_MAX
+#define LONG_MAX __LONG_MAX__
+
+
+#undef ULONG_MAX
+#define ULONG_MAX (LONG_MAX * 2UL + 1UL)
+# 152 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include-fixed/limits.h" 3 4
+#undef LONG_LONG_MIN
+#define LONG_LONG_MIN (-LONG_LONG_MAX - 1LL)
+#undef LONG_LONG_MAX
+#define LONG_LONG_MAX __LONG_LONG_MAX__
+
+
+#undef ULONG_LONG_MAX
+#define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1ULL)
+# 125 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
+
+
+
+
+
+
+#define LLONG_MIN LONG_LONG_MIN
+
+
+#define LLONG_MAX LONG_LONG_MAX
+
+
+#define ULLONG_MAX ULONG_LONG_MAX
+
+
+
+
+
+
+# 1 "./include/bits/posix1_lim.h" 1
+# 26 "./include/bits/posix1_lim.h"
+#define _BITS_POSIX1_LIM_H 1
+
+
+
+
+
+#define _POSIX_AIO_LISTIO_MAX 2
+
+
+#define _POSIX_AIO_MAX 1
+
+
+#define _POSIX_ARG_MAX 4096
+
+
+
+#define _POSIX_CHILD_MAX 25
+
+
+
+
+
+#define _POSIX_DELAYTIMER_MAX 32
+
+
+
+#define _POSIX_HOST_NAME_MAX 255
+
+
+#define _POSIX_LINK_MAX 8
+
+
+#define _POSIX_LOGIN_NAME_MAX 9
+
+
+#define _POSIX_MAX_CANON 255
+
+
+
+#define _POSIX_MAX_INPUT 255
+
+
+#define _POSIX_MQ_OPEN_MAX 8
+
+
+#define _POSIX_MQ_PRIO_MAX 32
+
+
+#define _POSIX_NAME_MAX 14
+
+
+
+#define _POSIX_NGROUPS_MAX 8
+
+
+
+
+
+
+#define _POSIX_OPEN_MAX 20
+
+
+
+
+
+
+#define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
+
+
+#define _POSIX_PATH_MAX 256
+
+
+#define _POSIX_PIPE_BUF 512
+
+
+
+#define _POSIX_RE_DUP_MAX 255
+
+
+#define _POSIX_RTSIG_MAX 8
+
+
+#define _POSIX_SEM_NSEMS_MAX 256
+
+
+#define _POSIX_SEM_VALUE_MAX 32767
+
+
+#define _POSIX_SIGQUEUE_MAX 32
+
+
+#define _POSIX_SSIZE_MAX 32767
+
+
+#define _POSIX_STREAM_MAX 8
+
+
+#define _POSIX_SYMLINK_MAX 255
+
+
+
+#define _POSIX_SYMLOOP_MAX 8
+
+
+#define _POSIX_TIMER_MAX 32
+
+
+#define _POSIX_TTY_NAME_MAX 9
+
+
+#define _POSIX_TZNAME_MAX 6
+
+
+#define _POSIX_QLIMIT 1
+
+
+
+#define _POSIX_HIWAT _POSIX_PIPE_BUF
+
+
+#define _POSIX_UIO_MAXIOV 16
+
+
+#define _POSIX_CLOCKRES_MIN 20000000
+
+
+
+# 1 "./include/bits/local_lim.h" 1
+# 26 "./include/bits/local_lim.h"
+#define __undef_NR_OPEN 
+
+
+#define __undef_LINK_MAX 
+
+
+#define __undef_OPEN_MAX 
+
+
+#define __undef_ARG_MAX 
+
+
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/limits.h" 1
+
+#define _LINUX_LIMITS_H 
+
+#define NR_OPEN 1024
+
+#define NGROUPS_MAX 65536
+#define ARG_MAX 131072
+#define LINK_MAX 127
+#define MAX_CANON 255
+#define MAX_INPUT 255
+#define NAME_MAX 255
+#define PATH_MAX 4096
+#define PIPE_BUF 4096
+#define XATTR_NAME_MAX 255
+#define XATTR_SIZE_MAX 65536
+#define XATTR_LIST_MAX 65536
+
+#define RTSIG_MAX 32
+# 40 "./include/bits/local_lim.h" 2
+
+
+
+#undef NR_OPEN
+#undef __undef_NR_OPEN
+
+
+
+#undef LINK_MAX
+#undef __undef_LINK_MAX
+
+
+
+#undef OPEN_MAX
+#undef __undef_OPEN_MAX
+
+
+
+#undef ARG_MAX
+#undef __undef_ARG_MAX
+
+
+
+#define _POSIX_THREAD_KEYS_MAX 128
+
+#define PTHREAD_KEYS_MAX 1024
+
+
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
+
+#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+
+#define _POSIX_THREAD_THREADS_MAX 64
+
+
+
+#define AIO_PRIO_DELTA_MAX 20
+
+
+#define PTHREAD_STACK_MIN 16384
+
+
+#define DELAYTIMER_MAX 2147483647
+
+
+#define TTY_NAME_MAX 32
+
+
+#define LOGIN_NAME_MAX 256
+
+
+#define HOST_NAME_MAX 64
+
+
+#define MQ_PRIO_MAX 32768
+# 154 "./include/bits/posix1_lim.h" 2
+# 1 "./include/bits/uClibc_local_lim.h" 1
+# 11 "./include/bits/uClibc_local_lim.h"
+#define _BITS_UCLIBC_LOCAL_LIM_H 1
+# 25 "./include/bits/uClibc_local_lim.h"
+#undef _POSIX_THREAD_KEYS_MAX
+#undef PTHREAD_KEYS_MAX
+#undef _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+#undef PTHREAD_DESTRUCTOR_ITERATIONS
+#undef PTHREAD_STACK_MIN
+#undef DELAYTIMER_MAX
+# 155 "./include/bits/posix1_lim.h" 2
+
+
+
+#define SSIZE_MAX LONG_MAX
+# 145 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
+
+
+
+# 1 "./include/bits/posix2_lim.h" 1
+# 24 "./include/bits/posix2_lim.h"
+#define _BITS_POSIX2_LIM_H 1
+
+
+
+#define _POSIX2_BC_BASE_MAX 99
+
+
+#define _POSIX2_BC_DIM_MAX 2048
+
+
+#define _POSIX2_BC_SCALE_MAX 99
+
+
+#define _POSIX2_BC_STRING_MAX 1000
+
+
+
+#define _POSIX2_COLL_WEIGHTS_MAX 2
+
+
+
+#define _POSIX2_EXPR_NEST_MAX 32
+
+
+#define _POSIX2_LINE_MAX 2048
+
+
+
+#define _POSIX2_RE_DUP_MAX 255
+
+
+
+#define _POSIX2_CHARCLASS_NAME_MAX 14
+
+
+
+
+
+
+
+#define BC_BASE_MAX _POSIX2_BC_BASE_MAX
+
+
+#define BC_DIM_MAX _POSIX2_BC_DIM_MAX
+
+
+#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
+
+
+#define BC_STRING_MAX _POSIX2_BC_STRING_MAX
+
+
+#define COLL_WEIGHTS_MAX 255
+
+
+#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
+
+
+#define LINE_MAX _POSIX2_LINE_MAX
+
+
+#define CHARCLASS_NAME_MAX 2048
+
+
+
+#define RE_DUP_MAX (0x7fff)
+# 149 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
+
+
+
+# 1 "./include/bits/xopen_lim.h" 1
+# 31 "./include/bits/xopen_lim.h"
+#define _XOPEN_LIM_H 1
+
+#define __need_IOV_MAX 
+# 1 "./include/bits/stdio_lim.h" 1
+# 42 "./include/bits/stdio_lim.h"
+#define IOV_MAX 1024
+# 35 "./include/bits/xopen_lim.h" 2
+# 66 "./include/bits/xopen_lim.h"
+#define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV
+# 76 "./include/bits/xopen_lim.h"
+#define NL_ARGMAX __UCLIBC_PRINTF_SCANF_POSITIONAL_ARGS__
+
+
+
+#define NL_LANGMAX _POSIX2_LINE_MAX
+
+
+#define NL_MSGMAX INT_MAX
+
+
+
+#define NL_NMAX INT_MAX
+
+
+#define NL_SETMAX INT_MAX
+
+
+#define NL_TEXTMAX INT_MAX
+
+
+#define NZERO 20
+# 105 "./include/bits/xopen_lim.h"
+#define WORD_BIT 32
+# 129 "./include/bits/xopen_lim.h"
+#define LONG_BIT 32
+# 153 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/limits.h" 2
+# 126 "./include/limits.h" 2
+# 27 "./include/sys/param.h" 2
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/param.h" 1
+
+#define _LINUX_PARAM_H 
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/param.h" 1
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/param.h" 1
+
+#define __ASM_GENERIC_PARAM_H 
+
+
+
+#define HZ 100
+
+
+
+#define EXEC_PAGESIZE 4096
+
+
+
+#define NOGROUP (-1)
+
+
+#define MAXHOSTNAMELEN 64
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/param.h" 2
+# 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/param.h" 2
+# 29 "./include/sys/param.h" 2
+
+
+
+#undef ARG_MAX
+#undef __undef_ARG_MAX
+
+
+
+
+#define NBBY CHAR_BIT
+
+#define NGROUPS NGROUPS_MAX
+
+#define MAXSYMLINKS 20
+#define CANBSIZ MAX_CANON
+#define MAXPATHLEN PATH_MAX
+
+
+
+#define NOFILE 256
+#define NCARGS 131072
+
+
+
+
+
+#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
+#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
+#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
+#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
+
+
+
+#define howmany(x,y) (((x) + ((y) - 1)) / (y))
+
+
+#define roundup(x,y) (__builtin_constant_p (y) && powerof2 (y) ? (((x) + (y) - 1) & ~((y) - 1)) : ((((x) + ((y) - 1)) / (y)) * (y)))
+
+
+
+
+
+#define powerof2(x) ((((x) - 1) & (x)) == 0)
+
+
+#define MIN(a,b) (((a)<(b))?(a):(b))
+#define MAX(a,b) (((a)>(b))?(a):(b))
+
+
+
+#define DEV_BSIZE 512
+# 41 "./ldso/include/ldso.h" 2
+
+
+# 1 "./ldso/include/dl-syscall.h" 1
+# 9 "./ldso/include/dl-syscall.h"
+#define _LD_SYSCALL_H_ 
+
+
+
+# 1 "./include/sys/syscall.h" 1
+# 20 "./include/sys/syscall.h"
+#define _SYSCALL_H 1
+
+
+
+
+# 1 "./include/bits/sysnum.h" 1
+
+
+
+#define _BITS_SYSNUM_H 
+
+
+
+
+
+#undef __NR_restart_syscall
+#define __NR_restart_syscall 0
+#define SYS_restart_syscall __NR_restart_syscall
+#undef __NR_exit
+#define __NR_exit 1
+#define SYS_exit __NR_exit
+#undef __NR_fork
+#define __NR_fork 2
+#define SYS_fork __NR_fork
+#undef __NR_read
+#define __NR_read 3
+#define SYS_read __NR_read
+#undef __NR_write
+#define __NR_write 4
+#define SYS_write __NR_write
+#undef __NR_open
+#define __NR_open 5
+#define SYS_open __NR_open
+#undef __NR_close
+#define __NR_close 6
+#define SYS_close __NR_close
+#undef __NR_creat
+#define __NR_creat 8
+#define SYS_creat __NR_creat
+#undef __NR_link
+#define __NR_link 9
+#define SYS_link __NR_link
+#undef __NR_unlink
+#define __NR_unlink 10
+#define SYS_unlink __NR_unlink
+#undef __NR_execve
+#define __NR_execve 11
+#define SYS_execve __NR_execve
+#undef __NR_chdir
+#define __NR_chdir 12
+#define SYS_chdir __NR_chdir
+#undef __NR_time
+#define __NR_time 13
+#define SYS_time __NR_time
+#undef __NR_mknod
+#define __NR_mknod 14
+#define SYS_mknod __NR_mknod
+#undef __NR_chmod
+#define __NR_chmod 15
+#define SYS_chmod __NR_chmod
+#undef __NR_chown
+#define __NR_chown 16
+#define SYS_chown __NR_chown
+#undef __NR_lseek
+#define __NR_lseek 19
+#define SYS_lseek __NR_lseek
+#undef __NR_getpid
+#define __NR_getpid 20
+#define SYS_getpid __NR_getpid
+#undef __NR_mount
+#define __NR_mount 21
+#define SYS_mount __NR_mount
+#undef __NR_setuid
+#define __NR_setuid 23
+#define SYS_setuid __NR_setuid
+#undef __NR_getuid
+#define __NR_getuid 24
+#define SYS_getuid __NR_getuid
+#undef __NR_stime
+#define __NR_stime 25
+#define SYS_stime __NR_stime
+#undef __NR_ptrace
+#define __NR_ptrace 26
+#define SYS_ptrace __NR_ptrace
+#undef __NR_alarm
+#define __NR_alarm 27
+#define SYS_alarm __NR_alarm
+#undef __NR_pause
+#define __NR_pause 29
+#define SYS_pause __NR_pause
+#undef __NR_access
+#define __NR_access 33
+#define SYS_access __NR_access
+#undef __NR_nice
+#define __NR_nice 34
+#define SYS_nice __NR_nice
+#undef __NR_sync
+#define __NR_sync 36
+#define SYS_sync __NR_sync
+#undef __NR_kill
+#define __NR_kill 37
+#define SYS_kill __NR_kill
+#undef __NR_rename
+#define __NR_rename 38
+#define SYS_rename __NR_rename
+#undef __NR_mkdir
+#define __NR_mkdir 39
+#define SYS_mkdir __NR_mkdir
+#undef __NR_rmdir
+#define __NR_rmdir 40
+#define SYS_rmdir __NR_rmdir
+#undef __NR_dup
+#define __NR_dup 41
+#define SYS_dup __NR_dup
+#undef __NR_pipe
+#define __NR_pipe 42
+#define SYS_pipe __NR_pipe
+#undef __NR_times
+#define __NR_times 43
+#define SYS_times __NR_times
+#undef __NR_brk
+#define __NR_brk 45
+#define SYS_brk __NR_brk
+#undef __NR_setgid
+#define __NR_setgid 46
+#define SYS_setgid __NR_setgid
+#undef __NR_getgid
+#define __NR_getgid 47
+#define SYS_getgid __NR_getgid
+#undef __NR_geteuid
+#define __NR_geteuid 49
+#define SYS_geteuid __NR_geteuid
+#undef __NR_getegid
+#define __NR_getegid 50
+#define SYS_getegid __NR_getegid
+#undef __NR_acct
+#define __NR_acct 51
+#define SYS_acct __NR_acct
+#undef __NR_umount2
+#define __NR_umount2 52
+#define SYS_umount2 __NR_umount2
+#undef __NR_ioctl
+#define __NR_ioctl 54
+#define SYS_ioctl __NR_ioctl
+#undef __NR_fcntl
+#define __NR_fcntl 55
+#define SYS_fcntl __NR_fcntl
+#undef __NR_setpgid
+#define __NR_setpgid 57
+#define SYS_setpgid __NR_setpgid
+#undef __NR_umask
+#define __NR_umask 60
+#define SYS_umask __NR_umask
+#undef __NR_chroot
+#define __NR_chroot 61
+#define SYS_chroot __NR_chroot
+#undef __NR_ustat
+#define __NR_ustat 62
+#define SYS_ustat __NR_ustat
+#undef __NR_dup2
+#define __NR_dup2 63
+#define SYS_dup2 __NR_dup2
+#undef __NR_getppid
+#define __NR_getppid 64
+#define SYS_getppid __NR_getppid
+#undef __NR_getpgrp
+#define __NR_getpgrp 65
+#define SYS_getpgrp __NR_getpgrp
+#undef __NR_setsid
+#define __NR_setsid 66
+#define SYS_setsid __NR_setsid
+#undef __NR_sgetmask
+#define __NR_sgetmask 68
+#define SYS_sgetmask __NR_sgetmask
+#undef __NR_ssetmask
+#define __NR_ssetmask 69
+#define SYS_ssetmask __NR_ssetmask
+#undef __NR_setreuid
+#define __NR_setreuid 70
+#define SYS_setreuid __NR_setreuid
+#undef __NR_setregid
+#define __NR_setregid 71
+#define SYS_setregid __NR_setregid
+#undef __NR_sethostname
+#define __NR_sethostname 74
+#define SYS_sethostname __NR_sethostname
+#undef __NR_setrlimit
+#define __NR_setrlimit 75
+#define SYS_setrlimit __NR_setrlimit
+#undef __NR_getrusage
+#define __NR_getrusage 77
+#define SYS_getrusage __NR_getrusage
+#undef __NR_gettimeofday
+#define __NR_gettimeofday 78
+#define SYS_gettimeofday __NR_gettimeofday
+#undef __NR_settimeofday
+#define __NR_settimeofday 79
+#define SYS_settimeofday __NR_settimeofday
+#undef __NR_getgroups
+#define __NR_getgroups 80
+#define SYS_getgroups __NR_getgroups
+#undef __NR_setgroups
+#define __NR_setgroups 81
+#define SYS_setgroups __NR_setgroups
+#undef __NR_symlink
+#define __NR_symlink 83
+#define SYS_symlink __NR_symlink
+#undef __NR_readlink
+#define __NR_readlink 85
+#define SYS_readlink __NR_readlink
+#undef __NR_reboot
+#define __NR_reboot 88
+#define SYS_reboot __NR_reboot
+#undef __NR_munmap
+#define __NR_munmap 91
+#define SYS_munmap __NR_munmap
+#undef __NR_truncate
+#define __NR_truncate 92
+#define SYS_truncate __NR_truncate
+#undef __NR_ftruncate
+#define __NR_ftruncate 93
+#define SYS_ftruncate __NR_ftruncate
+#undef __NR_fchmod
+#define __NR_fchmod 94
+#define SYS_fchmod __NR_fchmod
+#undef __NR_fchown
+#define __NR_fchown 95
+#define SYS_fchown __NR_fchown
+#undef __NR_getpriority
+#define __NR_getpriority 96
+#define SYS_getpriority __NR_getpriority
+#undef __NR_setpriority
+#define __NR_setpriority 97
+#define SYS_setpriority __NR_setpriority
+#undef __NR_statfs
+#define __NR_statfs 99
+#define SYS_statfs __NR_statfs
+#undef __NR_fstatfs
+#define __NR_fstatfs 100
+#define SYS_fstatfs __NR_fstatfs
+#undef __NR_syslog
+#define __NR_syslog 103
+#define SYS_syslog __NR_syslog
+#undef __NR_setitimer
+#define __NR_setitimer 104
+#define SYS_setitimer __NR_setitimer
+#undef __NR_getitimer
+#define __NR_getitimer 105
+#define SYS_getitimer __NR_getitimer
+#undef __NR_stat
+#define __NR_stat 106
+#define SYS_stat __NR_stat
+#undef __NR_lstat
+#define __NR_lstat 107
+#define SYS_lstat __NR_lstat
+#undef __NR_fstat
+#define __NR_fstat 108
+#define SYS_fstat __NR_fstat
+#undef __NR_vhangup
+#define __NR_vhangup 111
+#define SYS_vhangup __NR_vhangup
+#undef __NR_wait4
+#define __NR_wait4 114
+#define SYS_wait4 __NR_wait4
+#undef __NR_sysinfo
+#define __NR_sysinfo 116
+#define SYS_sysinfo __NR_sysinfo
+#undef __NR_fsync
+#define __NR_fsync 118
+#define SYS_fsync __NR_fsync
+#undef __NR_clone
+#define __NR_clone 120
+#define SYS_clone __NR_clone
+#undef __NR_setdomainname
+#define __NR_setdomainname 121
+#define SYS_setdomainname __NR_setdomainname
+#undef __NR_uname
+#define __NR_uname 122
+#define SYS_uname __NR_uname
+#undef __NR_adjtimex
+#define __NR_adjtimex 124
+#define SYS_adjtimex __NR_adjtimex
+#undef __NR_mprotect
+#define __NR_mprotect 125
+#define SYS_mprotect __NR_mprotect
+#undef __NR_init_module
+#define __NR_init_module 128
+#define SYS_init_module __NR_init_module
+#undef __NR_delete_module
+#define __NR_delete_module 129
+#define SYS_delete_module __NR_delete_module
+#undef __NR_quotactl
+#define __NR_quotactl 131
+#define SYS_quotactl __NR_quotactl
+#undef __NR_getpgid
+#define __NR_getpgid 132
+#define SYS_getpgid __NR_getpgid
+#undef __NR_fchdir
+#define __NR_fchdir 133
+#define SYS_fchdir __NR_fchdir
+#undef __NR_bdflush
+#define __NR_bdflush 134
+#define SYS_bdflush __NR_bdflush
+#undef __NR_personality
+#define __NR_personality 136
+#define SYS_personality __NR_personality
+#undef __NR_setfsuid
+#define __NR_setfsuid 138
+#define SYS_setfsuid __NR_setfsuid
+#undef __NR_setfsgid
+#define __NR_setfsgid 139
+#define SYS_setfsgid __NR_setfsgid
+#undef __NR__llseek
+#define __NR__llseek 140
+#define SYS__llseek __NR__llseek
+#undef __NR_getdents
+#define __NR_getdents 141
+#define SYS_getdents __NR_getdents
+#undef __NR_flock
+#define __NR_flock 143
+#define SYS_flock __NR_flock
+#undef __NR_readv
+#define __NR_readv 145
+#define SYS_readv __NR_readv
+#undef __NR_writev
+#define __NR_writev 146
+#define SYS_writev __NR_writev
+#undef __NR_getsid
+#define __NR_getsid 147
+#define SYS_getsid __NR_getsid
+#undef __NR_fdatasync
+#define __NR_fdatasync 148
+#define SYS_fdatasync __NR_fdatasync
+#undef __NR__sysctl
+#define __NR__sysctl 149
+#define SYS__sysctl __NR__sysctl
+#undef __NR_sched_setparam
+#define __NR_sched_setparam 154
+#define SYS_sched_setparam __NR_sched_setparam
+#undef __NR_sched_getparam
+#define __NR_sched_getparam 155
+#define SYS_sched_getparam __NR_sched_getparam
+#undef __NR_sched_setscheduler
+#define __NR_sched_setscheduler 156
+#define SYS_sched_setscheduler __NR_sched_setscheduler
+#undef __NR_sched_getscheduler
+#define __NR_sched_getscheduler 157
+#define SYS_sched_getscheduler __NR_sched_getscheduler
+#undef __NR_sched_yield
+#define __NR_sched_yield 158
+#define SYS_sched_yield __NR_sched_yield
+#undef __NR_sched_get_priority_max
+#define __NR_sched_get_priority_max 159
+#define SYS_sched_get_priority_max __NR_sched_get_priority_max
+#undef __NR_sched_get_priority_min
+#define __NR_sched_get_priority_min 160
+#define SYS_sched_get_priority_min __NR_sched_get_priority_min
+#undef __NR_sched_rr_get_interval
+#define __NR_sched_rr_get_interval 161
+#define SYS_sched_rr_get_interval __NR_sched_rr_get_interval
+#undef __NR_nanosleep
+#define __NR_nanosleep 162
+#define SYS_nanosleep __NR_nanosleep
+#undef __NR_mremap
+#define __NR_mremap 163
+#define SYS_mremap __NR_mremap
+#undef __NR_setresuid
+#define __NR_setresuid 164
+#define SYS_setresuid __NR_setresuid
+#undef __NR_getresuid
+#define __NR_getresuid 165
+#define SYS_getresuid __NR_getresuid
+#undef __NR_nfsservctl
+#define __NR_nfsservctl 169
+#define SYS_nfsservctl __NR_nfsservctl
+#undef __NR_setresgid
+#define __NR_setresgid 170
+#define SYS_setresgid __NR_setresgid
+#undef __NR_getresgid
+#define __NR_getresgid 171
+#define SYS_getresgid __NR_getresgid
+#undef __NR_prctl
+#define __NR_prctl 172
+#define SYS_prctl __NR_prctl
+#undef __NR_rt_sigreturn
+#define __NR_rt_sigreturn 173
+#define SYS_rt_sigreturn __NR_rt_sigreturn
+#undef __NR_rt_sigaction
+#define __NR_rt_sigaction 174
+#define SYS_rt_sigaction __NR_rt_sigaction
+#undef __NR_rt_sigprocmask
+#define __NR_rt_sigprocmask 175
+#define SYS_rt_sigprocmask __NR_rt_sigprocmask
+#undef __NR_rt_sigpending
+#define __NR_rt_sigpending 176
+#define SYS_rt_sigpending __NR_rt_sigpending
+#undef __NR_rt_sigtimedwait
+#define __NR_rt_sigtimedwait 177
+#define SYS_rt_sigtimedwait __NR_rt_sigtimedwait
+#undef __NR_rt_sigqueueinfo
+#define __NR_rt_sigqueueinfo 178
+#define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
+#undef __NR_rt_sigsuspend
+#define __NR_rt_sigsuspend 179
+#define SYS_rt_sigsuspend __NR_rt_sigsuspend
+#undef __NR_pread
+#define __NR_pread 180
+#define SYS_pread __NR_pread
+#undef __NR_pwrite
+#define __NR_pwrite 181
+#define SYS_pwrite __NR_pwrite
+#undef __NR_lchown
+#define __NR_lchown 182
+#define SYS_lchown __NR_lchown
+#undef __NR_getcwd
+#define __NR_getcwd 183
+#define SYS_getcwd __NR_getcwd
+#undef __NR_capget
+#define __NR_capget 184
+#define SYS_capget __NR_capget
+#undef __NR_capset
+#define __NR_capset 185
+#define SYS_capset __NR_capset
+#undef __NR_sigaltstack
+#define __NR_sigaltstack 186
+#define SYS_sigaltstack __NR_sigaltstack
+#undef __NR_sendfile
+#define __NR_sendfile 187
+#define SYS_sendfile __NR_sendfile
+#undef __NR_vfork
+#define __NR_vfork 190
+#define SYS_vfork __NR_vfork
+#undef __NR_getrlimit
+#define __NR_getrlimit 191
+#define SYS_getrlimit __NR_getrlimit
+#undef __NR_mmap2
+#define __NR_mmap2 192
+#define SYS_mmap2 __NR_mmap2
+#undef __NR_truncate64
+#define __NR_truncate64 193
+#define SYS_truncate64 __NR_truncate64
+#undef __NR_ftruncate64
+#define __NR_ftruncate64 194
+#define SYS_ftruncate64 __NR_ftruncate64
+#undef __NR_stat64
+#define __NR_stat64 195
+#define SYS_stat64 __NR_stat64
+#undef __NR_lstat64
+#define __NR_lstat64 196
+#define SYS_lstat64 __NR_lstat64
+#undef __NR_fstat64
+#define __NR_fstat64 197
+#define SYS_fstat64 __NR_fstat64
+#undef __NR_chown32
+#define __NR_chown32 198
+#define SYS_chown32 __NR_chown32
+#undef __NR_getuid32
+#define __NR_getuid32 199
+#define SYS_getuid32 __NR_getuid32
+#undef __NR_getgid32
+#define __NR_getgid32 200
+#define SYS_getgid32 __NR_getgid32
+#undef __NR_geteuid32
+#define __NR_geteuid32 201
+#define SYS_geteuid32 __NR_geteuid32
+#undef __NR_getegid32
+#define __NR_getegid32 202
+#define SYS_getegid32 __NR_getegid32
+#undef __NR_setreuid32
+#define __NR_setreuid32 203
+#define SYS_setreuid32 __NR_setreuid32
+#undef __NR_setregid32
+#define __NR_setregid32 204
+#define SYS_setregid32 __NR_setregid32
+#undef __NR_getgroups32
+#define __NR_getgroups32 205
+#define SYS_getgroups32 __NR_getgroups32
+#undef __NR_setgroups32
+#define __NR_setgroups32 206
+#define SYS_setgroups32 __NR_setgroups32
+#undef __NR_fchown32
+#define __NR_fchown32 207
+#define SYS_fchown32 __NR_fchown32
+#undef __NR_setresuid32
+#define __NR_setresuid32 208
+#define SYS_setresuid32 __NR_setresuid32
+#undef __NR_getresuid32
+#define __NR_getresuid32 209
+#define SYS_getresuid32 __NR_getresuid32
+#undef __NR_setresgid32
+#define __NR_setresgid32 210
+#define SYS_setresgid32 __NR_setresgid32
+#undef __NR_getresgid32
+#define __NR_getresgid32 211
+#define SYS_getresgid32 __NR_getresgid32
+#undef __NR_lchown32
+#define __NR_lchown32 212
+#define SYS_lchown32 __NR_lchown32
+#undef __NR_setuid32
+#define __NR_setuid32 213
+#define SYS_setuid32 __NR_setuid32
+#undef __NR_setgid32
+#define __NR_setgid32 214
+#define SYS_setgid32 __NR_setgid32
+#undef __NR_setfsuid32
+#define __NR_setfsuid32 215
+#define SYS_setfsuid32 __NR_setfsuid32
+#undef __NR_setfsgid32
+#define __NR_setfsgid32 216
+#define SYS_setfsgid32 __NR_setfsgid32
+#undef __NR_pivot_root
+#define __NR_pivot_root 217
+#define SYS_pivot_root __NR_pivot_root
+#undef __NR_getdents64
+#define __NR_getdents64 220
+#define SYS_getdents64 __NR_getdents64
+#undef __NR_fcntl64
+#define __NR_fcntl64 221
+#define SYS_fcntl64 __NR_fcntl64
+#undef __NR_gettid
+#define __NR_gettid 224
+#define SYS_gettid __NR_gettid
+#undef __NR_readahead
+#define __NR_readahead 225
+#define SYS_readahead __NR_readahead
+#undef __NR_setxattr
+#define __NR_setxattr 226
+#define SYS_setxattr __NR_setxattr
+#undef __NR_lsetxattr
+#define __NR_lsetxattr 227
+#define SYS_lsetxattr __NR_lsetxattr
+#undef __NR_fsetxattr
+#define __NR_fsetxattr 228
+#define SYS_fsetxattr __NR_fsetxattr
+#undef __NR_getxattr
+#define __NR_getxattr 229
+#define SYS_getxattr __NR_getxattr
+#undef __NR_lgetxattr
+#define __NR_lgetxattr 230
+#define SYS_lgetxattr __NR_lgetxattr
+#undef __NR_fgetxattr
+#define __NR_fgetxattr 231
+#define SYS_fgetxattr __NR_fgetxattr
+#undef __NR_listxattr
+#define __NR_listxattr 232
+#define SYS_listxattr __NR_listxattr
+#undef __NR_llistxattr
+#define __NR_llistxattr 233
+#define SYS_llistxattr __NR_llistxattr
+#undef __NR_flistxattr
+#define __NR_flistxattr 234
+#define SYS_flistxattr __NR_flistxattr
+#undef __NR_removexattr
+#define __NR_removexattr 235
+#define SYS_removexattr __NR_removexattr
+#undef __NR_lremovexattr
+#define __NR_lremovexattr 236
+#define SYS_lremovexattr __NR_lremovexattr
+#undef __NR_fremovexattr
+#define __NR_fremovexattr 237
+#define SYS_fremovexattr __NR_fremovexattr
+#undef __NR_tkill
+#define __NR_tkill 238
+#define SYS_tkill __NR_tkill
+#undef __NR_sendfile64
+#define __NR_sendfile64 239
+#define SYS_sendfile64 __NR_sendfile64
+#undef __NR_futex
+#define __NR_futex 240
+#define SYS_futex __NR_futex
+#undef __NR_sched_setaffinity
+#define __NR_sched_setaffinity 241
+#define SYS_sched_setaffinity __NR_sched_setaffinity
+#undef __NR_sched_getaffinity
+#define __NR_sched_getaffinity 242
+#define SYS_sched_getaffinity __NR_sched_getaffinity
+#undef __NR_io_setup
+#define __NR_io_setup 245
+#define SYS_io_setup __NR_io_setup
+#undef __NR_io_destroy
+#define __NR_io_destroy 246
+#define SYS_io_destroy __NR_io_destroy
+#undef __NR_io_getevents
+#define __NR_io_getevents 247
+#define SYS_io_getevents __NR_io_getevents
+#undef __NR_io_submit
+#define __NR_io_submit 248
+#define SYS_io_submit __NR_io_submit
+#undef __NR_io_cancel
+#define __NR_io_cancel 249
+#define SYS_io_cancel __NR_io_cancel
+#undef __NR_exit_group
+#define __NR_exit_group 252
+#define SYS_exit_group __NR_exit_group
+#undef __NR_lookup_dcookie
+#define __NR_lookup_dcookie 253
+#define SYS_lookup_dcookie __NR_lookup_dcookie
+#undef __NR_bfin_spinlock
+#define __NR_bfin_spinlock 254
+#define SYS_bfin_spinlock __NR_bfin_spinlock
+#undef __NR_epoll_create
+#define __NR_epoll_create 255
+#define SYS_epoll_create __NR_epoll_create
+#undef __NR_epoll_ctl
+#define __NR_epoll_ctl 256
+#define SYS_epoll_ctl __NR_epoll_ctl
+#undef __NR_epoll_wait
+#define __NR_epoll_wait 257
+#define SYS_epoll_wait __NR_epoll_wait
+#undef __NR_set_tid_address
+#define __NR_set_tid_address 259
+#define SYS_set_tid_address __NR_set_tid_address
+#undef __NR_timer_create
+#define __NR_timer_create 260
+#define SYS_timer_create __NR_timer_create
+#undef __NR_timer_settime
+#define __NR_timer_settime 261
+#define SYS_timer_settime __NR_timer_settime
+#undef __NR_timer_gettime
+#define __NR_timer_gettime 262
+#define SYS_timer_gettime __NR_timer_gettime
+#undef __NR_timer_getoverrun
+#define __NR_timer_getoverrun 263
+#define SYS_timer_getoverrun __NR_timer_getoverrun
+#undef __NR_timer_delete
+#define __NR_timer_delete 264
+#define SYS_timer_delete __NR_timer_delete
+#undef __NR_clock_settime
+#define __NR_clock_settime 265
+#define SYS_clock_settime __NR_clock_settime
+#undef __NR_clock_gettime
+#define __NR_clock_gettime 266
+#define SYS_clock_gettime __NR_clock_gettime
+#undef __NR_clock_getres
+#define __NR_clock_getres 267
+#define SYS_clock_getres __NR_clock_getres
+#undef __NR_clock_nanosleep
+#define __NR_clock_nanosleep 268
+#define SYS_clock_nanosleep __NR_clock_nanosleep
+#undef __NR_statfs64
+#define __NR_statfs64 269
+#define SYS_statfs64 __NR_statfs64
+#undef __NR_fstatfs64
+#define __NR_fstatfs64 270
+#define SYS_fstatfs64 __NR_fstatfs64
+#undef __NR_tgkill
+#define __NR_tgkill 271
+#define SYS_tgkill __NR_tgkill
+#undef __NR_utimes
+#define __NR_utimes 272
+#define SYS_utimes __NR_utimes
+#undef __NR_fadvise64_64
+#define __NR_fadvise64_64 273
+#define SYS_fadvise64_64 __NR_fadvise64_64
+#undef __NR_mq_open
+#define __NR_mq_open 278
+#define SYS_mq_open __NR_mq_open
+#undef __NR_mq_unlink
+#define __NR_mq_unlink 279
+#define SYS_mq_unlink __NR_mq_unlink
+#undef __NR_mq_timedsend
+#define __NR_mq_timedsend 280
+#define SYS_mq_timedsend __NR_mq_timedsend
+#undef __NR_mq_timedreceive
+#define __NR_mq_timedreceive 281
+#define SYS_mq_timedreceive __NR_mq_timedreceive
+#undef __NR_mq_notify
+#define __NR_mq_notify 282
+#define SYS_mq_notify __NR_mq_notify
+#undef __NR_mq_getsetattr
+#define __NR_mq_getsetattr 283
+#define SYS_mq_getsetattr __NR_mq_getsetattr
+#undef __NR_kexec_load
+#define __NR_kexec_load 284
+#define SYS_kexec_load __NR_kexec_load
+#undef __NR_waitid
+#define __NR_waitid 285
+#define SYS_waitid __NR_waitid
+#undef __NR_add_key
+#define __NR_add_key 286
+#define SYS_add_key __NR_add_key
+#undef __NR_request_key
+#define __NR_request_key 287
+#define SYS_request_key __NR_request_key
+#undef __NR_keyctl
+#define __NR_keyctl 288
+#define SYS_keyctl __NR_keyctl
+#undef __NR_ioprio_set
+#define __NR_ioprio_set 289
+#define SYS_ioprio_set __NR_ioprio_set
+#undef __NR_ioprio_get
+#define __NR_ioprio_get 290
+#define SYS_ioprio_get __NR_ioprio_get
+#undef __NR_inotify_init
+#define __NR_inotify_init 291
+#define SYS_inotify_init __NR_inotify_init
+#undef __NR_inotify_add_watch
+#define __NR_inotify_add_watch 292
+#define SYS_inotify_add_watch __NR_inotify_add_watch
+#undef __NR_inotify_rm_watch
+#define __NR_inotify_rm_watch 293
+#define SYS_inotify_rm_watch __NR_inotify_rm_watch
+#undef __NR_openat
+#define __NR_openat 295
+#define SYS_openat __NR_openat
+#undef __NR_mkdirat
+#define __NR_mkdirat 296
+#define SYS_mkdirat __NR_mkdirat
+#undef __NR_mknodat
+#define __NR_mknodat 297
+#define SYS_mknodat __NR_mknodat
+#undef __NR_fchownat
+#define __NR_fchownat 298
+#define SYS_fchownat __NR_fchownat
+#undef __NR_futimesat
+#define __NR_futimesat 299
+#define SYS_futimesat __NR_futimesat
+#undef __NR_fstatat64
+#define __NR_fstatat64 300
+#define SYS_fstatat64 __NR_fstatat64
+#undef __NR_unlinkat
+#define __NR_unlinkat 301
+#define SYS_unlinkat __NR_unlinkat
+#undef __NR_renameat
+#define __NR_renameat 302
+#define SYS_renameat __NR_renameat
+#undef __NR_linkat
+#define __NR_linkat 303
+#define SYS_linkat __NR_linkat
+#undef __NR_symlinkat
+#define __NR_symlinkat 304
+#define SYS_symlinkat __NR_symlinkat
+#undef __NR_readlinkat
+#define __NR_readlinkat 305
+#define SYS_readlinkat __NR_readlinkat
+#undef __NR_fchmodat
+#define __NR_fchmodat 306
+#define SYS_fchmodat __NR_fchmodat
+#undef __NR_faccessat
+#define __NR_faccessat 307
+#define SYS_faccessat __NR_faccessat
+#undef __NR_pselect6
+#define __NR_pselect6 308
+#define SYS_pselect6 __NR_pselect6
+#undef __NR_ppoll
+#define __NR_ppoll 309
+#define SYS_ppoll __NR_ppoll
+#undef __NR_unshare
+#define __NR_unshare 310
+#define SYS_unshare __NR_unshare
+#undef __NR_sram_alloc
+#define __NR_sram_alloc 311
+#define SYS_sram_alloc __NR_sram_alloc
+#undef __NR_sram_free
+#define __NR_sram_free 312
+#define SYS_sram_free __NR_sram_free
+#undef __NR_dma_memcpy
+#define __NR_dma_memcpy 313
+#define SYS_dma_memcpy __NR_dma_memcpy
+#undef __NR_accept
+#define __NR_accept 314
+#define SYS_accept __NR_accept
+#undef __NR_bind
+#define __NR_bind 315
+#define SYS_bind __NR_bind
+#undef __NR_connect
+#define __NR_connect 316
+#define SYS_connect __NR_connect
+#undef __NR_getpeername
+#define __NR_getpeername 317
+#define SYS_getpeername __NR_getpeername
+#undef __NR_getsockname
+#define __NR_getsockname 318
+#define SYS_getsockname __NR_getsockname
+#undef __NR_getsockopt
+#define __NR_getsockopt 319
+#define SYS_getsockopt __NR_getsockopt
+#undef __NR_listen
+#define __NR_listen 320
+#define SYS_listen __NR_listen
+#undef __NR_recv
+#define __NR_recv 321
+#define SYS_recv __NR_recv
+#undef __NR_recvfrom
+#define __NR_recvfrom 322
+#define SYS_recvfrom __NR_recvfrom
+#undef __NR_recvmsg
+#define __NR_recvmsg 323
+#define SYS_recvmsg __NR_recvmsg
+#undef __NR_send
+#define __NR_send 324
+#define SYS_send __NR_send
+#undef __NR_sendmsg
+#define __NR_sendmsg 325
+#define SYS_sendmsg __NR_sendmsg
+#undef __NR_sendto
+#define __NR_sendto 326
+#define SYS_sendto __NR_sendto
+#undef __NR_setsockopt
+#define __NR_setsockopt 327
+#define SYS_setsockopt __NR_setsockopt
+#undef __NR_shutdown
+#define __NR_shutdown 328
+#define SYS_shutdown __NR_shutdown
+#undef __NR_socket
+#define __NR_socket 329
+#define SYS_socket __NR_socket
+#undef __NR_socketpair
+#define __NR_socketpair 330
+#define SYS_socketpair __NR_socketpair
+#undef __NR_semctl
+#define __NR_semctl 331
+#define SYS_semctl __NR_semctl
+#undef __NR_semget
+#define __NR_semget 332
+#define SYS_semget __NR_semget
+#undef __NR_semop
+#define __NR_semop 333
+#define SYS_semop __NR_semop
+#undef __NR_msgctl
+#define __NR_msgctl 334
+#define SYS_msgctl __NR_msgctl
+#undef __NR_msgget
+#define __NR_msgget 335
+#define SYS_msgget __NR_msgget
+#undef __NR_msgrcv
+#define __NR_msgrcv 336
+#define SYS_msgrcv __NR_msgrcv
+#undef __NR_msgsnd
+#define __NR_msgsnd 337
+#define SYS_msgsnd __NR_msgsnd
+#undef __NR_shmat
+#define __NR_shmat 338
+#define SYS_shmat __NR_shmat
+#undef __NR_shmctl
+#define __NR_shmctl 339
+#define SYS_shmctl __NR_shmctl
+#undef __NR_shmdt
+#define __NR_shmdt 340
+#define SYS_shmdt __NR_shmdt
+#undef __NR_shmget
+#define __NR_shmget 341
+#define SYS_shmget __NR_shmget
+#undef __NR_splice
+#define __NR_splice 342
+#define SYS_splice __NR_splice
+#undef __NR_sync_file_range
+#define __NR_sync_file_range 343
+#define SYS_sync_file_range __NR_sync_file_range
+#undef __NR_tee
+#define __NR_tee 344
+#define SYS_tee __NR_tee
+#undef __NR_vmsplice
+#define __NR_vmsplice 345
+#define SYS_vmsplice __NR_vmsplice
+#undef __NR_epoll_pwait
+#define __NR_epoll_pwait 346
+#define SYS_epoll_pwait __NR_epoll_pwait
+#undef __NR_utimensat
+#define __NR_utimensat 347
+#define SYS_utimensat __NR_utimensat
+#undef __NR_signalfd
+#define __NR_signalfd 348
+#define SYS_signalfd __NR_signalfd
+#undef __NR_timerfd_create
+#define __NR_timerfd_create 349
+#define SYS_timerfd_create __NR_timerfd_create
+#undef __NR_eventfd
+#define __NR_eventfd 350
+#define SYS_eventfd __NR_eventfd
+#undef __NR_pread64
+#define __NR_pread64 351
+#define SYS_pread64 __NR_pread64
+#undef __NR_pwrite64
+#define __NR_pwrite64 352
+#define SYS_pwrite64 __NR_pwrite64
+#undef __NR_fadvise64
+#define __NR_fadvise64 353
+#define SYS_fadvise64 __NR_fadvise64
+#undef __NR_set_robust_list
+#define __NR_set_robust_list 354
+#define SYS_set_robust_list __NR_set_robust_list
+#undef __NR_get_robust_list
+#define __NR_get_robust_list 355
+#define SYS_get_robust_list __NR_get_robust_list
+#undef __NR_fallocate
+#define __NR_fallocate 356
+#define SYS_fallocate __NR_fallocate
+#undef __NR_semtimedop
+#define __NR_semtimedop 357
+#define SYS_semtimedop __NR_semtimedop
+#undef __NR_timerfd_settime
+#define __NR_timerfd_settime 358
+#define SYS_timerfd_settime __NR_timerfd_settime
+#undef __NR_timerfd_gettime
+#define __NR_timerfd_gettime 359
+#define SYS_timerfd_gettime __NR_timerfd_gettime
+#undef __NR_signalfd4
+#define __NR_signalfd4 360
+#define SYS_signalfd4 __NR_signalfd4
+#undef __NR_eventfd2
+#define __NR_eventfd2 361
+#define SYS_eventfd2 __NR_eventfd2
+#undef __NR_epoll_create1
+#define __NR_epoll_create1 362
+#define SYS_epoll_create1 __NR_epoll_create1
+#undef __NR_dup3
+#define __NR_dup3 363
+#define SYS_dup3 __NR_dup3
+#undef __NR_pipe2
+#define __NR_pipe2 364
+#define SYS_pipe2 __NR_pipe2
+#undef __NR_inotify_init1
+#define __NR_inotify_init1 365
+#define SYS_inotify_init1 __NR_inotify_init1
+#undef __NR_preadv
+#define __NR_preadv 366
+#define SYS_preadv __NR_preadv
+#undef __NR_pwritev
+#define __NR_pwritev 367
+#define SYS_pwritev __NR_pwritev
+#undef __NR_rt_tgsigqueueinfo
+#define __NR_rt_tgsigqueueinfo 368
+#define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo
+#undef __NR_perf_event_open
+#define __NR_perf_event_open 369
+#define SYS_perf_event_open __NR_perf_event_open
+#undef __NR_recvmmsg
+#define __NR_recvmmsg 370
+#define SYS_recvmmsg __NR_recvmmsg
+#undef __NR_fanotify_init
+#define __NR_fanotify_init 371
+#define SYS_fanotify_init __NR_fanotify_init
+#undef __NR_fanotify_mark
+#define __NR_fanotify_mark 372
+#define SYS_fanotify_mark __NR_fanotify_mark
+#undef __NR_prlimit64
+#define __NR_prlimit64 373
+#define SYS_prlimit64 __NR_prlimit64
+#undef __NR_cacheflush
+#define __NR_cacheflush 374
+#define SYS_cacheflush __NR_cacheflush
+#undef __NR_name_to_handle_at
+#define __NR_name_to_handle_at 375
+#define SYS_name_to_handle_at __NR_name_to_handle_at
+#undef __NR_open_by_handle_at
+#define __NR_open_by_handle_at 376
+#define SYS_open_by_handle_at __NR_open_by_handle_at
+#undef __NR_clock_adjtime
+#define __NR_clock_adjtime 377
+#define SYS_clock_adjtime __NR_clock_adjtime
+#undef __NR_syncfs
+#define __NR_syncfs 378
+#define SYS_syncfs __NR_syncfs
+#undef __NR_setns
+#define __NR_setns 379
+#define SYS_setns __NR_setns
+#undef __NR_sendmmsg
+#define __NR_sendmmsg 380
+#define SYS_sendmmsg __NR_sendmmsg
+#undef __NR_process_vm_readv
+#define __NR_process_vm_readv 381
+#define SYS_process_vm_readv __NR_process_vm_readv
+#undef __NR_process_vm_writev
+#define __NR_process_vm_writev 382
+#define SYS_process_vm_writev __NR_process_vm_writev
+#undef __NR_syscall
+#define __NR_syscall 383
+#define SYS_syscall __NR_syscall
+# 26 "./include/sys/syscall.h" 2
+# 34 "./include/sys/syscall.h"
+# 1 "./include/bits/syscalls.h" 1
+
+#define _BITS_SYSCALLS_H 
+
+
+
+
+
+
+#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; }) )
+# 21 "./include/bits/syscalls.h"
+#define ASMFMT_0() 
+
+#define ASMFMT_1(arg1) , "q0" ((long)(arg1))
+
+
+#define ASMFMT_2(arg1,arg2) ASMFMT_1(arg1) , "q1" ((long)(arg2))
+
+
+
+#define ASMFMT_3(arg1,arg2,arg3) ASMFMT_2(arg1, arg2) , "q2" ((long)(arg3))
+
+
+
+#define ASMFMT_4(arg1,arg2,arg3,arg4) ASMFMT_3(arg1, arg2, arg3) , "q3" ((long)(arg4))
+
+
+
+#define ASMFMT_5(arg1,arg2,arg3,arg4,arg5) ASMFMT_4(arg1, arg2, arg3, arg4) , "q4" ((long)(arg5))
+
+
+
+#define ASMFMT_6(arg1,arg2,arg3,arg4,arg5,arg6) ASMFMT_5(arg1, arg2, arg3, arg4, arg5) , "q5" ((long)(arg6))
+# 35 "./include/sys/syscall.h" 2
+# 1 "./include/bits/syscalls-common.h" 1
+
+
+
+
+
+
+
+#define _SYSCALLS_COMMON_H 1
+
+
+
+
+
+
+#define SYS_ify(syscall_name) (__NR_ ##syscall_name)
+
+
+
+
+# 1 "./include/errno.h" 1
+# 28 "./include/errno.h"
+#define _ERRNO_H 1
+
+
+
+
+
+
+
+# 1 "./include/bits/errno.h" 1
+# 22 "./include/bits/errno.h"
+#undef EDOM
+#undef EILSEQ
+#undef ERANGE
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/errno.h" 1
+
+#define _LINUX_ERRNO_H 
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/errno.h" 1
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno.h" 1
+
+#define _ASM_GENERIC_ERRNO_H 
+
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno-base.h" 1
+
+#define _ASM_GENERIC_ERRNO_BASE_H 
+
+#define EPERM 1
+#define ENOENT 2
+#define ESRCH 3
+#define EINTR 4
+#define EIO 5
+#define ENXIO 6
+#define E2BIG 7
+#define ENOEXEC 8
+#define EBADF 9
+#define ECHILD 10
+#define EAGAIN 11
+#define ENOMEM 12
+#define EACCES 13
+#define EFAULT 14
+#define ENOTBLK 15
+#define EBUSY 16
+#define EEXIST 17
+#define EXDEV 18
+#define ENODEV 19
+#define ENOTDIR 20
+#define EISDIR 21
+#define EINVAL 22
+#define ENFILE 23
+#define EMFILE 24
+#define ENOTTY 25
+#define ETXTBSY 26
+#define EFBIG 27
+#define ENOSPC 28
+#define ESPIPE 29
+#define EROFS 30
+#define EMLINK 31
+#define EPIPE 32
+#define EDOM 33
+#define ERANGE 34
+# 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm-generic/errno.h" 2
+
+#define EDEADLK 35
+#define ENAMETOOLONG 36
+#define ENOLCK 37
+#define ENOSYS 38
+#define ENOTEMPTY 39
+#define ELOOP 40
+#define EWOULDBLOCK EAGAIN
+#define ENOMSG 42
+#define EIDRM 43
+#define ECHRNG 44
+#define EL2NSYNC 45
+#define EL3HLT 46
+#define EL3RST 47
+#define ELNRNG 48
+#define EUNATCH 49
+#define ENOCSI 50
+#define EL2HLT 51
+#define EBADE 52
+#define EBADR 53
+#define EXFULL 54
+#define ENOANO 55
+#define EBADRQC 56
+#define EBADSLT 57
+
+#define EDEADLOCK EDEADLK
+
+#define EBFONT 59
+#define ENOSTR 60
+#define ENODATA 61
+#define ETIME 62
+#define ENOSR 63
+#define ENONET 64
+#define ENOPKG 65
+#define EREMOTE 66
+#define ENOLINK 67
+#define EADV 68
+#define ESRMNT 69
+#define ECOMM 70
+#define EPROTO 71
+#define EMULTIHOP 72
+#define EDOTDOT 73
+#define EBADMSG 74
+#define EOVERFLOW 75
+#define ENOTUNIQ 76
+#define EBADFD 77
+#define EREMCHG 78
+#define ELIBACC 79
+#define ELIBBAD 80
+#define ELIBSCN 81
+#define ELIBMAX 82
+#define ELIBEXEC 83
+#define EILSEQ 84
+#define ERESTART 85
+#define ESTRPIPE 86
+#define EUSERS 87
+#define ENOTSOCK 88
+#define EDESTADDRREQ 89
+#define EMSGSIZE 90
+#define EPROTOTYPE 91
+#define ENOPROTOOPT 92
+#define EPROTONOSUPPORT 93
+#define ESOCKTNOSUPPORT 94
+#define EOPNOTSUPP 95
+#define EPFNOSUPPORT 96
+#define EAFNOSUPPORT 97
+#define EADDRINUSE 98
+#define EADDRNOTAVAIL 99
+#define ENETDOWN 100
+#define ENETUNREACH 101
+#define ENETRESET 102
+#define ECONNABORTED 103
+#define ECONNRESET 104
+#define ENOBUFS 105
+#define EISCONN 106
+#define ENOTCONN 107
+#define ESHUTDOWN 108
+#define ETOOMANYREFS 109
+#define ETIMEDOUT 110
+#define ECONNREFUSED 111
+#define EHOSTDOWN 112
+#define EHOSTUNREACH 113
+#define EALREADY 114
+#define EINPROGRESS 115
+#define ESTALE 116
+#define EUCLEAN 117
+#define ENOTNAM 118
+#define ENAVAIL 119
+#define EISNAM 120
+#define EREMOTEIO 121
+#define EDQUOT 122
+
+#define ENOMEDIUM 123
+#define EMEDIUMTYPE 124
+#define ECANCELED 125
+#define ENOKEY 126
+#define EKEYEXPIRED 127
+#define EKEYREVOKED 128
+#define EKEYREJECTED 129
+
+
+#define EOWNERDEAD 130
+#define ENOTRECOVERABLE 131
+
+#define ERFKILL 132
+
+#define EHWPOISON 133
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/asm/errno.h" 2
+# 5 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/bfin-linux-uclibc/runtime/usr/include/linux/errno.h" 2
+# 26 "./include/bits/errno.h" 2
+
+
+
+#define ENOTSUP EOPNOTSUPP
+# 45 "./include/bits/errno.h"
+extern int *__errno_location (void) __attribute__ ((__nothrow__)) __attribute__ ((__const__));
+
+# 37 "./include/errno.h" 2
+#undef __need_Emath
+# 47 "./include/errno.h"
+extern int errno;
+# 59 "./include/errno.h"
+
+
+
+
+#undef errno
+#define errno _dl_errno
+extern int _dl_errno;
+# 79 "./include/errno.h"
+#define __set_errno(val) (errno = (val))
+# 91 "./include/errno.h"
+typedef int error_t;
+#define __error_t_defined 1
+
+#undef __need_error_t
+# 21 "./include/bits/syscalls-common.h" 2
+
+
+#define INTERNAL_SYSCALL_DECL(err) do { } while (0)
+
+
+#define INTERNAL_SYSCALL_ERROR_P(val,err) ((unsigned long)val >= (unsigned long)(-4095))
+
+
+#define INTERNAL_SYSCALL_ERRNO(val,err) (-(val))
+
+
+
+
+#define INLINE_SYSCALL(name,nr,args...) INLINE_SYSCALL_NCS(__NR_ ##name, nr, args)
+
+
+#define INLINE_SYSCALL_NOERR(name,nr,args...) INLINE_SYSCALL_NOERR_NCS(__NR_ ##name, nr, args)
+
+
+
+
+#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; }) ); }) )
+# 60 "./include/bits/syscalls-common.h"
+#define INLINE_SYSCALL_NOERR_NCS(name,nr,args...) ({ INTERNAL_SYSCALL_DECL(__err); long __res = INTERNAL_SYSCALL_NCS(name, __err, nr, args); __res; })
+# 70 "./include/bits/syscalls-common.h"
+#define INTERNAL_SYSCALL(name,err,nr,args...) INTERNAL_SYSCALL_NCS(__NR_ ##name, err, nr, args)
+# 79 "./include/bits/syscalls-common.h"
+#define C_DECL_ARGS_0() void
+#define C_DECL_ARGS_1(t,v) t v
+#define C_DECL_ARGS_2(t,v,args...) t v, C_DECL_ARGS_1(args)
+#define C_DECL_ARGS_3(t,v,args...) t v, C_DECL_ARGS_2(args)
+#define C_DECL_ARGS_4(t,v,args...) t v, C_DECL_ARGS_3(args)
+#define C_DECL_ARGS_5(t,v,args...) t v, C_DECL_ARGS_4(args)
+#define C_DECL_ARGS_6(t,v,args...) t v, C_DECL_ARGS_5(args)
+
+#define C_ARGS_0() 
+#define C_ARGS_1(t,v) v
+#define C_ARGS_2(t,v,args...) v, C_ARGS_1(args)
+#define C_ARGS_3(t,v,args...) v, C_ARGS_2(args)
+#define C_ARGS_4(t,v,args...) v, C_ARGS_3(args)
+#define C_ARGS_5(t,v,args...) v, C_ARGS_4(args)
+#define C_ARGS_6(t,v,args...) v, C_ARGS_5(args)
+
+#define SYSCALL_FUNC(nargs,type,name,args...) type name(C_DECL_ARGS_ ##nargs(args)) { return (type)INLINE_SYSCALL(name, nargs, C_ARGS_ ##nargs(args)); }
+
+
+
+
+#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)); }
+
+
+
+
+#define _syscall0(args...) SYSCALL_FUNC(0, args)
+#define _syscall_noerr0(args...) SYSCALL_NOERR_FUNC(0, args)
+#define _syscall1(args...) SYSCALL_FUNC(1, args)
+#define _syscall_noerr1(args...) SYSCALL_NOERR_FUNC(1, args)
+#define _syscall2(args...) SYSCALL_FUNC(2, args)
+#define _syscall3(args...) SYSCALL_FUNC(3, args)
+#define _syscall4(args...) SYSCALL_FUNC(4, args)
+#define _syscall5(args...) SYSCALL_FUNC(5, args)
+#define _syscall6(args...) SYSCALL_FUNC(6, args)
+# 36 "./include/sys/syscall.h" 2
+# 14 "./ldso/include/dl-syscall.h" 2
+extern int _dl_errno;
+#undef __set_errno
+#define __set_errno(X) {(_dl_errno) = (X);}
+
+
+# 1 "./ldso/ldso/bfin/dl-syscalls.h" 1
+# 22 "./ldso/ldso/bfin/dl-syscalls.h"
+#define __NR__dl_sram_alloc __NR_sram_alloc
+static __inline __attribute__ ((__always_inline__)) void * _dl_sram_alloc(
+ 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; }) ); }) ); }
+
+
+
+#define __NR__dl_sram_free __NR_sram_free
+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; }) ); }) ); }
+
+
+
+#define __NR__dl_dma_memcpy __NR_dma_memcpy
+static __inline __attribute__ ((__always_inline__)) void * _dl_dma_memcpy(
+ 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; }) ); }) ); }
+
+
+#define __UCLIBC_MMAP_HAS_6_ARGS__ 
+# 20 "./ldso/include/dl-syscall.h" 2
+
+#define _SYS_MMAN_H 1
+# 1 "./include/bits/mman.h" 1
+# 1 "./include/bits/mman-common.h" 1
+# 33 "./include/bits/mman-common.h"
+#define PROT_READ 0x1
+#define PROT_WRITE 0x2
+#define PROT_EXEC 0x4
+#define PROT_NONE 0x0
+#define PROT_GROWSDOWN 0x01000000
+
+#define PROT_GROWSUP 0x02000000
+
+
+
+#define MAP_SHARED 0x01
+#define MAP_PRIVATE 0x02
+
+#define MAP_TYPE 0x0f
+
+
+
+#define MAP_FIXED 0x10
+
+#define MAP_FILE 0
+#define MAP_ANONYMOUS 0x20
+#define MAP_ANON MAP_ANONYMOUS
+
+
+
+
+#define MAP_GROWSDOWN 0x00100
+#define MAP_DENYWRITE 0x00800
+#define MAP_EXECUTABLE 0x01000
+#define MAP_LOCKED 0x02000
+#define MAP_NORESERVE 0x04000
+#define MAP_POPULATE 0x08000
+#define MAP_NONBLOCK 0x10000
+#define MAP_STACK 0x20000
+#define MAP_UNINITIALIZE 0x4000000
+
+
+
+
+#define MS_ASYNC 1
+#define MS_SYNC 4
+#define MS_INVALIDATE 2
+
+
+#define MCL_CURRENT 1
+#define MCL_FUTURE 2
+
+
+
+
+#define MREMAP_MAYMOVE 1
+#define MREMAP_FIXED 2
+
+
+
+
+#define MADV_NORMAL 0
+#define MADV_RANDOM 1
+#define MADV_SEQUENTIAL 2
+#define MADV_WILLNEED 3
+#define MADV_DONTNEED 4
+#define MADV_REMOVE 9
+#define MADV_DONTFORK 10
+#define MADV_DOFORK 11
+#define MADV_MERGEABLE 12
+#define MADV_UNMERGEABLE 13
+#define MADV_HWPOISON 100
+
+
+
+
+#define POSIX_MADV_NORMAL 0
+#define POSIX_MADV_RANDOM 1
+#define POSIX_MADV_SEQUENTIAL 2
+#define POSIX_MADV_WILLNEED 3
+#define POSIX_MADV_DONTNEED 4
+# 1 "./include/bits/mman.h" 2
+# 23 "./ldso/include/dl-syscall.h" 2
+
+
+
+
+
+
+#define kernel_stat stat
+
+# 1 "./include/bits/kernel_stat.h" 1
+
+#define _BITS_STAT_STRUCT_H 
+
+
+
+
+
+struct stat {
+ unsigned short st_dev;
+ unsigned short __pad1;
+ unsigned long st_ino;
+ unsigned short st_mode;
+ unsigned short st_nlink;
+ unsigned short st_uid;
+ unsigned short st_gid;
+ unsigned short st_rdev;
+ unsigned short __pad2;
+ unsigned long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ struct timespec st_atim;
+ struct timespec st_mtim;
+ struct timespec st_ctim;
+ unsigned long __unused4;
+ unsigned long __unused5;
+};
+
+struct kernel_stat64 {
+ unsigned short st_dev;
+ unsigned char __pad0[10];
+#define _HAVE_STAT64___ST_INO 
+ unsigned long __st_ino;
+ unsigned int st_mode;
+ unsigned int st_nlink;
+ unsigned long st_uid;
+ unsigned long st_gid;
+ unsigned short st_rdev;
+ unsigned char __pad3[10];
+ long long st_size;
+ unsigned long st_blksize;
+ unsigned long st_blocks;
+ unsigned long __pad4;
+ struct timespec st_atim;
+ struct timespec st_mtim;
+ struct timespec st_ctim;
+ unsigned long long st_ino;
+};
+# 32 "./ldso/include/dl-syscall.h" 2
+
+
+
+#define S_ISUID 04000
+#define S_ISGID 02000
+# 45 "./ldso/include/dl-syscall.h"
+#define __NR__dl_exit __NR_exit
+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; }) ); }) ); }
+
+#define __NR__dl_close __NR_close
+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; }) ); }) ); }
+
+#define __NR__dl_open __NR_open
+static __inline __attribute__ ((__always_inline__)) int _dl_open(
+ 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; }) ); }) ); }
+
+#define __NR__dl_write __NR_write
+static __inline __attribute__ ((__always_inline__)) unsigned long _dl_write(
+ 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; }) ); }) ); }
+
+#define __NR__dl_read __NR_read
+static __inline __attribute__ ((__always_inline__)) unsigned long _dl_read(
+ 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; }) ); }) ); }
+
+#define __NR__dl_mprotect __NR_mprotect
+static __inline __attribute__ ((__always_inline__)) int _dl_mprotect(
+ 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; }) ); }) ); }
+
+#define __NR__dl_stat __NR_stat
+static __inline __attribute__ ((__always_inline__)) int _dl_stat(
+ 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; }) ); }) ); }
+
+#define __NR__dl_fstat __NR_fstat
+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; }) ); }) ); }
+
+#define __NR__dl_munmap __NR_munmap
+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; }) ); }) ); }
+
+
+
+
+#define __NR__dl_getuid __NR_getuid
+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; }) ); }) ); }
+
+
+
+
+#define __NR__dl_geteuid __NR_geteuid
+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; }) ); }) ); }
+
+
+
+
+#define __NR__dl_getgid __NR_getgid
+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; }) ); }) ); }
+
+
+
+
+#define __NR__dl_getegid __NR_getegid
+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; }) ); }) ); }
+
+
+
+
+#define __NR__dl_getpid __NR_getpid
+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; }) ); }) ); }
+
+#define __NR__dl_readlink __NR_readlink
+static __inline __attribute__ ((__always_inline__)) int _dl_readlink(
+ 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; }) ); }) ); }
+
+
+#define __NR___syscall_pread __NR_pread64
+static __inline __attribute__ ((__always_inline__)) ssize_t __syscall_pread(
+ 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; }) ); }) ); }
+
+static __inline __attribute__ ((__always_inline__)) ssize_t
+_dl_pread(int fd, void *buf, size_t count, off_t offset)
+{
+ return __syscall_pread(fd, buf, count, offset, offset >> 31);
+}
+# 150 "./ldso/include/dl-syscall.h"
+#define MMAP2_PAGE_SHIFT 12
+
+
+#define MAP_FAILED ((void *) -1)
+#define _dl_mmap_check_error(X) (((void *)X) == MAP_FAILED)
+
+static __inline __attribute__ ((__always_inline__))
+void *_dl_mmap(void *addr, unsigned long size, int prot,
+               int flags, int fd, unsigned long offset)
+{
+
+
+
+
+
+
+ unsigned long shifted;
+
+ if (offset & ((1 << 12) - 1))
+  return ((void *) -1);
+
+
+ shifted = offset >> 12;
+ 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; }) ); }) );
+# 188 "./ldso/include/dl-syscall.h"
+}
+# 44 "./ldso/include/ldso.h" 2
+# 1 "./ldso/include/dl-string.h" 1
+# 9 "./ldso/include/dl-string.h"
+#define _LINUX_STRING_H_ 
+
+# 1 "./ldso/ldso/bfin/dl-sysdep.h" 1
+# 17 "./ldso/ldso/bfin/dl-sysdep.h"
+#undef ELF_USES_RELOCA
+
+
+#define ELF_MACHINE_PLTREL_OVERLAP 
+
+#define DL_NO_COPY_RELOCS 
+
+
+#define MAGIC1 EM_BLACKFIN
+#undef MAGIC2
+
+
+#define ELF_TARGET "BFIN"
+
+
+#define ARCH_NEEDS_BOOTSTRAP_RELOCS 
+
+extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
+
+#undef SEND_EARLY_STDERR
+#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)
+# 60 "./ldso/ldso/bfin/dl-sysdep.h"
+#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)
+# 77 "./ldso/ldso/bfin/dl-sysdep.h"
+#define DL_IS_SPECIAL_SEGMENT(EPNT,PPNT) __dl_is_special_segment(EPNT, PPNT)
+
+#define DL_MAP_SEGMENT(EPNT,PPNT,INFILE,FLAGS) __dl_map_segment (EPNT, PPNT, INFILE, FLAGS)
+
+
+# 1 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h" 1
+# 9 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h"
+#define HAVE_DL_INLINES_H 
+
+
+
+
+
+
+#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; }
+
+
+
+
+
+
+
+struct elf_resolve;
+
+struct funcdesc_value
+{
+  void *entry_point;
+  void *got_value;
+} __attribute__((__aligned__(8)));
+
+struct funcdesc_ht;
+
+#define DL_LOADADDR_TYPE struct elf32_fdpic_loadaddr
+
+#define DL_RELOC_ADDR(LOADADDR,ADDR) ((ElfW(Addr))__reloc_pointer ((void*)(ADDR), (LOADADDR).map))
+
+
+#define DL_ADDR_TO_FUNC_PTR(ADDR,LOADADDR) ((void(*)(void)) _dl_funcdesc_for ((void*)(ADDR), (LOADADDR).got_value))
+
+
+#define _dl_stabilize_funcdesc(val) ({ __asm__ ("" : "+m" (*(val))); (val); })
+
+
+#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__); })
+
+
+
+
+#define DL_INIT_LOADADDR_BOOT(LOADADDR,BASEADDR) (__dl_init_loadaddr_map (&(LOADADDR), dl_boot_got_pointer, dl_boot_ldsomap ?: dl_boot_progmap))
+
+
+
+#define DL_INIT_LOADADDR_PROG(LOADADDR,BASEADDR) (__dl_init_loadaddr_map (&(LOADADDR), 0, dl_boot_progmap))
+
+
+#define DL_INIT_LOADADDR_EXTRA_DECLS int dl_init_loadaddr_load_count;
+
+#define DL_INIT_LOADADDR(LOADADDR,BASEADDR,PHDR,PHDRCNT) (dl_init_loadaddr_load_count = __dl_init_loadaddr (&(LOADADDR), (PHDR), (PHDRCNT)))
+
+
+#define DL_INIT_LOADADDR_HDR(LOADADDR,ADDR,PHDR) (__dl_init_loadaddr_hdr ((LOADADDR), (ADDR), (PHDR), dl_init_loadaddr_load_count))
+
+
+#define DL_UPDATE_LOADADDR_HDR(LOADADDR,ADDR,PHDR) (__dl_update_loadaddr_hdr ((LOADADDR), (ADDR), (PHDR)))
+
+#define DL_LOADADDR_UNMAP(LOADADDR,LEN) (__dl_loadaddr_unmap ((LOADADDR), (NULL)))
+
+#define DL_LIB_UNMAP(LIB,LEN) (__dl_loadaddr_unmap ((LIB)->loadaddr, (LIB)->funcdesc_ht))
+
+#define DL_LOADADDR_BASE(LOADADDR) ((LOADADDR).got_value)
+
+
+
+
+
+#define DL_LOOKUP_ADDRESS(ADDRESS) (_dl_lookup_address (ADDRESS))
+
+#define DL_ADDR_IN_LOADADDR(ADDR,TPNT,TFROM) (! (TFROM) && __dl_addr_in_loadaddr ((void*)(ADDR), (TPNT)->loadaddr))
+# 88 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h"
+#define DL_BOOT_COMPUTE_GOT(got) ((got) = dl_boot_got_pointer)
+
+#define DL_BOOT_COMPUTE_DYN(dpnt,got,load_addr) ((dpnt) = dl_boot_ldso_dyn_pointer)
+
+
+
+
+
+
+#define DL_SKIP_BOOTSTRAP_RELOC(SYMTAB,INDEX,STRTAB) 0
+
+
+#define _DL_PREAD(FD,BUF,SIZE,OFFSET) (_dl_pread((FD), (BUF), (SIZE), (OFFSET)))
+
+
+
+
+
+#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))
+
+
+
+
+
+
+#define DL_GET_READY_TO_RUN_EXTRA_PARMS , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer
+
+#define DL_GET_READY_TO_RUN_EXTRA_ARGS , dl_boot_progmap, dl_boot_got_pointer
+
+
+
+#define DL_DEF_LIB_OFFSET 
+
+
+#define DL_GET_LIB_OFFSET() 0
+
+
+#define DL_SET_LIB_OFFSET(offset) 
+
+
+#define DL_GET_RUN_ADDR(loadaddr,mapaddr) (loadaddr)
+
+
+# 1 "./include/link.h" 1
+# 22 "./include/link.h"
+#define _LINK_H 1
+
+
+# 1 "./include/elf.h" 1
+# 21 "./include/elf.h"
+#define _ELF_H 1
+# 30 "./include/elf.h"
+# 1 "./include/stdint.h" 1
+# 24 "./include/stdint.h"
+#define _STDINT_H 1
+
+
+
+
+
+# 1 "./include/bits/wordsize.h" 1
+# 19 "./include/bits/wordsize.h"
+#define __WORDSIZE 32
+# 31 "./include/stdint.h" 2
+# 51 "./include/stdint.h"
+typedef unsigned char uint8_t;
+typedef unsigned short int uint16_t;
+
+typedef unsigned int uint32_t;
+#define __uint32_t_defined 
+
+
+
+
+__extension__
+typedef unsigned long long int uint64_t;
+
+
+
+
+
+
+typedef signed char int_least8_t;
+typedef short int int_least16_t;
+typedef int int_least32_t;
+
+
+
+__extension__
+typedef long long int int_least64_t;
+
+
+
+typedef unsigned char uint_least8_t;
+typedef unsigned short int uint_least16_t;
+typedef unsigned int uint_least32_t;
+
+
+
+__extension__
+typedef unsigned long long int uint_least64_t;
+
+
+
+
+
+
+typedef signed char int_fast8_t;
+
+
+
+
+
+typedef int int_fast16_t;
+typedef int int_fast32_t;
+__extension__
+typedef long long int int_fast64_t;
+
+
+
+typedef unsigned char uint_fast8_t;
+
+
+
+
+
+typedef unsigned int uint_fast16_t;
+typedef unsigned int uint_fast32_t;
+__extension__
+typedef unsigned long long int uint_fast64_t;
+# 128 "./include/stdint.h"
+typedef int intptr_t;
+#define __intptr_t_defined 
+
+typedef unsigned int uintptr_t;
+# 140 "./include/stdint.h"
+__extension__
+typedef long long int intmax_t;
+__extension__
+typedef unsigned long long int uintmax_t;
+# 155 "./include/stdint.h"
+#define __INT64_C(c) c ## LL
+#define __UINT64_C(c) c ## ULL
+
+
+
+
+
+#define INT8_MIN (-128)
+#define INT16_MIN (-32767-1)
+#define INT32_MIN (-2147483647-1)
+#define INT64_MIN (-__INT64_C(9223372036854775807)-1)
+
+#define INT8_MAX (127)
+#define INT16_MAX (32767)
+#define INT32_MAX (2147483647)
+#define INT64_MAX (__INT64_C(9223372036854775807))
+
+
+#define UINT8_MAX (255)
+#define UINT16_MAX (65535)
+#define UINT32_MAX (4294967295U)
+#define UINT64_MAX (__UINT64_C(18446744073709551615))
+
+
+
+#define INT_LEAST8_MIN (-128)
+#define INT_LEAST16_MIN (-32767-1)
+#define INT_LEAST32_MIN (-2147483647-1)
+#define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1)
+
+#define INT_LEAST8_MAX (127)
+#define INT_LEAST16_MAX (32767)
+#define INT_LEAST32_MAX (2147483647)
+#define INT_LEAST64_MAX (__INT64_C(9223372036854775807))
+
+
+#define UINT_LEAST8_MAX (255)
+#define UINT_LEAST16_MAX (65535)
+#define UINT_LEAST32_MAX (4294967295U)
+#define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615))
+
+
+
+#define INT_FAST8_MIN (-128)
+
+
+
+
+#define INT_FAST16_MIN (-2147483647-1)
+#define INT_FAST32_MIN (-2147483647-1)
+
+#define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1)
+
+#define INT_FAST8_MAX (127)
+
+
+
+
+#define INT_FAST16_MAX (2147483647)
+#define INT_FAST32_MAX (2147483647)
+
+#define INT_FAST64_MAX (__INT64_C(9223372036854775807))
+
+
+#define UINT_FAST8_MAX (255)
+
+
+
+
+#define UINT_FAST16_MAX (4294967295U)
+#define UINT_FAST32_MAX (4294967295U)
+
+#define UINT_FAST64_MAX (__UINT64_C(18446744073709551615))
+# 236 "./include/stdint.h"
+#define INTPTR_MIN (-2147483647-1)
+#define INTPTR_MAX (2147483647)
+#define UINTPTR_MAX (4294967295U)
+
+
+
+
+
+#define INTMAX_MIN (-__INT64_C(9223372036854775807)-1)
+
+#define INTMAX_MAX (__INT64_C(9223372036854775807))
+
+
+#define UINTMAX_MAX (__UINT64_C(18446744073709551615))
+# 267 "./include/stdint.h"
+#define PTRDIFF_MIN (-2147483647-1)
+#define PTRDIFF_MAX (2147483647)
+
+
+
+#define SIG_ATOMIC_MIN (-2147483647-1)
+#define SIG_ATOMIC_MAX (2147483647)
+
+
+
+
+
+#define SIZE_MAX (4294967295U)
+# 303 "./include/stdint.h"
+#define INT8_C(c) c
+#define INT16_C(c) c
+#define INT32_C(c) c
+
+
+
+#define INT64_C(c) c ## LL
+
+
+
+#define UINT8_C(c) c
+#define UINT16_C(c) c
+#define UINT32_C(c) c ## U
+
+
+
+#define UINT64_C(c) c ## ULL
+
+
+
+
+
+
+
+#define INTMAX_C(c) c ## LL
+#define UINTMAX_C(c) c ## ULL
+# 31 "./include/elf.h" 2
+
+
+
+typedef uint16_t Elf32_Half;
+typedef uint16_t Elf64_Half;
+
+
+typedef uint32_t Elf32_Word;
+typedef int32_t Elf32_Sword;
+typedef uint32_t Elf64_Word;
+typedef int32_t Elf64_Sword;
+
+
+typedef uint64_t Elf32_Xword;
+typedef int64_t Elf32_Sxword;
+typedef uint64_t Elf64_Xword;
+typedef int64_t Elf64_Sxword;
+
+
+typedef uint32_t Elf32_Addr;
+typedef uint64_t Elf64_Addr;
+
+
+typedef uint32_t Elf32_Off;
+typedef uint64_t Elf64_Off;
+
+
+typedef uint16_t Elf32_Section;
+typedef uint16_t Elf64_Section;
+
+
+typedef Elf32_Half Elf32_Versym;
+typedef Elf64_Half Elf64_Versym;
+
+
+
+
+#define EI_NIDENT (16)
+
+typedef struct
+{
+  unsigned char e_ident[(16)];
+  Elf32_Half e_type;
+  Elf32_Half e_machine;
+  Elf32_Word e_version;
+  Elf32_Addr e_entry;
+  Elf32_Off e_phoff;
+  Elf32_Off e_shoff;
+  Elf32_Word e_flags;
+  Elf32_Half e_ehsize;
+  Elf32_Half e_phentsize;
+  Elf32_Half e_phnum;
+  Elf32_Half e_shentsize;
+  Elf32_Half e_shnum;
+  Elf32_Half e_shstrndx;
+} Elf32_Ehdr;
+
+typedef struct
+{
+  unsigned char e_ident[(16)];
+  Elf64_Half e_type;
+  Elf64_Half e_machine;
+  Elf64_Word e_version;
+  Elf64_Addr e_entry;
+  Elf64_Off e_phoff;
+  Elf64_Off e_shoff;
+  Elf64_Word e_flags;
+  Elf64_Half e_ehsize;
+  Elf64_Half e_phentsize;
+  Elf64_Half e_phnum;
+  Elf64_Half e_shentsize;
+  Elf64_Half e_shnum;
+  Elf64_Half e_shstrndx;
+} Elf64_Ehdr;
+
+
+
+
+
+#define EI_MAG0 0
+#define ELFMAG0 0x7f
+
+#define EI_MAG1 1
+#define ELFMAG1 'E'
+
+#define EI_MAG2 2
+#define ELFMAG2 'L'
+
+#define EI_MAG3 3
+#define ELFMAG3 'F'
+
+
+#define ELFMAG "\177ELF"
+#define SELFMAG 4
+
+#define ELFMAG_U32 ((uint32_t)(ELFMAG0 + 0x100 * (ELFMAG1 + (0x100 * (ELFMAG2 + 0x100 * ELFMAG3)))))
+
+
+
+
+#define EI_CLASS 4
+#define ELFCLASSNONE 0
+#define ELFCLASS32 1
+#define ELFCLASS64 2
+#define ELFCLASSNUM 3
+
+#define EI_DATA 5
+#define ELFDATANONE 0
+#define ELFDATA2LSB 1
+#define ELFDATA2MSB 2
+#define ELFDATANUM 3
+
+#define EI_VERSION 6
+
+
+#define EI_OSABI 7
+#define ELFOSABI_NONE 0
+#define ELFOSABI_SYSV 0
+#define ELFOSABI_HPUX 1
+#define ELFOSABI_NETBSD 2
+#define ELFOSABI_LINUX 3
+#define ELFOSABI_HURD 4
+#define ELFOSABI_SOLARIS 6
+#define ELFOSABI_AIX 7
+#define ELFOSABI_IRIX 8
+#define ELFOSABI_FREEBSD 9
+#define ELFOSABI_TRU64 10
+#define ELFOSABI_MODESTO 11
+#define ELFOSABI_OPENBSD 12
+#define ELFOSABI_OPENVMS 13
+#define ELFOSABI_NSK 14
+#define ELFOSABI_AROS 15
+#define ELFOSABI_ARM 97
+#define ELFOSABI_STANDALONE 255
+
+#define EI_ABIVERSION 8
+
+#define EI_PAD 9
+
+
+
+#define ET_NONE 0
+#define ET_REL 1
+#define ET_EXEC 2
+#define ET_DYN 3
+#define ET_CORE 4
+#define ET_NUM 5
+#define ET_LOOS 0xfe00
+#define ET_HIOS 0xfeff
+#define ET_LOPROC 0xff00
+#define ET_HIPROC 0xffff
+
+
+
+#define EM_NONE 0
+#define EM_M32 1
+#define EM_SPARC 2
+#define EM_386 3
+#define EM_68K 4
+#define EM_88K 5
+#define EM_486 6
+#define EM_860 7
+#define EM_MIPS 8
+#define EM_S370 9
+#define EM_MIPS_RS3_LE 10
+
+#define EM_PARISC 15
+#define EM_VPP500 17
+#define EM_SPARC32PLUS 18
+#define EM_960 19
+#define EM_PPC 20
+#define EM_PPC64 21
+#define EM_S390 22
+
+#define EM_V800 36
+#define EM_FR20 37
+#define EM_RH32 38
+#define EM_MCORE 39
+#define EM_RCE 39
+#define EM_ARM 40
+#define EM_FAKE_ALPHA 41
+#define EM_SH 42
+#define EM_SPARCV9 43
+#define EM_TRICORE 44
+#define EM_ARC 45
+#define EM_H8_300 46
+#define EM_H8_300H 47
+#define EM_H8S 48
+#define EM_H8_500 49
+#define EM_IA_64 50
+#define EM_MIPS_X 51
+#define EM_COLDFIRE 52
+#define EM_68HC12 53
+#define EM_MMA 54
+#define EM_PCP 55
+#define EM_NCPU 56
+#define EM_NDR1 57
+#define EM_STARCORE 58
+#define EM_ME16 59
+#define EM_ST100 60
+#define EM_TINYJ 61
+#define EM_X86_64 62
+#define EM_PDSP 63
+
+#define EM_FX66 66
+#define EM_ST9PLUS 67
+#define EM_ST7 68
+#define EM_68HC16 69
+#define EM_68HC11 70
+#define EM_68HC08 71
+#define EM_68HC05 72
+#define EM_SVX 73
+#define EM_ST19 74
+#define EM_VAX 75
+#define EM_CRIS 76
+#define EM_JAVELIN 77
+#define EM_FIREPATH 78
+#define EM_ZSP 79
+#define EM_MMIX 80
+#define EM_HUANY 81
+#define EM_PRISM 82
+#define EM_AVR 83
+#define EM_FR30 84
+#define EM_D10V 85
+#define EM_D30V 86
+#define EM_V850 87
+#define EM_M32R 88
+#define EM_MN10300 89
+#define EM_MN10200 90
+#define EM_PJ 91
+#define EM_OPENRISC 92
+#define EM_ARC_A5 93
+#define EM_XTENSA 94
+#define EM_IP2K 101
+#define EM_CR 103
+#define EM_MSP430 105
+#define EM_BLACKFIN 106
+#define EM_ALTERA_NIOS2 113
+#define EM_CRX 114
+#define EM_NUM 95
+#define EM_TI_C6000 140
+# 286 "./include/elf.h"
+#define EM_PJ_OLD 99
+
+
+#define EM_CYGNUS_POWERPC 0x9025
+
+
+
+#define EM_OLD_SPARCV9 11
+
+
+#define EM_PPC_OLD 17
+
+
+#define EM_OR32 0x8472
+
+
+#define EM_M32C 0xFEB0
+
+
+#define EM_CYGNUS_M32R 0x9041
+
+
+#define EM_S390_OLD 0xa390
+
+
+#define EM_CYGNUS_D10V 0x7650
+
+
+#define EM_CYGNUS_D30V 0x7676
+
+
+#define EM_CYGNUS_V850 0x9080
+
+
+
+#define EM_CYGNUS_MN10200 0xdead
+#define EM_CYGNUS_MN10300 0xbeef
+
+
+#define EM_CYGNUS_FR30 0x3330
+
+
+
+#define EM_AVR_OLD 0x1057
+
+
+
+#define EM_OPENRISC_OLD 0x3426
+
+
+
+#define EM_DLX 0x5aa5
+
+#define EM_XSTORMY16 0xad45
+
+
+#define EM_CYGNUS_FRV 0x5441
+
+
+#define EM_IP2K_OLD 0x8217
+
+#define EM_MT 0x2530
+
+
+
+#define EM_MSP430_OLD 0x1059
+
+
+#define EM_IQ2000 0xFEBA
+
+
+#define EM_XTENSA_OLD 0xabc7
+
+
+#define EM_ALPHA 0x9026
+
+
+#define EM_NIOS32 0xFEBB
+
+
+#define EM_AVR32 0x18ad
+
+
+#define EM_CYGNUS_V850 0x9080
+
+
+
+
+#define EM_MICROBLAZE_OLD 0xbaab
+
+
+#define EM_MICROBLAZE 189
+
+
+
+#define EV_NONE 0
+#define EV_CURRENT 1
+#define EV_NUM 2
+
+
+
+typedef struct
+{
+  Elf32_Word sh_name;
+  Elf32_Word sh_type;
+  Elf32_Word sh_flags;
+  Elf32_Addr sh_addr;
+  Elf32_Off sh_offset;
+  Elf32_Word sh_size;
+  Elf32_Word sh_link;
+  Elf32_Word sh_info;
+  Elf32_Word sh_addralign;
+  Elf32_Word sh_entsize;
+} Elf32_Shdr;
+
+typedef struct
+{
+  Elf64_Word sh_name;
+  Elf64_Word sh_type;
+  Elf64_Xword sh_flags;
+  Elf64_Addr sh_addr;
+  Elf64_Off sh_offset;
+  Elf64_Xword sh_size;
+  Elf64_Word sh_link;
+  Elf64_Word sh_info;
+  Elf64_Xword sh_addralign;
+  Elf64_Xword sh_entsize;
+} Elf64_Shdr;
+
+
+
+#define SHN_UNDEF 0
+#define SHN_LORESERVE 0xff00
+#define SHN_LOPROC 0xff00
+#define SHN_BEFORE 0xff00
+
+#define SHN_AFTER 0xff01
+
+#define SHN_HIPROC 0xff1f
+#define SHN_LOOS 0xff20
+#define SHN_HIOS 0xff3f
+#define SHN_ABS 0xfff1
+#define SHN_COMMON 0xfff2
+#define SHN_XINDEX 0xffff
+#define SHN_HIRESERVE 0xffff
+
+
+
+#define SHT_NULL 0
+#define SHT_PROGBITS 1
+#define SHT_SYMTAB 2
+#define SHT_STRTAB 3
+#define SHT_RELA 4
+#define SHT_HASH 5
+#define SHT_DYNAMIC 6
+#define SHT_NOTE 7
+#define SHT_NOBITS 8
+#define SHT_REL 9
+#define SHT_SHLIB 10
+#define SHT_DYNSYM 11
+#define SHT_INIT_ARRAY 14
+#define SHT_FINI_ARRAY 15
+#define SHT_PREINIT_ARRAY 16
+#define SHT_GROUP 17
+#define SHT_SYMTAB_SHNDX 18
+#define SHT_NUM 19
+#define SHT_LOOS 0x60000000
+#define SHT_GNU_HASH 0x6ffffff6
+#define SHT_GNU_LIBLIST 0x6ffffff7
+#define SHT_CHECKSUM 0x6ffffff8
+#define SHT_LOSUNW 0x6ffffffa
+#define SHT_SUNW_move 0x6ffffffa
+#define SHT_SUNW_COMDAT 0x6ffffffb
+#define SHT_SUNW_syminfo 0x6ffffffc
+#define SHT_GNU_verdef 0x6ffffffd
+#define SHT_GNU_verneed 0x6ffffffe
+#define SHT_GNU_versym 0x6fffffff
+#define SHT_HISUNW 0x6fffffff
+#define SHT_HIOS 0x6fffffff
+#define SHT_LOPROC 0x70000000
+#define SHT_HIPROC 0x7fffffff
+#define SHT_LOUSER 0x80000000
+#define SHT_HIUSER 0x8fffffff
+
+
+
+#define SHF_WRITE (1 << 0)
+#define SHF_ALLOC (1 << 1)
+#define SHF_EXECINSTR (1 << 2)
+#define SHF_MERGE (1 << 4)
+#define SHF_STRINGS (1 << 5)
+#define SHF_INFO_LINK (1 << 6)
+#define SHF_LINK_ORDER (1 << 7)
+#define SHF_OS_NONCONFORMING (1 << 8)
+
+#define SHF_GROUP (1 << 9)
+#define SHF_TLS (1 << 10)
+#define SHF_MASKOS 0x0ff00000
+#define SHF_MASKPROC 0xf0000000
+#define SHF_ORDERED (1 << 30)
+
+#define SHF_EXCLUDE (1 << 31)
+
+
+
+#define GRP_COMDAT 0x1
+
+
+
+typedef struct
+{
+  Elf32_Word st_name;
+  Elf32_Addr st_value;
+  Elf32_Word st_size;
+  unsigned char st_info;
+  unsigned char st_other;
+  Elf32_Section st_shndx;
+} Elf32_Sym;
+
+typedef struct
+{
+  Elf64_Word st_name;
+  unsigned char st_info;
+  unsigned char st_other;
+  Elf64_Section st_shndx;
+  Elf64_Addr st_value;
+  Elf64_Xword st_size;
+} Elf64_Sym;
+
+
+
+
+typedef struct
+{
+  Elf32_Half si_boundto;
+  Elf32_Half si_flags;
+} Elf32_Syminfo;
+
+typedef struct
+{
+  Elf64_Half si_boundto;
+  Elf64_Half si_flags;
+} Elf64_Syminfo;
+
+
+#define SYMINFO_BT_SELF 0xffff
+#define SYMINFO_BT_PARENT 0xfffe
+#define SYMINFO_BT_LOWRESERVE 0xff00
+
+
+#define SYMINFO_FLG_DIRECT 0x0001
+#define SYMINFO_FLG_PASSTHRU 0x0002
+#define SYMINFO_FLG_COPY 0x0004
+#define SYMINFO_FLG_LAZYLOAD 0x0008
+
+
+#define SYMINFO_NONE 0
+#define SYMINFO_CURRENT 1
+#define SYMINFO_NUM 2
+
+
+
+
+#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4)
+#define ELF32_ST_TYPE(val) ((val) & 0xf)
+#define ELF32_ST_INFO(bind,type) (((bind) << 4) + ((type) & 0xf))
+
+
+#define ELF64_ST_BIND(val) ELF32_ST_BIND (val)
+#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val)
+#define ELF64_ST_INFO(bind,type) ELF32_ST_INFO ((bind), (type))
+
+
+
+#define STB_LOCAL 0
+#define STB_GLOBAL 1
+#define STB_WEAK 2
+#define STB_NUM 3
+#define STB_LOOS 10
+#define STB_HIOS 12
+#define STB_LOPROC 13
+#define STB_HIPROC 15
+
+
+
+#define STT_NOTYPE 0
+#define STT_OBJECT 1
+#define STT_FUNC 2
+#define STT_SECTION 3
+#define STT_FILE 4
+#define STT_COMMON 5
+#define STT_TLS 6
+#define STT_NUM 7
+#define STT_LOOS 10
+#define STT_HIOS 12
+#define STT_LOPROC 13
+#define STT_HIPROC 15
+
+
+
+
+
+
+#define STN_UNDEF 0
+
+
+
+
+#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
+
+
+#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
+
+
+#define STV_DEFAULT 0
+#define STV_INTERNAL 1
+#define STV_HIDDEN 2
+#define STV_PROTECTED 3
+
+
+
+
+typedef struct
+{
+  Elf32_Addr r_offset;
+  Elf32_Word r_info;
+} Elf32_Rel;
+
+
+
+
+
+
+typedef struct
+{
+  Elf64_Addr r_offset;
+  Elf64_Xword r_info;
+} Elf64_Rel;
+
+
+
+typedef struct
+{
+  Elf32_Addr r_offset;
+  Elf32_Word r_info;
+  Elf32_Sword r_addend;
+} Elf32_Rela;
+
+typedef struct
+{
+  Elf64_Addr r_offset;
+  Elf64_Xword r_info;
+  Elf64_Sxword r_addend;
+} Elf64_Rela;
+
+
+
+#define ELF32_R_SYM(val) ((val) >> 8)
+#define ELF32_R_TYPE(val) ((val) & 0xff)
+#define ELF32_R_INFO(sym,type) (((sym) << 8) + ((type) & 0xff))
+
+#define ELF64_R_SYM(i) ((i) >> 32)
+#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type))
+
+
+
+typedef struct
+{
+  Elf32_Word p_type;
+  Elf32_Off p_offset;
+  Elf32_Addr p_vaddr;
+  Elf32_Addr p_paddr;
+  Elf32_Word p_filesz;
+  Elf32_Word p_memsz;
+  Elf32_Word p_flags;
+  Elf32_Word p_align;
+} Elf32_Phdr;
+
+typedef struct
+{
+  Elf64_Word p_type;
+  Elf64_Word p_flags;
+  Elf64_Off p_offset;
+  Elf64_Addr p_vaddr;
+  Elf64_Addr p_paddr;
+  Elf64_Xword p_filesz;
+  Elf64_Xword p_memsz;
+  Elf64_Xword p_align;
+} Elf64_Phdr;
+
+
+
+#define PT_NULL 0
+#define PT_LOAD 1
+#define PT_DYNAMIC 2
+#define PT_INTERP 3
+#define PT_NOTE 4
+#define PT_SHLIB 5
+#define PT_PHDR 6
+#define PT_TLS 7
+#define PT_NUM 8
+#define PT_LOOS 0x60000000
+#define PT_GNU_EH_FRAME 0x6474e550
+#define PT_GNU_STACK 0x6474e551
+#define PT_GNU_RELRO 0x6474e552
+#define PT_PAX_FLAGS 0x65041580
+#define PT_LOSUNW 0x6ffffffa
+#define PT_SUNWBSS 0x6ffffffa
+#define PT_SUNWSTACK 0x6ffffffb
+#define PT_HISUNW 0x6fffffff
+#define PT_HIOS 0x6fffffff
+#define PT_LOPROC 0x70000000
+#define PT_HIPROC 0x7fffffff
+
+
+
+#define PF_X (1 << 0)
+#define PF_W (1 << 1)
+#define PF_R (1 << 2)
+#define PF_PAGEEXEC (1 << 4)
+#define PF_NOPAGEEXEC (1 << 5)
+#define PF_SEGMEXEC (1 << 6)
+#define PF_NOSEGMEXEC (1 << 7)
+#define PF_MPROTECT (1 << 8)
+#define PF_NOMPROTECT (1 << 9)
+#define PF_RANDEXEC (1 << 10)
+#define PF_NORANDEXEC (1 << 11)
+#define PF_EMUTRAMP (1 << 12)
+#define PF_NOEMUTRAMP (1 << 13)
+#define PF_RANDMMAP (1 << 14)
+#define PF_NORANDMMAP (1 << 15)
+#define PF_MASKOS 0x0ff00000
+#define PF_MASKPROC 0xf0000000
+
+
+
+#define NT_PRSTATUS 1
+#define NT_FPREGSET 2
+#define NT_PRPSINFO 3
+#define NT_PRXREG 4
+#define NT_TASKSTRUCT 4
+#define NT_PLATFORM 5
+#define NT_AUXV 6
+#define NT_GWINDOWS 7
+#define NT_ASRS 8
+#define NT_PSTATUS 10
+#define NT_PSINFO 13
+#define NT_PRCRED 14
+#define NT_UTSNAME 15
+#define NT_LWPSTATUS 16
+#define NT_LWPSINFO 17
+#define NT_PRFPXREG 20
+
+
+
+#define NT_VERSION 1
+
+
+
+
+typedef struct
+{
+  Elf32_Sword d_tag;
+  union
+    {
+      Elf32_Word d_val;
+      Elf32_Addr d_ptr;
+    } d_un;
+} Elf32_Dyn;
+
+typedef struct
+{
+  Elf64_Sxword d_tag;
+  union
+    {
+      Elf64_Xword d_val;
+      Elf64_Addr d_ptr;
+    } d_un;
+} Elf64_Dyn;
+
+
+
+#define DT_NULL 0
+#define DT_NEEDED 1
+#define DT_PLTRELSZ 2
+#define DT_PLTGOT 3
+#define DT_HASH 4
+#define DT_STRTAB 5
+#define DT_SYMTAB 6
+#define DT_RELA 7
+#define DT_RELASZ 8
+#define DT_RELAENT 9
+#define DT_STRSZ 10
+#define DT_SYMENT 11
+#define DT_INIT 12
+#define DT_FINI 13
+#define DT_SONAME 14
+#define DT_RPATH 15
+#define DT_SYMBOLIC 16
+#define DT_REL 17
+#define DT_RELSZ 18
+#define DT_RELENT 19
+#define DT_PLTREL 20
+#define DT_DEBUG 21
+#define DT_TEXTREL 22
+#define DT_JMPREL 23
+#define DT_BIND_NOW 24
+#define DT_INIT_ARRAY 25
+#define DT_FINI_ARRAY 26
+#define DT_INIT_ARRAYSZ 27
+#define DT_FINI_ARRAYSZ 28
+#define DT_RUNPATH 29
+#define DT_FLAGS 30
+#define DT_ENCODING 32
+#define DT_PREINIT_ARRAY 32
+#define DT_PREINIT_ARRAYSZ 33
+#define DT_NUM 34
+#define DT_LOOS 0x6000000d
+#define DT_HIOS 0x6ffff000
+#define DT_LOPROC 0x70000000
+#define DT_HIPROC 0x7fffffff
+#define DT_PROCNUM DT_MIPS_NUM
+
+
+
+
+#define DT_VALRNGLO 0x6ffffd00
+#define DT_GNU_PRELINKED 0x6ffffdf5
+#define DT_GNU_CONFLICTSZ 0x6ffffdf6
+#define DT_GNU_LIBLISTSZ 0x6ffffdf7
+#define DT_CHECKSUM 0x6ffffdf8
+#define DT_PLTPADSZ 0x6ffffdf9
+#define DT_MOVEENT 0x6ffffdfa
+#define DT_MOVESZ 0x6ffffdfb
+#define DT_FEATURE_1 0x6ffffdfc
+#define DT_POSFLAG_1 0x6ffffdfd
+
+#define DT_SYMINSZ 0x6ffffdfe
+#define DT_SYMINENT 0x6ffffdff
+#define DT_VALRNGHI 0x6ffffdff
+#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag))
+#define DT_VALNUM 12
+
+
+
+
+
+
+#define DT_ADDRRNGLO 0x6ffffe00
+#define DT_GNU_HASH 0x6ffffef5
+#define DT_GNU_CONFLICT 0x6ffffef8
+#define DT_GNU_LIBLIST 0x6ffffef9
+#define DT_CONFIG 0x6ffffefa
+#define DT_DEPAUDIT 0x6ffffefb
+#define DT_AUDIT 0x6ffffefc
+#define DT_PLTPAD 0x6ffffefd
+#define DT_MOVETAB 0x6ffffefe
+#define DT_SYMINFO 0x6ffffeff
+#define DT_ADDRRNGHI 0x6ffffeff
+#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag))
+#define DT_ADDRNUM 10
+
+
+
+#define DT_VERSYM 0x6ffffff0
+
+#define DT_RELACOUNT 0x6ffffff9
+#define DT_RELCOUNT 0x6ffffffa
+
+
+#define DT_FLAGS_1 0x6ffffffb
+#define DT_VERDEF 0x6ffffffc
+
+#define DT_VERDEFNUM 0x6ffffffd
+#define DT_VERNEED 0x6ffffffe
+
+#define DT_VERNEEDNUM 0x6fffffff
+#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag))
+#define DT_VERSIONTAGNUM 16
+
+
+
+#define DT_AUXILIARY 0x7ffffffd
+#define DT_FILTER 0x7fffffff
+#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1)
+#define DT_EXTRANUM 3
+
+
+#define DF_ORIGIN 0x00000001
+#define DF_SYMBOLIC 0x00000002
+#define DF_TEXTREL 0x00000004
+#define DF_BIND_NOW 0x00000008
+#define DF_STATIC_TLS 0x00000010
+
+
+
+#define DF_1_NOW 0x00000001
+#define DF_1_GLOBAL 0x00000002
+#define DF_1_GROUP 0x00000004
+#define DF_1_NODELETE 0x00000008
+#define DF_1_LOADFLTR 0x00000010
+#define DF_1_INITFIRST 0x00000020
+#define DF_1_NOOPEN 0x00000040
+#define DF_1_ORIGIN 0x00000080
+#define DF_1_DIRECT 0x00000100
+#define DF_1_TRANS 0x00000200
+#define DF_1_INTERPOSE 0x00000400
+#define DF_1_NODEFLIB 0x00000800
+#define DF_1_NODUMP 0x00001000
+#define DF_1_CONFALT 0x00002000
+#define DF_1_ENDFILTEE 0x00004000
+#define DF_1_DISPRELDNE 0x00008000
+#define DF_1_DISPRELPND 0x00010000
+
+
+#define DTF_1_PARINIT 0x00000001
+#define DTF_1_CONFEXP 0x00000002
+
+
+#define DF_P1_LAZYLOAD 0x00000001
+#define DF_P1_GROUPPERM 0x00000002
+
+
+
+
+typedef struct
+{
+  Elf32_Half vd_version;
+  Elf32_Half vd_flags;
+  Elf32_Half vd_ndx;
+  Elf32_Half vd_cnt;
+  Elf32_Word vd_hash;
+  Elf32_Word vd_aux;
+  Elf32_Word vd_next;
+
+} Elf32_Verdef;
+
+typedef struct
+{
+  Elf64_Half vd_version;
+  Elf64_Half vd_flags;
+  Elf64_Half vd_ndx;
+  Elf64_Half vd_cnt;
+  Elf64_Word vd_hash;
+  Elf64_Word vd_aux;
+  Elf64_Word vd_next;
+
+} Elf64_Verdef;
+
+
+
+#define VER_DEF_NONE 0
+#define VER_DEF_CURRENT 1
+#define VER_DEF_NUM 2
+
+
+#define VER_FLG_BASE 0x1
+#define VER_FLG_WEAK 0x2
+
+
+#define VER_NDX_LOCAL 0
+#define VER_NDX_GLOBAL 1
+#define VER_NDX_LORESERVE 0xff00
+#define VER_NDX_ELIMINATE 0xff01
+
+
+
+typedef struct
+{
+  Elf32_Word vda_name;
+  Elf32_Word vda_next;
+
+} Elf32_Verdaux;
+
+typedef struct
+{
+  Elf64_Word vda_name;
+  Elf64_Word vda_next;
+
+} Elf64_Verdaux;
+
+
+
+
+typedef struct
+{
+  Elf32_Half vn_version;
+  Elf32_Half vn_cnt;
+  Elf32_Word vn_file;
+
+  Elf32_Word vn_aux;
+  Elf32_Word vn_next;
+
+} Elf32_Verneed;
+
+typedef struct
+{
+  Elf64_Half vn_version;
+  Elf64_Half vn_cnt;
+  Elf64_Word vn_file;
+
+  Elf64_Word vn_aux;
+  Elf64_Word vn_next;
+
+} Elf64_Verneed;
+
+
+
+#define VER_NEED_NONE 0
+#define VER_NEED_CURRENT 1
+#define VER_NEED_NUM 2
+
+
+
+typedef struct
+{
+  Elf32_Word vna_hash;
+  Elf32_Half vna_flags;
+  Elf32_Half vna_other;
+  Elf32_Word vna_name;
+  Elf32_Word vna_next;
+
+} Elf32_Vernaux;
+
+typedef struct
+{
+  Elf64_Word vna_hash;
+  Elf64_Half vna_flags;
+  Elf64_Half vna_other;
+  Elf64_Word vna_name;
+  Elf64_Word vna_next;
+
+} Elf64_Vernaux;
+
+
+
+#define VER_FLG_WEAK 0x2
+# 1035 "./include/elf.h"
+typedef struct
+{
+  uint32_t a_type;
+  union
+    {
+      uint32_t a_val;
+
+
+
+    } a_un;
+} Elf32_auxv_t;
+
+typedef struct
+{
+  uint64_t a_type;
+  union
+    {
+      uint64_t a_val;
+
+
+
+    } a_un;
+} Elf64_auxv_t;
+
+
+
+#define AT_NULL 0
+#define AT_IGNORE 1
+#define AT_EXECFD 2
+#define AT_PHDR 3
+#define AT_PHENT 4
+#define AT_PHNUM 5
+#define AT_PAGESZ 6
+#define AT_BASE 7
+#define AT_FLAGS 8
+#define AT_ENTRY 9
+#define AT_NOTELF 10
+#define AT_UID 11
+#define AT_EUID 12
+#define AT_GID 13
+#define AT_EGID 14
+#define AT_CLKTCK 17
+
+
+#define AT_PLATFORM 15
+#define AT_HWCAP 16
+
+
+
+
+#define AT_FPUCW 18
+
+
+#define AT_DCACHEBSIZE 19
+#define AT_ICACHEBSIZE 20
+#define AT_UCACHEBSIZE 21
+
+
+
+#define AT_IGNOREPPC 22
+
+#define AT_SECURE 23
+
+
+
+#define AT_SYSINFO 32
+#define AT_SYSINFO_EHDR 33
+
+
+
+#define AT_L1I_CACHESHAPE 34
+#define AT_L1D_CACHESHAPE 35
+#define AT_L2_CACHESHAPE 36
+#define AT_L3_CACHESHAPE 37
+
+
+
+
+typedef struct
+{
+  Elf32_Word n_namesz;
+  Elf32_Word n_descsz;
+  Elf32_Word n_type;
+} Elf32_Nhdr;
+
+typedef struct
+{
+  Elf64_Word n_namesz;
+  Elf64_Word n_descsz;
+  Elf64_Word n_type;
+} Elf64_Nhdr;
+
+
+
+
+#define ELF_NOTE_SOLARIS "SUNW Solaris"
+
+
+#define ELF_NOTE_GNU "GNU"
+
+
+
+
+
+#define ELF_NOTE_PAGESIZE_HINT 1
+# 1150 "./include/elf.h"
+#define ELF_NOTE_ABI 1
+
+
+
+#define ELF_NOTE_OS_LINUX 0
+#define ELF_NOTE_OS_GNU 1
+#define ELF_NOTE_OS_SOLARIS2 2
+#define ELF_NOTE_OS_FREEBSD 3
+
+
+
+typedef struct
+{
+  Elf32_Xword m_value;
+  Elf32_Word m_info;
+  Elf32_Word m_poffset;
+  Elf32_Half m_repeat;
+  Elf32_Half m_stride;
+} Elf32_Move;
+
+typedef struct
+{
+  Elf64_Xword m_value;
+  Elf64_Xword m_info;
+  Elf64_Xword m_poffset;
+  Elf64_Half m_repeat;
+  Elf64_Half m_stride;
+} Elf64_Move;
+
+
+#define ELF32_M_SYM(info) ((info) >> 8)
+#define ELF32_M_SIZE(info) ((unsigned char) (info))
+#define ELF32_M_INFO(sym,size) (((sym) << 8) + (unsigned char) (size))
+
+#define ELF64_M_SYM(info) ELF32_M_SYM (info)
+#define ELF64_M_SIZE(info) ELF32_M_SIZE (info)
+#define ELF64_M_INFO(sym,size) ELF32_M_INFO (sym, size)
+
+
+
+
+
+#define EF_CPU32 0x00810000
+
+
+
+#define R_68K_NONE 0
+#define R_68K_32 1
+#define R_68K_16 2
+#define R_68K_8 3
+#define R_68K_PC32 4
+#define R_68K_PC16 5
+#define R_68K_PC8 6
+#define R_68K_GOT32 7
+#define R_68K_GOT16 8
+#define R_68K_GOT8 9
+#define R_68K_GOT32O 10
+#define R_68K_GOT16O 11
+#define R_68K_GOT8O 12
+#define R_68K_PLT32 13
+#define R_68K_PLT16 14
+#define R_68K_PLT8 15
+#define R_68K_PLT32O 16
+#define R_68K_PLT16O 17
+#define R_68K_PLT8O 18
+#define R_68K_COPY 19
+#define R_68K_GLOB_DAT 20
+#define R_68K_JMP_SLOT 21
+#define R_68K_RELATIVE 22
+
+#define R_68K_NUM 23
+
+
+
+
+
+#define R_386_NONE 0
+#define R_386_32 1
+#define R_386_PC32 2
+#define R_386_GOT32 3
+#define R_386_PLT32 4
+#define R_386_COPY 5
+#define R_386_GLOB_DAT 6
+#define R_386_JMP_SLOT 7
+#define R_386_RELATIVE 8
+#define R_386_GOTOFF 9
+#define R_386_GOTPC 10
+#define R_386_32PLT 11
+#define R_386_TLS_TPOFF 14
+#define R_386_TLS_IE 15
+
+#define R_386_TLS_GOTIE 16
+
+#define R_386_TLS_LE 17
+
+#define R_386_TLS_GD 18
+
+#define R_386_TLS_LDM 19
+
+
+#define R_386_16 20
+#define R_386_PC16 21
+#define R_386_8 22
+#define R_386_PC8 23
+#define R_386_TLS_GD_32 24
+
+#define R_386_TLS_GD_PUSH 25
+#define R_386_TLS_GD_CALL 26
+
+#define R_386_TLS_GD_POP 27
+#define R_386_TLS_LDM_32 28
+
+#define R_386_TLS_LDM_PUSH 29
+#define R_386_TLS_LDM_CALL 30
+
+#define R_386_TLS_LDM_POP 31
+#define R_386_TLS_LDO_32 32
+#define R_386_TLS_IE_32 33
+
+#define R_386_TLS_LE_32 34
+
+#define R_386_TLS_DTPMOD32 35
+#define R_386_TLS_DTPOFF32 36
+#define R_386_TLS_TPOFF32 37
+
+#define R_386_NUM 38
+
+
+#define R_BFIN_UNUSED0 0x00
+#define R_BFIN_PCREL5M2 0x01
+#define R_BFIN_UNUSED1 0x02
+#define R_BFIN_PCREL10 0x03
+#define R_BFIN_PCREL12_JUMP 0x04
+#define R_BFIN_RIMM16 0x05
+#define R_BFIN_LUIMM16 0x06
+#define R_BFIN_HUIMM16 0x07
+#define R_BFIN_PCREL12_JUMP_S 0x08
+#define R_BFIN_PCREL24_JUMP_X 0x09
+#define R_BFIN_PCREL24 0x0a
+#define R_BFIN_UNUSEDB 0x0b
+#define R_BFIN_UNUSEDC 0x0c
+#define R_BFIN_PCREL24_JUMP_L 0x0d
+#define R_BFIN_PCREL24_CALL_X 0x0e
+#define R_BFIN_var_eq_symb 0x0f
+#define R_BFIN_BYTE_DATA 0x10
+#define R_BFIN_BYTE2_DATA 0x11
+#define R_BFIN_BYTE4_DATA 0x12
+#define R_BFIN_PCREL11 0x13
+
+#define R_BFIN_GOT17M4 0x14
+#define R_BFIN_GOTHI 0x15
+#define R_BFIN_GOTLO 0x16
+#define R_BFIN_FUNCDESC 0x17
+#define R_BFIN_FUNCDESC_GOT17M4 0x18
+#define R_BFIN_FUNCDESC_GOTHI 0x19
+#define R_BFIN_FUNCDESC_GOTLO 0x1a
+#define R_BFIN_FUNCDESC_VALUE 0x1b
+#define R_BFIN_FUNCDESC_GOTOFF17M4 0x1c
+#define R_BFIN_FUNCDESC_GOTOFFHI 0x1d
+#define R_BFIN_FUNCDESC_GOTOFFLO 0x1e
+#define R_BFIN_GOTOFF17M4 0x1f
+#define R_BFIN_GOTOFFHI 0x20
+#define R_BFIN_GOTOFFLO 0x21
+
+#define EF_BFIN_PIC 0x00000001
+#define EF_BFIN_FDPIC 0x00000002
+#define EF_BFIN_CODE_IN_L1 0x00000010
+#define EF_BFIN_DATA_IN_L1 0x00000020
+
+
+#define R_FRV_NONE 0
+#define R_FRV_32 1
+
+#define R_FRV_FUNCDESC 14
+
+#define R_FRV_FUNCDESC_VALUE 18
+
+
+#define EF_FRV_GPR_MASK 0x00000003
+#define EF_FRV_GPR_32 0x00000001
+#define EF_FRV_GPR_64 0x00000002
+
+
+#define EF_FRV_FPR_MASK 0x0000000c
+#define EF_FRV_FPR_32 0x00000004
+#define EF_FRV_FPR_64 0x00000008
+#define EF_FRV_FPR_NONE 0x0000000c
+
+#define EF_FRV_PIC 0x00000100
+#define EF_FRV_FDPIC 0x00008000
+
+
+
+
+
+#define STT_SPARC_REGISTER 13
+
+
+
+#define EF_SPARCV9_MM 3
+#define EF_SPARCV9_TSO 0
+#define EF_SPARCV9_PSO 1
+#define EF_SPARCV9_RMO 2
+#define EF_SPARC_LEDATA 0x800000
+#define EF_SPARC_EXT_MASK 0xFFFF00
+#define EF_SPARC_32PLUS 0x000100
+#define EF_SPARC_SUN_US1 0x000200
+#define EF_SPARC_HAL_R1 0x000400
+#define EF_SPARC_SUN_US3 0x000800
+
+
+
+#define R_SPARC_NONE 0
+#define R_SPARC_8 1
+#define R_SPARC_16 2
+#define R_SPARC_32 3
+#define R_SPARC_DISP8 4
+#define R_SPARC_DISP16 5
+#define R_SPARC_DISP32 6
+#define R_SPARC_WDISP30 7
+#define R_SPARC_WDISP22 8
+#define R_SPARC_HI22 9
+#define R_SPARC_22 10
+#define R_SPARC_13 11
+#define R_SPARC_LO10 12
+#define R_SPARC_GOT10 13
+#define R_SPARC_GOT13 14
+#define R_SPARC_GOT22 15
+#define R_SPARC_PC10 16
+#define R_SPARC_PC22 17
+#define R_SPARC_WPLT30 18
+#define R_SPARC_COPY 19
+#define R_SPARC_GLOB_DAT 20
+#define R_SPARC_JMP_SLOT 21
+#define R_SPARC_RELATIVE 22
+#define R_SPARC_UA32 23
+
+
+
+#define R_SPARC_PLT32 24
+#define R_SPARC_HIPLT22 25
+#define R_SPARC_LOPLT10 26
+#define R_SPARC_PCPLT32 27
+#define R_SPARC_PCPLT22 28
+#define R_SPARC_PCPLT10 29
+#define R_SPARC_10 30
+#define R_SPARC_11 31
+#define R_SPARC_64 32
+#define R_SPARC_OLO10 33
+#define R_SPARC_HH22 34
+#define R_SPARC_HM10 35
+#define R_SPARC_LM22 36
+#define R_SPARC_PC_HH22 37
+#define R_SPARC_PC_HM10 38
+#define R_SPARC_PC_LM22 39
+#define R_SPARC_WDISP16 40
+#define R_SPARC_WDISP19 41
+#define R_SPARC_7 43
+#define R_SPARC_5 44
+#define R_SPARC_6 45
+#define R_SPARC_DISP64 46
+#define R_SPARC_PLT64 47
+#define R_SPARC_HIX22 48
+#define R_SPARC_LOX10 49
+#define R_SPARC_H44 50
+#define R_SPARC_M44 51
+#define R_SPARC_L44 52
+#define R_SPARC_REGISTER 53
+#define R_SPARC_UA64 54
+#define R_SPARC_UA16 55
+#define R_SPARC_TLS_GD_HI22 56
+#define R_SPARC_TLS_GD_LO10 57
+#define R_SPARC_TLS_GD_ADD 58
+#define R_SPARC_TLS_GD_CALL 59
+#define R_SPARC_TLS_LDM_HI22 60
+#define R_SPARC_TLS_LDM_LO10 61
+#define R_SPARC_TLS_LDM_ADD 62
+#define R_SPARC_TLS_LDM_CALL 63
+#define R_SPARC_TLS_LDO_HIX22 64
+#define R_SPARC_TLS_LDO_LOX10 65
+#define R_SPARC_TLS_LDO_ADD 66
+#define R_SPARC_TLS_IE_HI22 67
+#define R_SPARC_TLS_IE_LO10 68
+#define R_SPARC_TLS_IE_LD 69
+#define R_SPARC_TLS_IE_LDX 70
+#define R_SPARC_TLS_IE_ADD 71
+#define R_SPARC_TLS_LE_HIX22 72
+#define R_SPARC_TLS_LE_LOX10 73
+#define R_SPARC_TLS_DTPMOD32 74
+#define R_SPARC_TLS_DTPMOD64 75
+#define R_SPARC_TLS_DTPOFF32 76
+#define R_SPARC_TLS_DTPOFF64 77
+#define R_SPARC_TLS_TPOFF32 78
+#define R_SPARC_TLS_TPOFF64 79
+
+#define R_SPARC_NUM 80
+
+
+
+#define DT_SPARC_REGISTER 0x70000001
+#define DT_SPARC_NUM 2
+
+
+
+#define HWCAP_SPARC_FLUSH 1
+#define HWCAP_SPARC_STBAR 2
+#define HWCAP_SPARC_SWAP 4
+#define HWCAP_SPARC_MULDIV 8
+#define HWCAP_SPARC_V9 16
+#define HWCAP_SPARC_ULTRA3 32
+
+
+
+
+
+#define EF_MIPS_NOREORDER 1
+#define EF_MIPS_PIC 2
+#define EF_MIPS_CPIC 4
+#define EF_MIPS_XGOT 8
+#define EF_MIPS_64BIT_WHIRL 16
+#define EF_MIPS_ABI2 32
+#define EF_MIPS_ABI_ON32 64
+#define EF_MIPS_ARCH 0xf0000000
+
+
+
+#define EF_MIPS_ARCH_1 0x00000000
+#define EF_MIPS_ARCH_2 0x10000000
+#define EF_MIPS_ARCH_3 0x20000000
+#define EF_MIPS_ARCH_4 0x30000000
+#define EF_MIPS_ARCH_5 0x40000000
+#define EF_MIPS_ARCH_32 0x60000000
+#define EF_MIPS_ARCH_64 0x70000000
+
+
+
+#define E_MIPS_ARCH_1 0x00000000
+#define E_MIPS_ARCH_2 0x10000000
+#define E_MIPS_ARCH_3 0x20000000
+#define E_MIPS_ARCH_4 0x30000000
+#define E_MIPS_ARCH_5 0x40000000
+#define E_MIPS_ARCH_32 0x60000000
+#define E_MIPS_ARCH_64 0x70000000
+
+
+
+#define SHN_MIPS_ACOMMON 0xff00
+#define SHN_MIPS_TEXT 0xff01
+#define SHN_MIPS_DATA 0xff02
+#define SHN_MIPS_SCOMMON 0xff03
+#define SHN_MIPS_SUNDEFINED 0xff04
+
+
+
+#define SHT_MIPS_LIBLIST 0x70000000
+#define SHT_MIPS_MSYM 0x70000001
+#define SHT_MIPS_CONFLICT 0x70000002
+#define SHT_MIPS_GPTAB 0x70000003
+#define SHT_MIPS_UCODE 0x70000004
+#define SHT_MIPS_DEBUG 0x70000005
+#define SHT_MIPS_REGINFO 0x70000006
+#define SHT_MIPS_PACKAGE 0x70000007
+#define SHT_MIPS_PACKSYM 0x70000008
+#define SHT_MIPS_RELD 0x70000009
+#define SHT_MIPS_IFACE 0x7000000b
+#define SHT_MIPS_CONTENT 0x7000000c
+#define SHT_MIPS_OPTIONS 0x7000000d
+#define SHT_MIPS_SHDR 0x70000010
+#define SHT_MIPS_FDESC 0x70000011
+#define SHT_MIPS_EXTSYM 0x70000012
+#define SHT_MIPS_DENSE 0x70000013
+#define SHT_MIPS_PDESC 0x70000014
+#define SHT_MIPS_LOCSYM 0x70000015
+#define SHT_MIPS_AUXSYM 0x70000016
+#define SHT_MIPS_OPTSYM 0x70000017
+#define SHT_MIPS_LOCSTR 0x70000018
+#define SHT_MIPS_LINE 0x70000019
+#define SHT_MIPS_RFDESC 0x7000001a
+#define SHT_MIPS_DELTASYM 0x7000001b
+#define SHT_MIPS_DELTAINST 0x7000001c
+#define SHT_MIPS_DELTACLASS 0x7000001d
+#define SHT_MIPS_DWARF 0x7000001e
+#define SHT_MIPS_DELTADECL 0x7000001f
+#define SHT_MIPS_SYMBOL_LIB 0x70000020
+#define SHT_MIPS_EVENTS 0x70000021
+#define SHT_MIPS_TRANSLATE 0x70000022
+#define SHT_MIPS_PIXIE 0x70000023
+#define SHT_MIPS_XLATE 0x70000024
+#define SHT_MIPS_XLATE_DEBUG 0x70000025
+#define SHT_MIPS_WHIRL 0x70000026
+#define SHT_MIPS_EH_REGION 0x70000027
+#define SHT_MIPS_XLATE_OLD 0x70000028
+#define SHT_MIPS_PDR_EXCEPTION 0x70000029
+
+
+
+#define SHF_MIPS_GPREL 0x10000000
+#define SHF_MIPS_MERGE 0x20000000
+#define SHF_MIPS_ADDR 0x40000000
+#define SHF_MIPS_STRINGS 0x80000000
+#define SHF_MIPS_NOSTRIP 0x08000000
+#define SHF_MIPS_LOCAL 0x04000000
+#define SHF_MIPS_NAMES 0x02000000
+#define SHF_MIPS_NODUPE 0x01000000
+
+
+
+
+
+#define STO_MIPS_DEFAULT 0x0
+#define STO_MIPS_INTERNAL 0x1
+#define STO_MIPS_HIDDEN 0x2
+#define STO_MIPS_PROTECTED 0x3
+#define STO_MIPS_PLT 0x8
+#define STO_MIPS_SC_ALIGN_UNUSED 0xff
+
+
+#define STB_MIPS_SPLIT_COMMON 13
+
+
+
+typedef union
+{
+  struct
+    {
+      Elf32_Word gt_current_g_value;
+      Elf32_Word gt_unused;
+    } gt_header;
+  struct
+    {
+      Elf32_Word gt_g_value;
+      Elf32_Word gt_bytes;
+    } gt_entry;
+} Elf32_gptab;
+
+
+
+typedef struct
+{
+  Elf32_Word ri_gprmask;
+  Elf32_Word ri_cprmask[4];
+  Elf32_Sword ri_gp_value;
+} Elf32_RegInfo;
+
+
+
+typedef struct
+{
+  unsigned char kind;
+
+  unsigned char size;
+  Elf32_Section section;
+
+  Elf32_Word info;
+} Elf_Options;
+
+
+
+#define ODK_NULL 0
+#define ODK_REGINFO 1
+#define ODK_EXCEPTIONS 2
+#define ODK_PAD 3
+#define ODK_HWPATCH 4
+#define ODK_FILL 5
+#define ODK_TAGS 6
+#define ODK_HWAND 7
+#define ODK_HWOR 8
+
+
+
+#define OEX_FPU_MIN 0x1f
+#define OEX_FPU_MAX 0x1f00
+#define OEX_PAGE0 0x10000
+#define OEX_SMM 0x20000
+#define OEX_FPDBUG 0x40000
+#define OEX_PRECISEFP OEX_FPDBUG
+#define OEX_DISMISS 0x80000
+
+#define OEX_FPU_INVAL 0x10
+#define OEX_FPU_DIV0 0x08
+#define OEX_FPU_OFLO 0x04
+#define OEX_FPU_UFLO 0x02
+#define OEX_FPU_INEX 0x01
+
+
+
+#define OHW_R4KEOP 0x1
+#define OHW_R8KPFETCH 0x2
+#define OHW_R5KEOP 0x4
+#define OHW_R5KCVTL 0x8
+
+#define OPAD_PREFIX 0x1
+#define OPAD_POSTFIX 0x2
+#define OPAD_SYMBOL 0x4
+
+
+
+typedef struct
+{
+  Elf32_Word hwp_flags1;
+  Elf32_Word hwp_flags2;
+} Elf_Options_Hw;
+
+
+
+#define OHWA0_R4KEOP_CHECKED 0x00000001
+#define OHWA1_R4KEOP_CLEAN 0x00000002
+
+
+
+#define R_MIPS_NONE 0
+#define R_MIPS_16 1
+#define R_MIPS_32 2
+#define R_MIPS_REL32 3
+#define R_MIPS_26 4
+#define R_MIPS_HI16 5
+#define R_MIPS_LO16 6
+#define R_MIPS_GPREL16 7
+#define R_MIPS_LITERAL 8
+#define R_MIPS_GOT16 9
+#define R_MIPS_PC16 10
+#define R_MIPS_CALL16 11
+#define R_MIPS_GPREL32 12
+
+#define R_MIPS_SHIFT5 16
+#define R_MIPS_SHIFT6 17
+#define R_MIPS_64 18
+#define R_MIPS_GOT_DISP 19
+#define R_MIPS_GOT_PAGE 20
+#define R_MIPS_GOT_OFST 21
+#define R_MIPS_GOT_HI16 22
+#define R_MIPS_GOT_LO16 23
+#define R_MIPS_SUB 24
+#define R_MIPS_INSERT_A 25
+#define R_MIPS_INSERT_B 26
+#define R_MIPS_DELETE 27
+#define R_MIPS_HIGHER 28
+#define R_MIPS_HIGHEST 29
+#define R_MIPS_CALL_HI16 30
+#define R_MIPS_CALL_LO16 31
+#define R_MIPS_SCN_DISP 32
+#define R_MIPS_REL16 33
+#define R_MIPS_ADD_IMMEDIATE 34
+#define R_MIPS_PJUMP 35
+#define R_MIPS_RELGOT 36
+#define R_MIPS_JALR 37
+#define R_MIPS_TLS_DTPMOD32 38
+#define R_MIPS_TLS_DTPREL32 39
+#define R_MIPS_TLS_DTPMOD64 40
+#define R_MIPS_TLS_DTPREL64 41
+#define R_MIPS_TLS_GD 42
+#define R_MIPS_TLS_LDM 43
+#define R_MIPS_TLS_DTPREL_HI16 44
+#define R_MIPS_TLS_DTPREL_LO16 45
+#define R_MIPS_TLS_GOTTPREL 46
+#define R_MIPS_TLS_TPREL32 47
+#define R_MIPS_TLS_TPREL64 48
+#define R_MIPS_TLS_TPREL_HI16 49
+#define R_MIPS_TLS_TPREL_LO16 50
+#define R_MIPS_GLOB_DAT 51
+#define R_MIPS_COPY 126
+#define R_MIPS_JUMP_SLOT 127
+
+#define R_MIPS_NUM 128
+
+
+
+#define PT_MIPS_REGINFO 0x70000000
+#define PT_MIPS_RTPROC 0x70000001
+#define PT_MIPS_OPTIONS 0x70000002
+
+
+
+#define PF_MIPS_LOCAL 0x10000000
+
+
+
+#define DT_MIPS_RLD_VERSION 0x70000001
+#define DT_MIPS_TIME_STAMP 0x70000002
+#define DT_MIPS_ICHECKSUM 0x70000003
+#define DT_MIPS_IVERSION 0x70000004
+#define DT_MIPS_FLAGS 0x70000005
+#define DT_MIPS_BASE_ADDRESS 0x70000006
+#define DT_MIPS_MSYM 0x70000007
+#define DT_MIPS_CONFLICT 0x70000008
+#define DT_MIPS_LIBLIST 0x70000009
+#define DT_MIPS_LOCAL_GOTNO 0x7000000a
+#define DT_MIPS_CONFLICTNO 0x7000000b
+#define DT_MIPS_LIBLISTNO 0x70000010
+#define DT_MIPS_SYMTABNO 0x70000011
+#define DT_MIPS_UNREFEXTNO 0x70000012
+#define DT_MIPS_GOTSYM 0x70000013
+#define DT_MIPS_HIPAGENO 0x70000014
+#define DT_MIPS_RLD_MAP 0x70000016
+#define DT_MIPS_DELTA_CLASS 0x70000017
+#define DT_MIPS_DELTA_CLASS_NO 0x70000018
+
+#define DT_MIPS_DELTA_INSTANCE 0x70000019
+#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a
+
+#define DT_MIPS_DELTA_RELOC 0x7000001b
+#define DT_MIPS_DELTA_RELOC_NO 0x7000001c
+
+#define DT_MIPS_DELTA_SYM 0x7000001d
+
+#define DT_MIPS_DELTA_SYM_NO 0x7000001e
+
+#define DT_MIPS_DELTA_CLASSSYM 0x70000020
+
+#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021
+
+#define DT_MIPS_CXX_FLAGS 0x70000022
+#define DT_MIPS_PIXIE_INIT 0x70000023
+#define DT_MIPS_SYMBOL_LIB 0x70000024
+#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025
+#define DT_MIPS_LOCAL_GOTIDX 0x70000026
+#define DT_MIPS_HIDDEN_GOTIDX 0x70000027
+#define DT_MIPS_PROTECTED_GOTIDX 0x70000028
+#define DT_MIPS_OPTIONS 0x70000029
+#define DT_MIPS_INTERFACE 0x7000002a
+#define DT_MIPS_DYNSTR_ALIGN 0x7000002b
+#define DT_MIPS_INTERFACE_SIZE 0x7000002c
+#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d
+
+#define DT_MIPS_PERF_SUFFIX 0x7000002e
+
+#define DT_MIPS_COMPACT_SIZE 0x7000002f
+#define DT_MIPS_GP_VALUE 0x70000030
+#define DT_MIPS_AUX_DYNAMIC 0x70000031
+
+#define DT_MIPS_PLTGOT 0x70000032
+
+
+
+#define DT_MIPS_RWPLT 0x70000034
+#define DT_MIPS_NUM 0x35
+
+
+
+#define RHF_NONE 0
+#define RHF_QUICKSTART (1 << 0)
+#define RHF_NOTPOT (1 << 1)
+#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2)
+#define RHF_NO_MOVE (1 << 3)
+#define RHF_SGI_ONLY (1 << 4)
+#define RHF_GUARANTEE_INIT (1 << 5)
+#define RHF_DELTA_C_PLUS_PLUS (1 << 6)
+#define RHF_GUARANTEE_START_INIT (1 << 7)
+#define RHF_PIXIE (1 << 8)
+#define RHF_DEFAULT_DELAY_LOAD (1 << 9)
+#define RHF_REQUICKSTART (1 << 10)
+#define RHF_REQUICKSTARTED (1 << 11)
+#define RHF_CORD (1 << 12)
+#define RHF_NO_UNRES_UNDEF (1 << 13)
+#define RHF_RLD_ORDER_SAFE (1 << 14)
+
+
+
+typedef struct
+{
+  Elf32_Word l_name;
+  Elf32_Word l_time_stamp;
+  Elf32_Word l_checksum;
+  Elf32_Word l_version;
+  Elf32_Word l_flags;
+} Elf32_Lib;
+
+typedef struct
+{
+  Elf64_Word l_name;
+  Elf64_Word l_time_stamp;
+  Elf64_Word l_checksum;
+  Elf64_Word l_version;
+  Elf64_Word l_flags;
+} Elf64_Lib;
+
+
+
+
+#define LL_NONE 0
+#define LL_EXACT_MATCH (1 << 0)
+#define LL_IGNORE_INT_VER (1 << 1)
+#define LL_REQUIRE_MINOR (1 << 2)
+#define LL_EXPORTS (1 << 3)
+#define LL_DELAY_LOAD (1 << 4)
+#define LL_DELTA (1 << 5)
+
+
+
+typedef Elf32_Addr Elf32_Conflict;
+
+
+
+
+
+
+#define EF_PARISC_TRAPNIL 0x00010000
+#define EF_PARISC_EXT 0x00020000
+#define EF_PARISC_LSB 0x00040000
+#define EF_PARISC_WIDE 0x00080000
+#define EF_PARISC_NO_KABP 0x00100000
+
+#define EF_PARISC_LAZYSWAP 0x00400000
+#define EF_PARISC_ARCH 0x0000ffff
+
+
+
+#define EFA_PARISC_1_0 0x020b
+#define EFA_PARISC_1_1 0x0210
+#define EFA_PARISC_2_0 0x0214
+
+
+
+#define SHN_PARISC_ANSI_COMMON 0xff00
+
+#define SHN_PARISC_HUGE_COMMON 0xff01
+
+
+
+#define SHT_PARISC_EXT 0x70000000
+#define SHT_PARISC_UNWIND 0x70000001
+#define SHT_PARISC_DOC 0x70000002
+
+
+
+#define SHF_PARISC_SHORT 0x20000000
+#define SHF_PARISC_HUGE 0x40000000
+#define SHF_PARISC_SBP 0x80000000
+
+
+
+#define STT_PARISC_MILLICODE 13
+
+#define STT_HP_OPAQUE (STT_LOOS + 0x1)
+#define STT_HP_STUB (STT_LOOS + 0x2)
+
+
+
+#define R_PARISC_NONE 0
+#define R_PARISC_DIR32 1
+#define R_PARISC_DIR21L 2
+#define R_PARISC_DIR17R 3
+#define R_PARISC_DIR17F 4
+#define R_PARISC_DIR14R 6
+#define R_PARISC_PCREL32 9
+#define R_PARISC_PCREL21L 10
+#define R_PARISC_PCREL17R 11
+#define R_PARISC_PCREL17F 12
+#define R_PARISC_PCREL14R 14
+#define R_PARISC_DPREL21L 18
+#define R_PARISC_DPREL14R 22
+#define R_PARISC_GPREL21L 26
+#define R_PARISC_GPREL14R 30
+#define R_PARISC_LTOFF21L 34
+#define R_PARISC_LTOFF14R 38
+#define R_PARISC_SECREL32 41
+#define R_PARISC_SEGBASE 48
+#define R_PARISC_SEGREL32 49
+#define R_PARISC_PLTOFF21L 50
+#define R_PARISC_PLTOFF14R 54
+#define R_PARISC_LTOFF_FPTR32 57
+#define R_PARISC_LTOFF_FPTR21L 58
+#define R_PARISC_LTOFF_FPTR14R 62
+#define R_PARISC_FPTR64 64
+#define R_PARISC_PLABEL32 65
+#define R_PARISC_PCREL64 72
+#define R_PARISC_PCREL22F 74
+#define R_PARISC_PCREL14WR 75
+#define R_PARISC_PCREL14DR 76
+#define R_PARISC_PCREL16F 77
+#define R_PARISC_PCREL16WF 78
+#define R_PARISC_PCREL16DF 79
+#define R_PARISC_DIR64 80
+#define R_PARISC_DIR14WR 83
+#define R_PARISC_DIR14DR 84
+#define R_PARISC_DIR16F 85
+#define R_PARISC_DIR16WF 86
+#define R_PARISC_DIR16DF 87
+#define R_PARISC_GPREL64 88
+#define R_PARISC_GPREL14WR 91
+#define R_PARISC_GPREL14DR 92
+#define R_PARISC_GPREL16F 93
+#define R_PARISC_GPREL16WF 94
+#define R_PARISC_GPREL16DF 95
+#define R_PARISC_LTOFF64 96
+#define R_PARISC_LTOFF14WR 99
+#define R_PARISC_LTOFF14DR 100
+#define R_PARISC_LTOFF16F 101
+#define R_PARISC_LTOFF16WF 102
+#define R_PARISC_LTOFF16DF 103
+#define R_PARISC_SECREL64 104
+#define R_PARISC_SEGREL64 112
+#define R_PARISC_PLTOFF14WR 115
+#define R_PARISC_PLTOFF14DR 116
+#define R_PARISC_PLTOFF16F 117
+#define R_PARISC_PLTOFF16WF 118
+#define R_PARISC_PLTOFF16DF 119
+#define R_PARISC_LTOFF_FPTR64 120
+#define R_PARISC_LTOFF_FPTR14WR 123
+#define R_PARISC_LTOFF_FPTR14DR 124
+#define R_PARISC_LTOFF_FPTR16F 125
+#define R_PARISC_LTOFF_FPTR16WF 126
+#define R_PARISC_LTOFF_FPTR16DF 127
+#define R_PARISC_LORESERVE 128
+#define R_PARISC_COPY 128
+#define R_PARISC_IPLT 129
+#define R_PARISC_EPLT 130
+#define R_PARISC_TPREL32 153
+#define R_PARISC_TPREL21L 154
+#define R_PARISC_TPREL14R 158
+#define R_PARISC_LTOFF_TP21L 162
+#define R_PARISC_LTOFF_TP14R 166
+#define R_PARISC_LTOFF_TP14F 167
+#define R_PARISC_TPREL64 216
+#define R_PARISC_TPREL14WR 219
+#define R_PARISC_TPREL14DR 220
+#define R_PARISC_TPREL16F 221
+#define R_PARISC_TPREL16WF 222
+#define R_PARISC_TPREL16DF 223
+#define R_PARISC_LTOFF_TP64 224
+#define R_PARISC_LTOFF_TP14WR 227
+#define R_PARISC_LTOFF_TP14DR 228
+#define R_PARISC_LTOFF_TP16F 229
+#define R_PARISC_LTOFF_TP16WF 230
+#define R_PARISC_LTOFF_TP16DF 231
+#define R_PARISC_HIRESERVE 255
+
+
+
+#define PT_HP_TLS (PT_LOOS + 0x0)
+#define PT_HP_CORE_NONE (PT_LOOS + 0x1)
+#define PT_HP_CORE_VERSION (PT_LOOS + 0x2)
+#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3)
+#define PT_HP_CORE_COMM (PT_LOOS + 0x4)
+#define PT_HP_CORE_PROC (PT_LOOS + 0x5)
+#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6)
+#define PT_HP_CORE_STACK (PT_LOOS + 0x7)
+#define PT_HP_CORE_SHM (PT_LOOS + 0x8)
+#define PT_HP_CORE_MMF (PT_LOOS + 0x9)
+#define PT_HP_PARALLEL (PT_LOOS + 0x10)
+#define PT_HP_FASTBIND (PT_LOOS + 0x11)
+#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12)
+#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13)
+#define PT_HP_STACK (PT_LOOS + 0x14)
+
+#define PT_PARISC_ARCHEXT 0x70000000
+#define PT_PARISC_UNWIND 0x70000001
+
+
+
+#define PF_PARISC_SBP 0x08000000
+
+#define PF_HP_PAGE_SIZE 0x00100000
+#define PF_HP_FAR_SHARED 0x00200000
+#define PF_HP_NEAR_SHARED 0x00400000
+#define PF_HP_CODE 0x01000000
+#define PF_HP_MODIFY 0x02000000
+#define PF_HP_LAZYSWAP 0x04000000
+#define PF_HP_SBP 0x08000000
+
+
+
+
+
+
+#define EF_ALPHA_32BIT 1
+#define EF_ALPHA_CANRELAX 2
+
+
+
+
+#define SHT_ALPHA_DEBUG 0x70000001
+#define SHT_ALPHA_REGINFO 0x70000002
+
+
+
+#define SHF_ALPHA_GPREL 0x10000000
+
+
+#define STO_ALPHA_NOPV 0x80
+#define STO_ALPHA_STD_GPLOAD 0x88
+
+
+
+#define R_ALPHA_NONE 0
+#define R_ALPHA_REFLONG 1
+#define R_ALPHA_REFQUAD 2
+#define R_ALPHA_GPREL32 3
+#define R_ALPHA_LITERAL 4
+#define R_ALPHA_LITUSE 5
+#define R_ALPHA_GPDISP 6
+#define R_ALPHA_BRADDR 7
+#define R_ALPHA_HINT 8
+#define R_ALPHA_SREL16 9
+#define R_ALPHA_SREL32 10
+#define R_ALPHA_SREL64 11
+#define R_ALPHA_GPRELHIGH 17
+#define R_ALPHA_GPRELLOW 18
+#define R_ALPHA_GPREL16 19
+#define R_ALPHA_COPY 24
+#define R_ALPHA_GLOB_DAT 25
+#define R_ALPHA_JMP_SLOT 26
+#define R_ALPHA_RELATIVE 27
+#define R_ALPHA_TLS_GD_HI 28
+#define R_ALPHA_TLSGD 29
+#define R_ALPHA_TLS_LDM 30
+#define R_ALPHA_DTPMOD64 31
+#define R_ALPHA_GOTDTPREL 32
+#define R_ALPHA_DTPREL64 33
+#define R_ALPHA_DTPRELHI 34
+#define R_ALPHA_DTPRELLO 35
+#define R_ALPHA_DTPREL16 36
+#define R_ALPHA_GOTTPREL 37
+#define R_ALPHA_TPREL64 38
+#define R_ALPHA_TPRELHI 39
+#define R_ALPHA_TPRELLO 40
+#define R_ALPHA_TPREL16 41
+
+#define R_ALPHA_NUM 46
+
+
+#define LITUSE_ALPHA_ADDR 0
+#define LITUSE_ALPHA_BASE 1
+#define LITUSE_ALPHA_BYTOFF 2
+#define LITUSE_ALPHA_JSR 3
+#define LITUSE_ALPHA_TLS_GD 4
+#define LITUSE_ALPHA_TLS_LDM 5
+
+
+#define DT_ALPHA_PLTRO (DT_LOPROC + 0)
+#define DT_ALPHA_NUM 1
+
+
+
+
+#define EF_PPC_EMB 0x80000000
+
+
+#define EF_PPC_RELOCATABLE 0x00010000
+#define EF_PPC_RELOCATABLE_LIB 0x00008000
+
+
+
+#define R_PPC_NONE 0
+#define R_PPC_ADDR32 1
+#define R_PPC_ADDR24 2
+#define R_PPC_ADDR16 3
+#define R_PPC_ADDR16_LO 4
+#define R_PPC_ADDR16_HI 5
+#define R_PPC_ADDR16_HA 6
+#define R_PPC_ADDR14 7
+#define R_PPC_ADDR14_BRTAKEN 8
+#define R_PPC_ADDR14_BRNTAKEN 9
+#define R_PPC_REL24 10
+#define R_PPC_REL14 11
+#define R_PPC_REL14_BRTAKEN 12
+#define R_PPC_REL14_BRNTAKEN 13
+#define R_PPC_GOT16 14
+#define R_PPC_GOT16_LO 15
+#define R_PPC_GOT16_HI 16
+#define R_PPC_GOT16_HA 17
+#define R_PPC_PLTREL24 18
+#define R_PPC_COPY 19
+#define R_PPC_GLOB_DAT 20
+#define R_PPC_JMP_SLOT 21
+#define R_PPC_RELATIVE 22
+#define R_PPC_LOCAL24PC 23
+#define R_PPC_UADDR32 24
+#define R_PPC_UADDR16 25
+#define R_PPC_REL32 26
+#define R_PPC_PLT32 27
+#define R_PPC_PLTREL32 28
+#define R_PPC_PLT16_LO 29
+#define R_PPC_PLT16_HI 30
+#define R_PPC_PLT16_HA 31
+#define R_PPC_SDAREL16 32
+#define R_PPC_SECTOFF 33
+#define R_PPC_SECTOFF_LO 34
+#define R_PPC_SECTOFF_HI 35
+#define R_PPC_SECTOFF_HA 36
+
+
+#define R_PPC_TLS 67
+#define R_PPC_DTPMOD32 68
+#define R_PPC_TPREL16 69
+#define R_PPC_TPREL16_LO 70
+#define R_PPC_TPREL16_HI 71
+#define R_PPC_TPREL16_HA 72
+#define R_PPC_TPREL32 73
+#define R_PPC_DTPREL16 74
+#define R_PPC_DTPREL16_LO 75
+#define R_PPC_DTPREL16_HI 76
+#define R_PPC_DTPREL16_HA 77
+#define R_PPC_DTPREL32 78
+#define R_PPC_GOT_TLSGD16 79
+#define R_PPC_GOT_TLSGD16_LO 80
+#define R_PPC_GOT_TLSGD16_HI 81
+#define R_PPC_GOT_TLSGD16_HA 82
+#define R_PPC_GOT_TLSLD16 83
+#define R_PPC_GOT_TLSLD16_LO 84
+#define R_PPC_GOT_TLSLD16_HI 85
+#define R_PPC_GOT_TLSLD16_HA 86
+#define R_PPC_GOT_TPREL16 87
+#define R_PPC_GOT_TPREL16_LO 88
+#define R_PPC_GOT_TPREL16_HI 89
+#define R_PPC_GOT_TPREL16_HA 90
+#define R_PPC_GOT_DTPREL16 91
+#define R_PPC_GOT_DTPREL16_LO 92
+#define R_PPC_GOT_DTPREL16_HI 93
+#define R_PPC_GOT_DTPREL16_HA 94
+
+
+#define R_PPC_NUM 95
+
+
+
+#define R_PPC_EMB_NADDR32 101
+#define R_PPC_EMB_NADDR16 102
+#define R_PPC_EMB_NADDR16_LO 103
+#define R_PPC_EMB_NADDR16_HI 104
+#define R_PPC_EMB_NADDR16_HA 105
+#define R_PPC_EMB_SDAI16 106
+#define R_PPC_EMB_SDA2I16 107
+#define R_PPC_EMB_SDA2REL 108
+#define R_PPC_EMB_SDA21 109
+#define R_PPC_EMB_MRKREF 110
+#define R_PPC_EMB_RELSEC16 111
+#define R_PPC_EMB_RELST_LO 112
+#define R_PPC_EMB_RELST_HI 113
+#define R_PPC_EMB_RELST_HA 114
+#define R_PPC_EMB_BIT_FLD 115
+#define R_PPC_EMB_RELSDA 116
+
+
+#define R_PPC_DIAB_SDA21_LO 180
+#define R_PPC_DIAB_SDA21_HI 181
+#define R_PPC_DIAB_SDA21_HA 182
+#define R_PPC_DIAB_RELSDA_LO 183
+#define R_PPC_DIAB_RELSDA_HI 184
+#define R_PPC_DIAB_RELSDA_HA 185
+
+
+#define R_PPC_REL16 249
+#define R_PPC_REL16_LO 250
+#define R_PPC_REL16_HI 251
+#define R_PPC_REL16_HA 252
+
+
+
+#define R_PPC_TOC16 255
+
+
+#define DT_PPC_GOT (DT_LOPROC + 0)
+#define DT_PPC_NUM 1
+
+
+#define R_PPC64_NONE R_PPC_NONE
+#define R_PPC64_ADDR32 R_PPC_ADDR32
+#define R_PPC64_ADDR24 R_PPC_ADDR24
+#define R_PPC64_ADDR16 R_PPC_ADDR16
+#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO
+#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI
+#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA
+#define R_PPC64_ADDR14 R_PPC_ADDR14
+#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN
+#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN
+#define R_PPC64_REL24 R_PPC_REL24
+#define R_PPC64_REL14 R_PPC_REL14
+#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN
+#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN
+#define R_PPC64_GOT16 R_PPC_GOT16
+#define R_PPC64_GOT16_LO R_PPC_GOT16_LO
+#define R_PPC64_GOT16_HI R_PPC_GOT16_HI
+#define R_PPC64_GOT16_HA R_PPC_GOT16_HA
+
+#define R_PPC64_COPY R_PPC_COPY
+#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT
+#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT
+#define R_PPC64_RELATIVE R_PPC_RELATIVE
+
+#define R_PPC64_UADDR32 R_PPC_UADDR32
+#define R_PPC64_UADDR16 R_PPC_UADDR16
+#define R_PPC64_REL32 R_PPC_REL32
+#define R_PPC64_PLT32 R_PPC_PLT32
+#define R_PPC64_PLTREL32 R_PPC_PLTREL32
+#define R_PPC64_PLT16_LO R_PPC_PLT16_LO
+#define R_PPC64_PLT16_HI R_PPC_PLT16_HI
+#define R_PPC64_PLT16_HA R_PPC_PLT16_HA
+
+#define R_PPC64_SECTOFF R_PPC_SECTOFF
+#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO
+#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI
+#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA
+#define R_PPC64_ADDR30 37
+#define R_PPC64_ADDR64 38
+#define R_PPC64_ADDR16_HIGHER 39
+#define R_PPC64_ADDR16_HIGHERA 40
+#define R_PPC64_ADDR16_HIGHEST 41
+#define R_PPC64_ADDR16_HIGHESTA 42
+#define R_PPC64_UADDR64 43
+#define R_PPC64_REL64 44
+#define R_PPC64_PLT64 45
+#define R_PPC64_PLTREL64 46
+#define R_PPC64_TOC16 47
+#define R_PPC64_TOC16_LO 48
+#define R_PPC64_TOC16_HI 49
+#define R_PPC64_TOC16_HA 50
+#define R_PPC64_TOC 51
+#define R_PPC64_PLTGOT16 52
+#define R_PPC64_PLTGOT16_LO 53
+#define R_PPC64_PLTGOT16_HI 54
+#define R_PPC64_PLTGOT16_HA 55
+
+#define R_PPC64_ADDR16_DS 56
+#define R_PPC64_ADDR16_LO_DS 57
+#define R_PPC64_GOT16_DS 58
+#define R_PPC64_GOT16_LO_DS 59
+#define R_PPC64_PLT16_LO_DS 60
+#define R_PPC64_SECTOFF_DS 61
+#define R_PPC64_SECTOFF_LO_DS 62
+#define R_PPC64_TOC16_DS 63
+#define R_PPC64_TOC16_LO_DS 64
+#define R_PPC64_PLTGOT16_DS 65
+#define R_PPC64_PLTGOT16_LO_DS 66
+
+
+#define R_PPC64_TLS 67
+#define R_PPC64_DTPMOD64 68
+#define R_PPC64_TPREL16 69
+#define R_PPC64_TPREL16_LO 70
+#define R_PPC64_TPREL16_HI 71
+#define R_PPC64_TPREL16_HA 72
+#define R_PPC64_TPREL64 73
+#define R_PPC64_DTPREL16 74
+#define R_PPC64_DTPREL16_LO 75
+#define R_PPC64_DTPREL16_HI 76
+#define R_PPC64_DTPREL16_HA 77
+#define R_PPC64_DTPREL64 78
+#define R_PPC64_GOT_TLSGD16 79
+#define R_PPC64_GOT_TLSGD16_LO 80
+#define R_PPC64_GOT_TLSGD16_HI 81
+#define R_PPC64_GOT_TLSGD16_HA 82
+#define R_PPC64_GOT_TLSLD16 83
+#define R_PPC64_GOT_TLSLD16_LO 84
+#define R_PPC64_GOT_TLSLD16_HI 85
+#define R_PPC64_GOT_TLSLD16_HA 86
+#define R_PPC64_GOT_TPREL16_DS 87
+#define R_PPC64_GOT_TPREL16_LO_DS 88
+#define R_PPC64_GOT_TPREL16_HI 89
+#define R_PPC64_GOT_TPREL16_HA 90
+#define R_PPC64_GOT_DTPREL16_DS 91
+#define R_PPC64_GOT_DTPREL16_LO_DS 92
+#define R_PPC64_GOT_DTPREL16_HI 93
+#define R_PPC64_GOT_DTPREL16_HA 94
+#define R_PPC64_TPREL16_DS 95
+#define R_PPC64_TPREL16_LO_DS 96
+#define R_PPC64_TPREL16_HIGHER 97
+#define R_PPC64_TPREL16_HIGHERA 98
+#define R_PPC64_TPREL16_HIGHEST 99
+#define R_PPC64_TPREL16_HIGHESTA 100
+#define R_PPC64_DTPREL16_DS 101
+#define R_PPC64_DTPREL16_LO_DS 102
+#define R_PPC64_DTPREL16_HIGHER 103
+#define R_PPC64_DTPREL16_HIGHERA 104
+#define R_PPC64_DTPREL16_HIGHEST 105
+#define R_PPC64_DTPREL16_HIGHESTA 106
+
+
+#define R_PPC64_NUM 107
+
+
+#define DT_PPC64_GLINK (DT_LOPROC + 0)
+#define DT_PPC64_OPD (DT_LOPROC + 1)
+#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
+#define DT_PPC64_NUM 3
+
+
+
+
+
+#define EF_ARM_RELEXEC 0x01
+#define EF_ARM_HASENTRY 0x02
+#define EF_ARM_INTERWORK 0x04
+#define EF_ARM_APCS_26 0x08
+#define EF_ARM_APCS_FLOAT 0x10
+#define EF_ARM_PIC 0x20
+#define EF_ARM_ALIGN8 0x40
+#define EF_ARM_NEW_ABI 0x80
+#define EF_ARM_OLD_ABI 0x100
+
+
+
+#define EF_ARM_SYMSARESORTED 0x04
+#define EF_ARM_DYNSYMSUSESEGIDX 0x08
+#define EF_ARM_MAPSYMSFIRST 0x10
+#define EF_ARM_EABIMASK 0XFF000000
+
+#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK)
+#define EF_ARM_EABI_UNKNOWN 0x00000000
+#define EF_ARM_EABI_VER1 0x01000000
+#define EF_ARM_EABI_VER2 0x02000000
+
+
+#define STT_ARM_TFUNC 0xd
+
+
+#define SHF_ARM_ENTRYSECT 0x10000000
+#define SHF_ARM_COMDEF 0x80000000
+
+
+
+#define PF_ARM_SB 0x10000000
+
+
+
+#define PT_ARM_EXIDX 0x70000001
+
+
+
+#define R_ARM_NONE 0
+#define R_ARM_PC24 1
+#define R_ARM_ABS32 2
+#define R_ARM_REL32 3
+#define R_ARM_PC13 4
+#define R_ARM_ABS16 5
+#define R_ARM_ABS12 6
+#define R_ARM_THM_ABS5 7
+#define R_ARM_ABS8 8
+#define R_ARM_SBREL32 9
+#define R_ARM_THM_PC22 10
+#define R_ARM_THM_PC8 11
+#define R_ARM_AMP_VCALL9 12
+#define R_ARM_SWI24 13
+#define R_ARM_THM_SWI8 14
+#define R_ARM_XPC25 15
+#define R_ARM_THM_XPC22 16
+#define R_ARM_TLS_DTPMOD32 17
+#define R_ARM_TLS_DTPOFF32 18
+#define R_ARM_TLS_TPOFF32 19
+#define R_ARM_COPY 20
+#define R_ARM_GLOB_DAT 21
+#define R_ARM_JUMP_SLOT 22
+#define R_ARM_RELATIVE 23
+#define R_ARM_GOTOFF 24
+#define R_ARM_GOTPC 25
+#define R_ARM_GOT32 26
+#define R_ARM_PLT32 27
+#define R_ARM_ALU_PCREL_7_0 32
+#define R_ARM_ALU_PCREL_15_8 33
+#define R_ARM_ALU_PCREL_23_15 34
+#define R_ARM_LDR_SBREL_11_0 35
+#define R_ARM_ALU_SBREL_19_12 36
+#define R_ARM_ALU_SBREL_27_20 37
+#define R_ARM_GNU_VTENTRY 100
+#define R_ARM_GNU_VTINHERIT 101
+#define R_ARM_THM_PC11 102
+#define R_ARM_THM_PC9 103
+#define R_ARM_TLS_GD32 104
+#define R_ARM_TLS_LDM32 105
+#define R_ARM_TLS_LDO32 106
+#define R_ARM_TLS_IE32 107
+#define R_ARM_TLS_LE32 108
+#define R_ARM_TLS_LDO12 109
+#define R_ARM_TLS_LE12 110
+#define R_ARM_TLS_IE12GP 111
+#define R_ARM_RXPC25 249
+#define R_ARM_RSBREL32 250
+#define R_ARM_THM_RPC22 251
+#define R_ARM_RREL32 252
+#define R_ARM_RABS22 253
+#define R_ARM_RPC24 254
+#define R_ARM_RBASE 255
+
+#define R_ARM_NUM 256
+
+
+
+
+#define EF_IA_64_MASKOS 0x0000000f
+#define EF_IA_64_ABI64 0x00000010
+#define EF_IA_64_ARCH 0xff000000
+
+
+#define PT_IA_64_ARCHEXT (PT_LOPROC + 0)
+#define PT_IA_64_UNWIND (PT_LOPROC + 1)
+#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12)
+#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13)
+#define PT_IA_64_HP_STACK (PT_LOOS + 0x14)
+
+
+#define PF_IA_64_NORECOV 0x80000000
+
+
+#define SHT_IA_64_EXT (SHT_LOPROC + 0)
+#define SHT_IA_64_UNWIND (SHT_LOPROC + 1)
+
+
+#define SHF_IA_64_SHORT 0x10000000
+#define SHF_IA_64_NORECOV 0x20000000
+
+
+#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0)
+#define DT_IA_64_NUM 1
+
+
+#define R_IA64_NONE 0x00
+#define R_IA64_IMM14 0x21
+#define R_IA64_IMM22 0x22
+#define R_IA64_IMM64 0x23
+#define R_IA64_DIR32MSB 0x24
+#define R_IA64_DIR32LSB 0x25
+#define R_IA64_DIR64MSB 0x26
+#define R_IA64_DIR64LSB 0x27
+#define R_IA64_GPREL22 0x2a
+#define R_IA64_GPREL64I 0x2b
+#define R_IA64_GPREL32MSB 0x2c
+#define R_IA64_GPREL32LSB 0x2d
+#define R_IA64_GPREL64MSB 0x2e
+#define R_IA64_GPREL64LSB 0x2f
+#define R_IA64_LTOFF22 0x32
+#define R_IA64_LTOFF64I 0x33
+#define R_IA64_PLTOFF22 0x3a
+#define R_IA64_PLTOFF64I 0x3b
+#define R_IA64_PLTOFF64MSB 0x3e
+#define R_IA64_PLTOFF64LSB 0x3f
+#define R_IA64_FPTR64I 0x43
+#define R_IA64_FPTR32MSB 0x44
+#define R_IA64_FPTR32LSB 0x45
+#define R_IA64_FPTR64MSB 0x46
+#define R_IA64_FPTR64LSB 0x47
+#define R_IA64_PCREL60B 0x48
+#define R_IA64_PCREL21B 0x49
+#define R_IA64_PCREL21M 0x4a
+#define R_IA64_PCREL21F 0x4b
+#define R_IA64_PCREL32MSB 0x4c
+#define R_IA64_PCREL32LSB 0x4d
+#define R_IA64_PCREL64MSB 0x4e
+#define R_IA64_PCREL64LSB 0x4f
+#define R_IA64_LTOFF_FPTR22 0x52
+#define R_IA64_LTOFF_FPTR64I 0x53
+#define R_IA64_LTOFF_FPTR32MSB 0x54
+#define R_IA64_LTOFF_FPTR32LSB 0x55
+#define R_IA64_LTOFF_FPTR64MSB 0x56
+#define R_IA64_LTOFF_FPTR64LSB 0x57
+#define R_IA64_SEGREL32MSB 0x5c
+#define R_IA64_SEGREL32LSB 0x5d
+#define R_IA64_SEGREL64MSB 0x5e
+#define R_IA64_SEGREL64LSB 0x5f
+#define R_IA64_SECREL32MSB 0x64
+#define R_IA64_SECREL32LSB 0x65
+#define R_IA64_SECREL64MSB 0x66
+#define R_IA64_SECREL64LSB 0x67
+#define R_IA64_REL32MSB 0x6c
+#define R_IA64_REL32LSB 0x6d
+#define R_IA64_REL64MSB 0x6e
+#define R_IA64_REL64LSB 0x6f
+#define R_IA64_LTV32MSB 0x74
+#define R_IA64_LTV32LSB 0x75
+#define R_IA64_LTV64MSB 0x76
+#define R_IA64_LTV64LSB 0x77
+#define R_IA64_PCREL21BI 0x79
+#define R_IA64_PCREL22 0x7a
+#define R_IA64_PCREL64I 0x7b
+#define R_IA64_IPLTMSB 0x80
+#define R_IA64_IPLTLSB 0x81
+#define R_IA64_COPY 0x84
+#define R_IA64_SUB 0x85
+#define R_IA64_LTOFF22X 0x86
+#define R_IA64_LDXMOV 0x87
+#define R_IA64_TPREL14 0x91
+#define R_IA64_TPREL22 0x92
+#define R_IA64_TPREL64I 0x93
+#define R_IA64_TPREL64MSB 0x96
+#define R_IA64_TPREL64LSB 0x97
+#define R_IA64_LTOFF_TPREL22 0x9a
+#define R_IA64_DTPMOD64MSB 0xa6
+#define R_IA64_DTPMOD64LSB 0xa7
+#define R_IA64_LTOFF_DTPMOD22 0xaa
+#define R_IA64_DTPREL14 0xb1
+#define R_IA64_DTPREL22 0xb2
+#define R_IA64_DTPREL64I 0xb3
+#define R_IA64_DTPREL32MSB 0xb4
+#define R_IA64_DTPREL32LSB 0xb5
+#define R_IA64_DTPREL64MSB 0xb6
+#define R_IA64_DTPREL64LSB 0xb7
+#define R_IA64_LTOFF_DTPREL22 0xba
+
+
+
+
+
+
+
+#define STO_SH5_ISA32 (1 << 2)
+
+
+#define R_SH_NONE 0
+#define R_SH_DIR32 1
+#define R_SH_REL32 2
+#define R_SH_DIR8WPN 3
+#define R_SH_IND12W 4
+#define R_SH_DIR8WPL 5
+#define R_SH_DIR8WPZ 6
+#define R_SH_DIR8BP 7
+#define R_SH_DIR8W 8
+#define R_SH_DIR8L 9
+#define R_SH_SWITCH16 25
+#define R_SH_SWITCH32 26
+#define R_SH_USES 27
+#define R_SH_COUNT 28
+#define R_SH_ALIGN 29
+#define R_SH_CODE 30
+#define R_SH_DATA 31
+#define R_SH_LABEL 32
+#define R_SH_SWITCH8 33
+#define R_SH_GNU_VTINHERIT 34
+#define R_SH_GNU_VTENTRY 35
+#define R_SH_TLS_GD_32 144
+#define R_SH_TLS_LD_32 145
+#define R_SH_TLS_LDO_32 146
+#define R_SH_TLS_IE_32 147
+#define R_SH_TLS_LE_32 148
+#define R_SH_TLS_DTPMOD32 149
+#define R_SH_TLS_DTPOFF32 150
+#define R_SH_TLS_TPOFF32 151
+#define R_SH_GOT32 160
+#define R_SH_PLT32 161
+#define R_SH_COPY 162
+#define R_SH_GLOB_DAT 163
+#define R_SH_JMP_SLOT 164
+#define R_SH_RELATIVE 165
+#define R_SH_GOTOFF 166
+#define R_SH_GOTPC 167
+#define R_SH_RELATIVE_LOW16 197
+#define R_SH_RELATIVE_MEDLOW16 198
+#define R_SH_IMM_LOW16 246
+#define R_SH_IMM_LOW16_PCREL 247
+#define R_SH_IMM_MEDLOW16 248
+#define R_SH_IMM_MEDLOW16_PCREL 249
+
+
+#define R_SH_NUM 256
+
+
+
+#define R_390_NONE 0
+#define R_390_8 1
+#define R_390_12 2
+#define R_390_16 3
+#define R_390_32 4
+#define R_390_PC32 5
+#define R_390_GOT12 6
+#define R_390_GOT32 7
+#define R_390_PLT32 8
+#define R_390_COPY 9
+#define R_390_GLOB_DAT 10
+#define R_390_JMP_SLOT 11
+#define R_390_RELATIVE 12
+#define R_390_GOTOFF32 13
+#define R_390_GOTPC 14
+#define R_390_GOT16 15
+#define R_390_PC16 16
+#define R_390_PC16DBL 17
+#define R_390_PLT16DBL 18
+#define R_390_PC32DBL 19
+#define R_390_PLT32DBL 20
+#define R_390_GOTPCDBL 21
+#define R_390_64 22
+#define R_390_PC64 23
+#define R_390_GOT64 24
+#define R_390_PLT64 25
+#define R_390_GOTENT 26
+#define R_390_GOTOFF16 27
+#define R_390_GOTOFF64 28
+#define R_390_GOTPLT12 29
+#define R_390_GOTPLT16 30
+#define R_390_GOTPLT32 31
+#define R_390_GOTPLT64 32
+#define R_390_GOTPLTENT 33
+#define R_390_PLTOFF16 34
+#define R_390_PLTOFF32 35
+#define R_390_PLTOFF64 36
+#define R_390_TLS_LOAD 37
+#define R_390_TLS_GDCALL 38
+
+#define R_390_TLS_LDCALL 39
+
+#define R_390_TLS_GD32 40
+
+#define R_390_TLS_GD64 41
+
+#define R_390_TLS_GOTIE12 42
+
+#define R_390_TLS_GOTIE32 43
+
+#define R_390_TLS_GOTIE64 44
+
+#define R_390_TLS_LDM32 45
+
+#define R_390_TLS_LDM64 46
+
+#define R_390_TLS_IE32 47
+
+#define R_390_TLS_IE64 48
+
+#define R_390_TLS_IEENT 49
+
+#define R_390_TLS_LE32 50
+
+#define R_390_TLS_LE64 51
+
+#define R_390_TLS_LDO32 52
+
+#define R_390_TLS_LDO64 53
+
+#define R_390_TLS_DTPMOD 54
+#define R_390_TLS_DTPOFF 55
+#define R_390_TLS_TPOFF 56
+
+#define R_390_20 57
+#define R_390_GOT20 58
+#define R_390_GOTPLT20 59
+#define R_390_TLS_GOTIE20 60
+
+
+#define R_390_NUM 61
+
+
+
+#define EF_CRIS_VARIANT_MASK 0x0000000e
+#define EF_CRIS_VARIANT_ANY_V0_V10 0x00000000
+#define EF_CRIS_VARIANT_V32 0x00000002
+#define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004
+
+
+#define R_CRIS_NONE 0
+#define R_CRIS_8 1
+#define R_CRIS_16 2
+#define R_CRIS_32 3
+#define R_CRIS_8_PCREL 4
+#define R_CRIS_16_PCREL 5
+#define R_CRIS_32_PCREL 6
+#define R_CRIS_GNU_VTINHERIT 7
+#define R_CRIS_GNU_VTENTRY 8
+#define R_CRIS_COPY 9
+#define R_CRIS_GLOB_DAT 10
+#define R_CRIS_JUMP_SLOT 11
+#define R_CRIS_RELATIVE 12
+#define R_CRIS_16_GOT 13
+#define R_CRIS_32_GOT 14
+#define R_CRIS_16_GOTPLT 15
+#define R_CRIS_32_GOTPLT 16
+#define R_CRIS_32_GOTREL 17
+#define R_CRIS_32_PLT_GOTREL 18
+#define R_CRIS_32_PLT_PCREL 19
+
+
+#define R_CRIS_NUM 20
+
+
+
+#define R_X86_64_NONE 0
+#define R_X86_64_64 1
+#define R_X86_64_PC32 2
+#define R_X86_64_GOT32 3
+#define R_X86_64_PLT32 4
+#define R_X86_64_COPY 5
+#define R_X86_64_GLOB_DAT 6
+#define R_X86_64_JUMP_SLOT 7
+#define R_X86_64_RELATIVE 8
+#define R_X86_64_GOTPCREL 9
+
+#define R_X86_64_32 10
+#define R_X86_64_32S 11
+#define R_X86_64_16 12
+#define R_X86_64_PC16 13
+#define R_X86_64_8 14
+#define R_X86_64_PC8 15
+#define R_X86_64_DTPMOD64 16
+#define R_X86_64_DTPOFF64 17
+#define R_X86_64_TPOFF64 18
+#define R_X86_64_TLSGD 19
+
+#define R_X86_64_TLSLD 20
+
+#define R_X86_64_DTPOFF32 21
+#define R_X86_64_GOTTPOFF 22
+
+#define R_X86_64_TPOFF32 23
+
+#define R_X86_64_NUM 24
+
+
+
+#define R_MN10300_NONE 0
+#define R_MN10300_32 1
+#define R_MN10300_16 2
+#define R_MN10300_8 3
+#define R_MN10300_PCREL32 4
+#define R_MN10300_PCREL16 5
+#define R_MN10300_PCREL8 6
+#define R_MN10300_GNU_VTINHERIT 7
+#define R_MN10300_GNU_VTENTRY 8
+#define R_MN10300_24 9
+#define R_MN10300_GOTPC32 10
+#define R_MN10300_GOTPC16 11
+#define R_MN10300_GOTOFF32 12
+#define R_MN10300_GOTOFF24 13
+#define R_MN10300_GOTOFF16 14
+#define R_MN10300_PLT32 15
+#define R_MN10300_PLT16 16
+#define R_MN10300_GOT32 17
+#define R_MN10300_GOT24 18
+#define R_MN10300_GOT16 19
+#define R_MN10300_COPY 20
+#define R_MN10300_GLOB_DAT 21
+#define R_MN10300_JMP_SLOT 22
+#define R_MN10300_RELATIVE 23
+
+#define R_MN10300_NUM 24
+
+
+
+#define R_M32R_NONE 0
+#define R_M32R_16 1
+#define R_M32R_32 2
+#define R_M32R_24 3
+#define R_M32R_10_PCREL 4
+#define R_M32R_18_PCREL 5
+#define R_M32R_26_PCREL 6
+#define R_M32R_HI16_ULO 7
+#define R_M32R_HI16_SLO 8
+#define R_M32R_LO16 9
+#define R_M32R_SDA16 10
+#define R_M32R_GNU_VTINHERIT 11
+#define R_M32R_GNU_VTENTRY 12
+
+#define R_M32R_16_RELA 33
+#define R_M32R_32_RELA 34
+#define R_M32R_24_RELA 35
+#define R_M32R_10_PCREL_RELA 36
+#define R_M32R_18_PCREL_RELA 37
+#define R_M32R_26_PCREL_RELA 38
+#define R_M32R_HI16_ULO_RELA 39
+#define R_M32R_HI16_SLO_RELA 40
+#define R_M32R_LO16_RELA 41
+#define R_M32R_SDA16_RELA 42
+#define R_M32R_RELA_GNU_VTINHERIT 43
+#define R_M32R_RELA_GNU_VTENTRY 44
+
+#define R_M32R_GOT24 48
+#define R_M32R_26_PLTREL 49
+#define R_M32R_COPY 50
+#define R_M32R_GLOB_DAT 51
+#define R_M32R_JMP_SLOT 52
+#define R_M32R_RELATIVE 53
+#define R_M32R_GOTOFF 54
+#define R_M32R_GOTPC24 55
+#define R_M32R_GOT16_HI_ULO 56
+
+#define R_M32R_GOT16_HI_SLO 57
+
+#define R_M32R_GOT16_LO 58
+#define R_M32R_GOTPC_HI_ULO 59
+
+#define R_M32R_GOTPC_HI_SLO 60
+
+#define R_M32R_GOTPC_LO 61
+
+#define R_M32R_GOTOFF_HI_ULO 62
+
+#define R_M32R_GOTOFF_HI_SLO 63
+
+#define R_M32R_GOTOFF_LO 64
+#define R_M32R_NUM 256
+
+
+#define R_960_NONE 0
+#define R_960_12 1
+#define R_960_32 2
+#define R_960_IP24 3
+#define R_960_SUB 4
+#define R_960_OPTCALL 5
+#define R_960_OPTCALLX 6
+#define R_960_OPTCALLXA 7
+
+#define R_960_NUM 8
+
+
+
+#define R_V850_NONE 0
+#define R_V850_9_PCREL 1
+#define R_V850_22_PCREL 2
+#define R_V850_HI16_S 3
+#define R_V850_HI16 4
+#define R_V850_LO16 5
+#define R_V850_32 6
+#define R_V850_16 7
+#define R_V850_8 8
+#define R_V850_SDA_16_16_OFFSET 9
+
+#define R_V850_SDA_15_16_OFFSET 10
+#define R_V850_ZDA_16_16_OFFSET 11
+
+#define R_V850_ZDA_15_16_OFFSET 12
+#define R_V850_TDA_6_8_OFFSET 13
+#define R_V850_TDA_7_8_OFFSET 14
+#define R_V850_TDA_7_7_OFFSET 15
+#define R_V850_TDA_16_16_OFFSET 16
+
+
+#define R_V850_TDA_4_5_OFFSET 17
+#define R_V850_TDA_4_4_OFFSET 18
+#define R_V850_SDA_16_16_SPLIT_OFFSET 19
+#define R_V850_ZDA_16_16_SPLIT_OFFSET 20
+#define R_V850_CALLT_6_7_OFFSET 21
+#define R_V850_CALLT_16_16_OFFSET 22
+
+#define R_V850_GNU_VTINHERIT 23
+#define R_V850_GNU_VTENTRY 24
+
+#define R_V850_NUM 25
+
+
+#define R_AVR32_NONE 0
+#define R_AVR32_32 1
+#define R_AVR32_16 2
+#define R_AVR32_8 3
+#define R_AVR32_32_PCREL 4
+#define R_AVR32_16_PCREL 5
+#define R_AVR32_8_PCREL 6
+#define R_AVR32_DIFF32 7
+#define R_AVR32_DIFF16 8
+#define R_AVR32_DIFF8 9
+#define R_AVR32_GOT32 10
+#define R_AVR32_GOT16 11
+#define R_AVR32_GOT8 12
+#define R_AVR32_21S 13
+#define R_AVR32_16U 14
+#define R_AVR32_16S 15
+#define R_AVR32_8S 16
+#define R_AVR32_8S_EXT 17
+#define R_AVR32_22H_PCREL 18
+#define R_AVR32_18W_PCREL 19
+#define R_AVR32_16B_PCREL 20
+#define R_AVR32_16N_PCREL 21
+#define R_AVR32_14UW_PCREL 22
+#define R_AVR32_11H_PCREL 23
+#define R_AVR32_10UW_PCREL 24
+#define R_AVR32_9H_PCREL 25
+#define R_AVR32_9UW_PCREL 26
+#define R_AVR32_HI16 27
+#define R_AVR32_LO16 28
+#define R_AVR32_GOTPC 29
+#define R_AVR32_GOTCALL 30
+#define R_AVR32_LDA_GOT 31
+#define R_AVR32_GOT21S 32
+#define R_AVR32_GOT18SW 33
+#define R_AVR32_GOT16S 34
+#define R_AVR32_GOT7UW 35
+#define R_AVR32_32_CPENT 36
+#define R_AVR32_CPCALL 37
+#define R_AVR32_16_CP 38
+#define R_AVR32_9W_CP 39
+#define R_AVR32_RELATIVE 40
+#define R_AVR32_GLOB_DAT 41
+#define R_AVR32_JMP_SLOT 42
+#define R_AVR32_ALIGN 43
+#define R_AVR32_NUM 44
+
+
+#define DT_AVR32_GOTSZ 0x70000001
+
+
+#define R_H8_NONE 0
+#define R_H8_DIR32 1
+#define R_H8_DIR32_28 2
+#define R_H8_DIR32_24 3
+#define R_H8_DIR32_16 4
+#define R_H8_DIR32U 6
+#define R_H8_DIR32U_28 7
+#define R_H8_DIR32U_24 8
+#define R_H8_DIR32U_20 9
+#define R_H8_DIR32U_16 10
+#define R_H8_DIR24 11
+#define R_H8_DIR24_20 12
+#define R_H8_DIR24_16 13
+#define R_H8_DIR24U 14
+#define R_H8_DIR24U_20 15
+#define R_H8_DIR24U_16 16
+#define R_H8_DIR16 17
+#define R_H8_DIR16U 18
+#define R_H8_DIR16S_32 19
+#define R_H8_DIR16S_28 20
+#define R_H8_DIR16S_24 21
+#define R_H8_DIR16S_20 22
+#define R_H8_DIR16S 23
+#define R_H8_DIR8 24
+#define R_H8_DIR8U 25
+#define R_H8_DIR8Z_32 26
+#define R_H8_DIR8Z_28 27
+#define R_H8_DIR8Z_24 28
+#define R_H8_DIR8Z_20 29
+#define R_H8_DIR8Z_16 30
+#define R_H8_PCREL16 31
+#define R_H8_PCREL8 32
+#define R_H8_BPOS 33
+#define R_H8_PCREL32 34
+#define R_H8_GOT32O 35
+#define R_H8_GOT16O 36
+#define R_H8_DIR16A8 59
+#define R_H8_DIR16R8 60
+#define R_H8_DIR24A8 61
+#define R_H8_DIR24R8 62
+#define R_H8_DIR32A16 63
+#define R_H8_ABS32 65
+#define R_H8_ABS32A16 127
+#define R_H8_NUM 128
+
+
+#define R_NIOS_NONE 0
+#define R_NIOS_32 1
+#define R_NIOS_LO16_LO5 2
+#define R_NIOS_LO16_HI11 3
+#define R_NIOS_HI16_LO5 4
+#define R_NIOS_HI16_HI11 5
+#define R_NIOS_PCREL6 6
+#define R_NIOS_PCREL8 7
+#define R_NIOS_PCREL11 8
+#define R_NIOS_16 9
+#define R_NIOS_H_LO5 10
+#define R_NIOS_H_HI11 11
+#define R_NIOS_H_XLO5 12
+#define R_NIOS_H_XHI11 13
+#define R_NIOS_H_16 14
+#define R_NIOS_H_32 15
+#define R_NIOS_GNU_VTINHERIT 200
+#define R_NIOS_GNU_VTENTRY 201
+
+#define R_NIOS_NUM 202
+
+
+#define R_NIOS2_NONE 0
+#define R_NIOS2_S16 1
+#define R_NIOS2_U16 2
+#define R_NIOS2_PCREL16 3
+#define R_NIOS2_CALL26 4
+#define R_NIOS2_IMM5 5
+#define R_NIOS2_CACHE_OPX 6
+#define R_NIOS2_IMM6 7
+#define R_NIOS2_IMM8 8
+#define R_NIOS2_HI16 9
+#define R_NIOS2_LO16 10
+#define R_NIOS2_HIADJ16 11
+#define R_NIOS2_BFD_RELOC_32 12
+#define R_NIOS2_BFD_RELOC_16 13
+#define R_NIOS2_BFD_RELOC_8 14
+#define R_NIOS2_GPREL 15
+#define R_NIOS2_GNU_VTINHERIT 16
+#define R_NIOS2_GNU_VTENTRY 17
+#define R_NIOS2_UJMP 18
+#define R_NIOS2_CJMP 19
+#define R_NIOS2_CALLR 20
+#define R_NIOS2_ALIGN 21
+
+#define R_NIOS2_NUM 22
+
+
+
+
+#define DT_XTENSA_GOT_LOC_OFF (DT_LOPROC + 0)
+#define DT_XTENSA_GOT_LOC_SZ (DT_LOPROC + 1)
+#define DT_XTENSA_NUM 2
+
+
+#define R_XTENSA_NONE 0
+#define R_XTENSA_32 1
+#define R_XTENSA_RTLD 2
+#define R_XTENSA_GLOB_DAT 3
+#define R_XTENSA_JMP_SLOT 4
+#define R_XTENSA_RELATIVE 5
+#define R_XTENSA_PLT 6
+#define R_XTENSA_OP0 8
+#define R_XTENSA_OP1 9
+#define R_XTENSA_OP2 10
+#define R_XTENSA_ASM_EXPAND 11
+#define R_XTENSA_ASM_SIMPLIFY 12
+#define R_XTENSA_GNU_VTINHERIT 15
+#define R_XTENSA_GNU_VTENTRY 16
+#define R_XTENSA_DIFF8 17
+#define R_XTENSA_DIFF16 18
+#define R_XTENSA_DIFF32 19
+#define R_XTENSA_SLOT0_OP 20
+#define R_XTENSA_SLOT1_OP 21
+#define R_XTENSA_SLOT2_OP 22
+#define R_XTENSA_SLOT3_OP 23
+#define R_XTENSA_SLOT4_OP 24
+#define R_XTENSA_SLOT5_OP 25
+#define R_XTENSA_SLOT6_OP 26
+#define R_XTENSA_SLOT7_OP 27
+#define R_XTENSA_SLOT8_OP 28
+#define R_XTENSA_SLOT9_OP 29
+#define R_XTENSA_SLOT10_OP 30
+#define R_XTENSA_SLOT11_OP 31
+#define R_XTENSA_SLOT12_OP 32
+#define R_XTENSA_SLOT13_OP 33
+#define R_XTENSA_SLOT14_OP 34
+#define R_XTENSA_SLOT0_ALT 35
+#define R_XTENSA_SLOT1_ALT 36
+#define R_XTENSA_SLOT2_ALT 37
+#define R_XTENSA_SLOT3_ALT 38
+#define R_XTENSA_SLOT4_ALT 39
+#define R_XTENSA_SLOT5_ALT 40
+#define R_XTENSA_SLOT6_ALT 41
+#define R_XTENSA_SLOT7_ALT 42
+#define R_XTENSA_SLOT8_ALT 43
+#define R_XTENSA_SLOT9_ALT 44
+#define R_XTENSA_SLOT10_ALT 45
+#define R_XTENSA_SLOT11_ALT 46
+#define R_XTENSA_SLOT12_ALT 47
+#define R_XTENSA_SLOT13_ALT 48
+#define R_XTENSA_SLOT14_ALT 49
+
+#define R_XTENSA_NUM 50
+
+
+#define R_C6000_NONE 0
+#define R_C6000_ABS32 1
+#define R_C6000_ABS16 2
+#define R_C6000_ABS8 3
+#define R_C6000_PCR_S21 4
+#define R_C6000_PCR_S12 5
+#define R_C6000_PCR_S10 6
+#define R_C6000_PCR_S7 7
+#define R_C6000_ABS_S16 8
+#define R_C6000_ABS_L16 9
+#define R_C6000_ABS_H16 10
+#define R_C6000_SBR_U15_B 11
+#define R_C6000_SBR_U15_H 12
+#define R_C6000_SBR_U15_W 13
+#define R_C6000_SBR_S16 14
+#define R_C6000_SBR_L16_B 15
+#define R_C6000_SBR_L16_H 16
+#define R_C6000_SBR_L16_W 17
+#define R_C6000_SBR_H16_B 18
+#define R_C6000_SBR_H16_H 19
+#define R_C6000_SBR_H16_W 20
+#define R_C6000_SBR_GOT_U15_W 21
+#define R_C6000_SBR_GOT_L16_W 22
+#define R_C6000_SBR_GOT_H16_W 23
+#define R_C6000_DSBT_INDEX 24
+#define R_C6000_PREL31 25
+#define R_C6000_COPY 26
+#define R_C6000_JUMP_SLOT 27
+#define R_C6000_SBR_GOT32 28
+#define R_C6000_PCR_H16 29
+#define R_C6000_PCR_L16 30
+#define R_C6000_ALIGN 253
+#define R_C6000_FPHEAD 254
+#define R_C6000_NOCMP 255
+
+
+#define DT_C6000_DSBT_BASE (DT_LOPROC + 0)
+#define DT_C6000_DSBT_SIZE (DT_LOPROC + 1)
+#define DT_C6000_PREEMPTMAP (DT_LOPROC + 2)
+#define DT_C6000_DSBT_INDEX (DT_LOPROC + 3)
+
+#define DT_C6000_NUM 4
+
+
+#define R_MICROBLAZE_NONE 0
+#define R_MICROBLAZE_32 1
+#define R_MICROBLAZE_32_PCREL 2
+#define R_MICROBLAZE_64_PCREL 3
+#define R_MICROBLAZE_32_PCREL_LO 4
+#define R_MICROBLAZE_64 5
+#define R_MICROBLAZE_32_LO 6
+#define R_MICROBLAZE_SRO32 7
+#define R_MICROBLAZE_SRW32 8
+#define R_MICROBLAZE_64_NONE 9
+#define R_MICROBLAZE_32_SYM_OP_SYM 10
+#define R_MICROBLAZE_GNU_VTINHERIT 11
+#define R_MICROBLAZE_GNU_VTENTRY 12
+#define R_MICROBLAZE_GOTPC_64 13
+#define R_MICROBLAZE_GOT_64 14
+#define R_MICROBLAZE_PLT_64 15
+#define R_MICROBLAZE_REL 16
+#define R_MICROBLAZE_JUMP_SLOT 17
+#define R_MICROBLAZE_GLOB_DAT 18
+#define R_MICROBLAZE_GOTOFF_64 19
+#define R_MICROBLAZE_GOTOFF_32 20
+#define R_MICROBLAZE_COPY 21
+#define R_MICROBLAZE_NUM 22
+# 26 "./include/link.h" 2
+
+# 1 "./include/dlfcn.h" 1
+# 22 "./include/dlfcn.h"
+#define _DLFCN_H 1
+
+
+#define __need_size_t 
+# 1 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 1 3 4
+# 160 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_ptrdiff_t
+# 233 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_size_t
+# 342 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef __need_wchar_t
+# 395 "/usr/local/src/blackfin/toolchains/20120406/bfin-linux-uclibc/lib/gcc/bfin-linux-uclibc/4.5.3/include/stddef.h" 3 4
+#undef NULL
+
+
+
+
+#define NULL ((void *)0)
+
+
+
+
+
+#undef __need_NULL
+
+
+
+
+#define offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)
+# 27 "./include/dlfcn.h" 2
+
+
+# 1 "./include/bits/dlfcn.h" 1
+# 25 "./include/bits/dlfcn.h"
+#define RTLD_LAZY 0x00001
+#define RTLD_NOW 0x00002
+#define RTLD_BINDING_MASK 0x3
+#define RTLD_NOLOAD 0x00004
+
+
+
+
+
+
+
+#define RTLD_GLOBAL 0x00100
+
+
+
+
+#define RTLD_LOCAL 0
+
+
+#define RTLD_NODELETE 0x01000
+# 30 "./include/dlfcn.h" 2
+
+
+
+
+
+
+
+#define RTLD_NEXT ((void *) -1l)
+
+
+
+
+#define RTLD_DEFAULT ((void *) 0)
+# 55 "./include/dlfcn.h"
+
+
+
+
+extern void *dlopen (__const char *__file, int __mode) __attribute__ ((__nothrow__));
+
+
+
+extern int dlclose (void *__handle) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (1)));
+
+
+
+extern void *dlsym (void *__restrict __handle,
+      __const char *__restrict __name) __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+# 85 "./include/dlfcn.h"
+extern char *dlerror (void) __attribute__ ((__nothrow__));
+
+
+
+
+
+typedef struct
+{
+  __const char *dli_fname;
+  void *dli_fbase;
+  __const char *dli_sname;
+  void *dli_saddr;
+} Dl_info;
+
+
+
+extern int dladdr (__const void *__address, Dl_info *__info)
+     __attribute__ ((__nothrow__)) __attribute__ ((__nonnull__ (2)));
+# 193 "./include/dlfcn.h"
+extern int dlinfo (void);
+
+
+
+
+
+
+# 28 "./include/link.h" 2
+# 36 "./include/link.h"
+#define ElfW(type) _ElfW (Elf, __ELF_NATIVE_CLASS, type)
+#define _ElfW(e,w,t) _ElfW_1 (e, w, _ ##t)
+#define _ElfW_1(e,w,t) e ##w ##t
+
+# 1 "./include/bits/elfclass.h" 1
+# 9 "./include/bits/elfclass.h"
+# 1 "./include/bits/wordsize.h" 1
+# 19 "./include/bits/wordsize.h"
+#define __WORDSIZE 32
+# 10 "./include/bits/elfclass.h" 2
+
+#define __ELF_NATIVE_CLASS __WORDSIZE
+
+
+typedef uint32_t Elf_Symndx;
+# 41 "./include/link.h" 2
+
+
+
+
+
+
+struct r_debug
+  {
+    int r_version;
+
+    struct link_map *r_map;
+
+
+
+
+
+
+    Elf32_Addr r_brk;
+    enum
+      {
+
+
+ RT_CONSISTENT,
+ RT_ADD,
+ RT_DELETE
+      } r_state;
+
+    Elf32_Addr r_ldbase;
+  };
+
+
+extern struct r_debug _r_debug;
+# 81 "./include/link.h"
+extern Elf32_Dyn _DYNAMIC[];
+
+
+# 1 "./include/bits/elf-fdpic.h" 1
+# 29 "./include/bits/elf-fdpic.h"
+#define _BITS_ELF_FDPIC_H 
+# 41 "./include/bits/elf-fdpic.h"
+struct elf32_fdpic_loadseg
+{
+
+  Elf32_Addr addr;
+
+  Elf32_Addr p_vaddr;
+
+  Elf32_Word p_memsz;
+};
+
+struct elf32_fdpic_loadmap {
+
+  Elf32_Half version;
+
+  Elf32_Half nsegs;
+
+  struct elf32_fdpic_loadseg segs[ ];
+};
+
+struct elf32_fdpic_loadaddr {
+  struct elf32_fdpic_loadmap *map;
+  void *got_value;
+};
+
+
+
+static __inline __attribute__ ((__always_inline__)) void *
+__reloc_pointer (void *p,
+   const struct elf32_fdpic_loadmap *map)
+{
+  int c;
+# 85 "./include/bits/elf-fdpic.h"
+  for (c = 0;
+
+
+
+       c < map->nsegs && p >= (void*)map->segs[c].p_vaddr;
+       c++)
+    {
+
+
+
+      unsigned long offset = p - (void*)map->segs[c].p_vaddr;
+
+
+
+
+
+
+      if (offset < map->segs[c].p_memsz
+   || (offset == map->segs[c].p_memsz && c + 1 == map->nsegs))
+ return (char*)map->segs[c].addr + offset;
+    }
+
+
+  return (void*)-1;
+}
+
+#define __RELOC_POINTER(ptr,loadaddr) (__reloc_pointer ((void*)(ptr), (loadaddr).map))
+# 85 "./include/link.h" 2
+# 96 "./include/link.h"
+struct link_map
+  {
+
+
+
+
+    struct elf32_fdpic_loadaddr l_addr;
+
+
+
+
+
+
+
+    char *l_name;
+    Elf32_Dyn *l_ld;
+    struct link_map *l_next, *l_prev;
+# 137 "./include/link.h"
+  };
+# 183 "./include/link.h"
+struct dl_phdr_info
+  {
+
+    struct elf32_fdpic_loadaddr dlpi_addr;
+
+
+
+
+
+
+
+    const char *dlpi_name;
+    const Elf32_Phdr *dlpi_phdr;
+    Elf32_Half dlpi_phnum;
+# 218 "./include/link.h"
+  };
+
+
+
+extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *,
+            size_t, void *),
+       void *__data);
+# 247 "./include/link.h"
+
+# 132 "./ldso/ldso/bfin/../fdpic/dl-sysdep.h" 2
+# 83 "./ldso/ldso/bfin/dl-sysdep.h" 2
+
+static __inline __attribute__ ((__always_inline__)) Elf32_Addr
+elf_machine_load_address (void)
+{
+
+ return 0;
+}
+
+static __inline __attribute__ ((__always_inline__)) void
+elf_machine_relative (struct elf32_fdpic_loadaddr load_off, const Elf32_Addr rel_addr,
+        Elf32_Word relative_count)
+{
+# 104 "./ldso/ldso/bfin/dl-sysdep.h"
+}
+# 12 "./ldso/include/dl-string.h" 2
+
+
+
+
+#define do_rem(result,n,base) ((result) = (n) % (base))
+
+
+#define do_div_10(result,remain) ((result) /= 10)
+
+
+static size_t _dl_strlen(const char *str);
+static char *_dl_strcat(char *dst, const char *src);
+static char *_dl_strcpy(char *dst, const char *src);
+static int _dl_strcmp(const char *s1, const char *s2);
+static int _dl_strncmp(const char *s1, const char *s2, size_t len);
+static char *_dl_strchr(const char *str, int c);
+static char *_dl_strrchr(const char *str, int c);
+static char *_dl_strstr(const char *s1, const char *s2);
+static void *_dl_memcpy(void *dst, const void *src, size_t len);
+static int _dl_memcmp(const void *s1, const void *s2, size_t len);
+static void *_dl_memset(void *str, int c, size_t len);
+static char *_dl_get_last_path_component(char *path);
+static char *_dl_simple_ltoa(char *local, unsigned long i);
+static char *_dl_simple_ltoahex(char *local, unsigned long i);
+
+
+
+
+
+static __inline __attribute__ ((__always_inline__)) size_t _dl_strlen(const char *str)
+{
+ register const char *ptr = (char *) str-1;
+ while (*++ptr)
+  ;
+ return (ptr - str);
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_strcat(char *dst, const char *src)
+{
+ register char *ptr = dst-1;
+
+ src--;
+ while (*++ptr)
+  ;
+ ptr--;
+ while ((*++ptr = *++src) != 0)
+  ;
+ return dst;
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_strcpy(char *dst, const char *src)
+{
+ register char *ptr = dst;
+
+ dst--;src--;
+ while ((*++dst = *++src) != 0)
+  ;
+
+ return ptr;
+}
+
+static __inline __attribute__ ((__always_inline__)) int _dl_strcmp(const char *s1, const char *s2)
+{
+ register unsigned char c1, c2;
+ s1--;s2--;
+ do {
+  c1 = (unsigned char) *++s1;
+  c2 = (unsigned char) *++s2;
+  if (c1 == '\0')
+   return c1 - c2;
+ } while (c1 == c2);
+
+ return c1 - c2;
+}
+
+static __inline __attribute__ ((__always_inline__)) int _dl_strncmp(const char *s1, const char *s2, size_t len)
+{
+ register unsigned char c1 = '\0';
+ register unsigned char c2 = '\0';
+
+ s1--;s2--;
+ while (len > 0) {
+  c1 = (unsigned char) *++s1;
+  c2 = (unsigned char) *++s2;
+  if (c1 == '\0' || c1 != c2)
+   return c1 - c2;
+  len--;
+ }
+ return c1 - c2;
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_strchr(const char *str, int c)
+{
+ register char ch;
+ str--;
+ do {
+  if ((ch = *++str) == c)
+   return (char *) str;
+ }
+ while (ch);
+
+ return 0;
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_strrchr(const char *str, int c)
+{
+ register char *prev = 0;
+ register char *ptr = (char *) str-1;
+
+ while (*++ptr != '\0') {
+  if (*ptr == c)
+   prev = ptr;
+ }
+ if (c == '\0')
+  return(ptr);
+ return(prev);
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_strstr(const char *s1, const char *s2)
+{
+ register const char *s = s1;
+ register const char *p = s2;
+
+ do {
+  if (!*p)
+   return (char *) s1;;
+  if (*p == *s) {
+   ++p;
+   ++s;
+  } else {
+   p = s2;
+   if (!*s)
+    return ((void *)0);
+   s = ++s1;
+  }
+ } while (1);
+}
+
+static __inline __attribute__ ((__always_inline__)) void * _dl_memcpy(void *dst, const void *src, size_t len)
+{
+ register char *a = dst-1;
+ register const char *b = src-1;
+
+ while (len) {
+  *++a = *++b;
+  --len;
+ }
+ return dst;
+}
+
+static __inline __attribute__ ((__always_inline__)) int _dl_memcmp(const void *s1, const void *s2, size_t len)
+{
+ unsigned char *c1 = (unsigned char *)s1-1;
+ unsigned char *c2 = (unsigned char *)s2-1;
+
+ while (len) {
+  if (*++c1 != *++c2)
+   return *c1 - *c2;
+  len--;
+ }
+ return 0;
+}
+# 203 "./ldso/include/dl-string.h"
+static __inline __attribute__ ((__always_inline__)) void * _dl_memset(void *str, int c, size_t len)
+{
+ register char *a = str;
+
+ while (len--)
+  *a++ = c;
+
+ return str;
+}
+
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_get_last_path_component(char *path)
+{
+ register char *ptr = path-1;
+
+ while (*++ptr)
+  ;
+
+
+ while (ptr != path && *--ptr == '/') {
+  *ptr = '\0';
+ }
+
+
+ while (ptr != path && *--ptr != '/')
+  ;
+ return ptr == path ? ptr : ptr+1;
+}
+
+
+
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_simple_ltoa(char *local, unsigned long i)
+{
+
+
+ char *p = &local[22];
+ *--p = '\0';
+ do {
+  char temp;
+  ((temp) = (i) % (10));
+  *--p = '0' + temp;
+  ((i) /= 10);
+ } while (i > 0);
+ return p;
+}
+
+static __inline __attribute__ ((__always_inline__)) char * _dl_simple_ltoahex(char *local, unsigned long i)
+{
+
+
+ char *p = &local[22];
+ *--p = '\0';
+ do {
+  char temp = i & 0xf;
+  if (temp <= 0x09)
+   *--p = '0' + temp;
+  else
+   *--p = 'a' - 0x0a + temp;
+  i >>= 4;
+ } while (i > 0);
+ *--p = 'x';
+ *--p = '0';
+ return p;
+}
+# 294 "./ldso/include/dl-string.h"
+#define CONSTANT_STRING_GOT_FIXUP(X) 
+
+
+#define SEND_STDERR(X) { const char *tmp1 = (X); CONSTANT_STRING_GOT_FIXUP(tmp1); _dl_write(2, tmp1, _dl_strlen(tmp1)); }
+
+
+
+
+
+
+#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); }
+# 325 "./ldso/include/dl-string.h"
+#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); }
+# 350 "./ldso/include/dl-string.h"
+#define EARLY_STDERR_SPECIAL 
+# 359 "./ldso/include/dl-string.h"
+#define SEND_STDERR_DEBUG(X) 
+#define SEND_EARLY_STDERR_DEBUG(X) 
+#define SEND_NUMBER_STDERR_DEBUG(X,add_a_newline) 
+#define SEND_ADDRESS_STDERR_DEBUG(X,add_a_newline) 
+# 45 "./ldso/include/ldso.h" 2
+
+
+# 1 "./ldso/include/dl-elf.h" 1
+# 9 "./ldso/include/dl-elf.h"
+#define LINUXELF_H 
+
+
+
+
+
+
+struct dyn_elf;
+struct elf_resolve;
+struct r_scope_elem;
+
+# 1 "./ldso/include/dl-defs.h" 1
+# 9 "./ldso/include/dl-defs.h"
+#define _LD_DEFS_H 
+
+#define FLAG_ANY -1
+#define FLAG_TYPE_MASK 0x00ff
+#define FLAG_LIBC4 0x0000
+#define FLAG_ELF 0x0001
+#define FLAG_ELF_LIBC5 0x0002
+#define FLAG_ELF_LIBC6 0x0003
+#define FLAG_ELF_UCLIBC 0x0004
+#define FLAG_REQUIRED_MASK 0xff00
+#define FLAG_SPARC_LIB64 0x0100
+#define FLAG_IA64_LIB64 0x0200
+#define FLAG_X8664_LIB64 0x0300
+#define FLAG_S390_LIB64 0x0400
+#define FLAG_POWERPC_LIB64 0x0500
+#define FLAG_MIPS64_LIBN32 0x0600
+#define FLAG_MIPS64_LIBN64 0x0700
+
+#define LIB_ANY -1
+#define LIB_DLL 0
+#define LIB_ELF 1
+#define LIB_ELF64 0x80
+#define LIB_ELF_LIBC5 2
+#define LIB_ELF_LIBC6 3
+#define LIB_ELF_LIBC0 4
+
+
+
+
+
+#define LDSO_BASE_PATH UCLIBC_RUNTIME_PREFIX "etc/" __LDSO_BASE_FILENAME__
+
+
+
+
+
+
+#define LDSO_CONF LDSO_BASE_PATH ".conf"
+#define LDSO_CACHE LDSO_BASE_PATH ".cache"
+
+#define LDSO_CACHE_MAGIC "ld.so-"
+#define LDSO_CACHE_MAGIC_LEN (sizeof LDSO_CACHE_MAGIC -1)
+#define LDSO_CACHE_VER "1.7.0"
+#define LDSO_CACHE_VER_LEN (sizeof LDSO_CACHE_VER -1)
+
+typedef struct {
+ char magic [(sizeof "ld.so-" -1)];
+ char version [(sizeof "1.7.0" -1)];
+ int nlibs;
+} header_t;
+
+typedef struct {
+ int flags;
+ int sooffset;
+ int liboffset;
+} libentry_t;
+
+
+
+
+#define LDSO_CACHE_MMAP_FLAGS (MAP_PRIVATE)
+# 78 "./ldso/include/dl-defs.h"
+#define DL_START(X) static void * __attribute_used__ _dl_start(X)
+# 183 "./ldso/include/dl-defs.h"
+#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)))
+# 210 "./ldso/include/dl-defs.h"
+#define DL_MALLOC_ALIGN (__WORDSIZE / 8)
+
+
+
+#define __C_SYMBOL_PREFIX__ "_"
+# 21 "./ldso/include/dl-elf.h" 2
+
+extern int _dl_map_cache(void);
+extern int _dl_unmap_cache(void);
+
+
+
+
+
+#define DL_RESOLVE_SECURE 0x0001
+#define DL_RESOLVE_NOLOAD 0x0002
+
+
+extern void _dl_parse_lazy_relocation_information(struct dyn_elf *rpnt,
+ unsigned long rel_addr, unsigned long rel_size);
+extern int _dl_parse_relocation_information(struct dyn_elf *rpnt,
+ struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size);
+extern struct elf_resolve * _dl_load_shared_library(unsigned rflags,
+ struct dyn_elf **rpnt, struct elf_resolve *tpnt, char *full_libname,
+ int trace_loaded_objects);
+extern struct elf_resolve * _dl_load_elf_shared_library(unsigned rflags,
+ struct dyn_elf **rpnt, const char *libname);
+extern struct elf_resolve *_dl_check_if_named_library_is_loaded(const char *full_libname,
+ int trace_loaded_objects);
+extern int _dl_linux_resolve(void);
+extern int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int flag);
+extern void _dl_protect_relro (struct elf_resolve *l);
+# 61 "./ldso/include/dl-elf.h"
+#define ELF_ST_BIND(val) ELF32_ST_BIND(val)
+#define ELF_ST_TYPE(val) ELF32_ST_TYPE(val)
+#define ELF_R_SYM(i) ELF32_R_SYM(i)
+#define ELF_R_TYPE(i) ELF32_R_TYPE(i)
+
+#define ELF_CLASS ELFCLASS32
+# 81 "./ldso/include/dl-elf.h"
+#define ELF_RELOC ElfW(Rel)
+#define DT_RELOC_TABLE_ADDR DT_REL
+#define DT_RELOC_TABLE_SIZE DT_RELSZ
+#define DT_RELOCCOUNT DT_RELCOUNT
+#define UNSUPPORTED_RELOC_TYPE DT_RELA
+#define UNSUPPORTED_RELOC_STR "RELA"
+
+
+
+
+#define OS_NUM_BASE 1
+
+
+
+
+#define OS_NUM_GNU_HASH 0
+
+
+
+
+
+#define OS_NUM_PRELINK 0
+
+
+#define OS_NUM (OS_NUM_BASE + OS_NUM_GNU_HASH + OS_NUM_PRELINK)
+
+
+
+#define ARCH_NUM 0
+
+
+#define DYNAMIC_SIZE (DT_NUM + OS_NUM + ARCH_NUM)
+
+#define DT_RELCONT_IDX (DYNAMIC_SIZE - OS_NUM - ARCH_NUM)
+
+
+
+
+
+#define DT_GNU_HASH_IDX DT_RELCONT_IDX
+# 133 "./ldso/include/dl-elf.h"
+extern unsigned int _dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
+                                           void *debug_addr, struct elf32_fdpic_loadaddr load_off);
+
+static __inline __attribute__ ((__always_inline__))
+unsigned int __dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
+                                     void *debug_addr, struct elf32_fdpic_loadaddr load_off)
+{
+ unsigned int rtld_flags = 0;
+
+ for (; dpnt->d_tag; dpnt++) {
+  if (dpnt->d_tag < 34) {
+   dynamic_info[dpnt->d_tag] = dpnt->d_un.d_val;
+
+
+
+
+
+   if (dpnt->d_tag == 21)
+    dpnt->d_un.d_val = (unsigned long)debug_addr;
+
+   if (dpnt->d_tag == 24)
+    dynamic_info[24] = 1;
+   if (dpnt->d_tag == 30 &&
+       (dpnt->d_un.d_val & 0x00000008))
+    dynamic_info[24] = 1;
+   if (dpnt->d_tag == 22)
+    dynamic_info[22] = 1;
+
+   if (dpnt->d_tag == 29)
+    dynamic_info[15] = 0;
+   if (dpnt->d_tag == 15 && dynamic_info[29])
+    dynamic_info[15] = 0;
+
+  } else if (dpnt->d_tag < 0x70000000) {
+   if (dpnt->d_tag == 0x6ffffffa)
+    dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)] = dpnt->d_un.d_val;
+   if (dpnt->d_tag == 0x6ffffffb) {
+    if (dpnt->d_un.d_val & 0x00000001)
+     dynamic_info[24] = 1;
+    if (dpnt->d_un.d_val & 0x00000008)
+     rtld_flags |= 0x01000;
+   }
+# 193 "./ldso/include/dl-elf.h"
+  }
+
+
+
+
+
+ }
+#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)
+# 211 "./ldso/include/dl-elf.h"
+ {
+  do { if (dynamic_info[4]) dynamic_info[4] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[4]), (load_off).map)); } while (0);
+  do { if (dynamic_info[3]) dynamic_info[3] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[3]), (load_off).map)); } while (0);
+  do { if (dynamic_info[5]) dynamic_info[5] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[5]), (load_off).map)); } while (0);
+  do { if (dynamic_info[6]) dynamic_info[6] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[6]), (load_off).map)); } while (0);
+  do { if (dynamic_info[17]) dynamic_info[17] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[17]), (load_off).map)); } while (0);
+  do { if (dynamic_info[23]) dynamic_info[23] = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_info[23]), (load_off).map)); } while (0);
+
+
+
+ }
+# 231 "./ldso/include/dl-elf.h"
+#undef ADJUST_DYN_INFO
+ return rtld_flags;
+}
+# 243 "./ldso/include/dl-elf.h"
+#define ELF_RTYPE_CLASS_COPY (0x0)
+
+
+
+#define ELF_RTYPE_CLASS_PLT (0x1)
+
+
+
+
+#define ELF_RTYPE_CLASS_DLSYM 0x80000000
+
+
+
+
+#define LXFLAGS(X) ( (((X) & PF_R) ? PROT_READ : 0) | (((X) & PF_W) ? PROT_WRITE : 0) | (((X) & PF_X) ? PROT_EXEC : 0))
+# 48 "./ldso/include/ldso.h" 2
+
+
+
+
+# 1 "./ldso/include/dl-hash.h" 1
+# 9 "./ldso/include/dl-hash.h"
+#define _LD_HASH_H_ 
+
+
+
+
+
+struct init_fini {
+ struct elf_resolve **init_fini;
+ unsigned long nlist;
+};
+
+struct dyn_elf {
+  struct elf_resolve * dyn;
+  struct dyn_elf * next_handle;
+  struct init_fini init_fini;
+  struct dyn_elf * next;
+  struct dyn_elf * prev;
+};
+
+struct symbol_ref {
+  const Elf32_Sym *sym;
+  struct elf_resolve *tpnt;
+};
+
+
+
+struct r_scope_elem {
+  struct elf_resolve **r_list;
+  unsigned int r_nlist;
+  struct r_scope_elem *next;
+};
+
+struct elf_resolve {
+
+
+  struct elf32_fdpic_loadaddr loadaddr;
+  char *libname;
+  Elf32_Dyn *dynamic_addr;
+  struct elf_resolve * next;
+  struct elf_resolve * prev;
+# 75 "./ldso/include/dl-hash.h"
+  Elf32_Addr mapaddr;
+
+
+
+
+  enum {elf_lib, elf_executable,program_interpreter, loaded_file} libtype;
+
+  struct r_scope_elem symbol_scope;
+  unsigned short usage_count;
+  unsigned short int init_flag;
+  unsigned long rtld_flags;
+  Elf_Symndx nbucket;
+# 100 "./ldso/include/dl-hash.h"
+  Elf_Symndx *elf_buckets;
+
+
+  struct init_fini_list *init_fini;
+  struct init_fini_list *rtld_local;
+
+
+
+  Elf_Symndx nchain;
+# 117 "./ldso/include/dl-hash.h"
+  Elf_Symndx *chains;
+
+  unsigned long dynamic_info[(34 + (1 + 0 + 0) + 0)];
+
+  unsigned long n_phent;
+  Elf32_Phdr * ppnt;
+
+  Elf32_Addr relro_addr;
+  size_t relro_size;
+
+  dev_t st_dev;
+  ino_t st_ino;
+# 140 "./ldso/include/dl-hash.h"
+  struct funcdesc_ht *funcdesc_ht;
+
+};
+
+#define RELOCS_DONE 0x000001
+#define JMP_RELOCS_DONE 0x000002
+#define INIT_FUNCS_CALLED 0x000004
+#define FINI_FUNCS_CALLED 0x000008
+#define DL_OPENED 0x000010
+#define DL_RESERVED 0x000020
+
+extern struct dyn_elf * _dl_symbol_tables;
+extern struct elf_resolve * _dl_loaded_modules;
+extern struct dyn_elf * _dl_handles;
+
+extern struct elf_resolve * _dl_add_elf_hash_table(const char * libname,
+ struct elf32_fdpic_loadaddr loadaddr, unsigned long * dynamic_info,
+ unsigned long dynamic_addr, unsigned long dynamic_size);
+
+extern char *_dl_find_hash(const char *name, struct r_scope_elem *scope,
+  struct elf_resolve *mytpnt, int type_class,
+  struct symbol_ref *symbol);
+
+extern int _dl_linux_dynamic_link(void);
+
+extern char * _dl_library_path;
+extern char * _dl_not_lazy;
+
+static __inline__ int _dl_symbol(char * name)
+{
+  if (name[0] != '_' || name[1] != 'd' || name[2] != 'l' || name[3] != '_')
+    return 0;
+  return 1;
+}
+
+#define LD_ERROR_NOFILE 1
+#define LD_ERROR_NOZERO 2
+#define LD_ERROR_NOTELF 3
+#define LD_ERROR_NOTMAGIC 4
+#define LD_ERROR_NOTDYN 5
+#define LD_ERROR_MMAP_FAILED 6
+#define LD_ERROR_NODYNAMIC 7
+#define LD_ERROR_TLS_FAILED 8
+#define LD_WRONG_RELOCS 9
+#define LD_BAD_HANDLE 10
+#define LD_NO_SYMBOL 11
+# 53 "./ldso/include/ldso.h" 2
+
+
+
+#define ADDR_ALIGN (_dl_pagesize - 1)
+
+
+
+#define PAGE_ALIGN (~ADDR_ALIGN)
+
+
+
+#define OFFS_ALIGN (PAGE_ALIGN & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1)))
+
+
+
+struct init_fini_list {
+ struct init_fini_list *next;
+ struct elf_resolve *tpnt;
+};
+
+
+extern char *_dl_library_path;
+extern char *_dl_preload;
+
+extern const char *_dl_ldsopath;
+
+extern const char *_dl_progname;
+extern size_t _dl_pagesize;
+
+
+
+
+#define _dl_trace_prelink 0
+# 111 "./ldso/include/ldso.h"
+#define __dl_debug_dprint(fmt,args...) do {} while (0)
+#define _dl_if_debug_dprint(fmt,args...) do {} while (0)
+#define _dl_debug_file 2
+# 126 "./ldso/include/ldso.h"
+#define _dl_assert(expr) ((void)0)
+# 136 "./ldso/include/ldso.h"
+#define _dl_debug_early(fmt,args...) do {} while (0)
+
+
+
+
+
+
+extern void *_dl_malloc(size_t size);
+extern void *_dl_calloc(size_t __nmemb, size_t __size);
+extern void *_dl_realloc(void *__ptr, size_t __size);
+extern void _dl_free(void *);
+extern char *_dl_getenv(const char *symbol, char **envp);
+extern void _dl_unsetenv(const char *symbol, char **envp);
+extern char *_dl_strdup(const char *string);
+extern void _dl_dprintf(int, const char *, ...);
+# 159 "./ldso/include/ldso.h"
+extern void *_dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf32_fdpic_loadaddr load_addr,
+  Elf32_auxv_t auxvt[14 + 1], char **envp, char **argv
+  , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer);
+
+
+# 1 "./ldso/ldso/bfin/dl-inlines.h" 1
+
+
+
+
+
+
+
+# 1 "./include/bfin_sram.h" 1
+# 10 "./include/bfin_sram.h"
+#define __BFIN_SRAM_H__ 
+
+
+
+
+
+
+#define L1_INST_SRAM 0x00000001
+#define L1_DATA_A_SRAM 0x00000002
+#define L1_DATA_B_SRAM 0x00000004
+#define L1_DATA_SRAM 0x00000006
+#define L2_SRAM 0x00000008
+
+extern void *sram_alloc(size_t size, unsigned long flags)
+ __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
+extern int sram_free(const void *addr);
+extern void *dma_memcpy(void *dest, const void *src, size_t len)
+ __attribute__ ((__nonnull__ (1, 2)));
+
+
+# 9 "./ldso/ldso/bfin/dl-inlines.h" 2
+
+#define __dl_loadaddr_unmap __dl_loadaddr_unmap
+
+# 1 "./ldso/ldso/bfin/../fdpic/dl-inlines.h" 1
+# 9 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) void
+__dl_init_loadaddr_map(struct elf32_fdpic_loadaddr *loadaddr, Elf32_Addr dl_boot_got_pointer,
+                       struct elf32_fdpic_loadmap *map)
+{
+ if (map->version != 0) {
+  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);
+  _dl_exit(-1);
+ }
+ if (map->nsegs == 0) {
+  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);
+  _dl_exit(-1);
+ }
+ loadaddr->got_value = (void *)dl_boot_got_pointer;
+ loadaddr->map = map;
+}
+
+
+
+
+
+
+static __inline __attribute__ ((__always_inline__)) int
+__dl_init_loadaddr(struct elf32_fdpic_loadaddr *loadaddr, Elf32_Phdr *ppnt,
+                   int pcnt)
+{
+ int count = 0, i;
+ size_t size;
+
+ for (i = 0; i < pcnt; i++)
+  if (ppnt[i].p_type == 1)
+   count++;
+
+ loadaddr->got_value = 0;
+
+ size = sizeof(struct elf32_fdpic_loadmap) +
+  (sizeof(struct elf32_fdpic_loadseg) * count);
+ loadaddr->map = _dl_malloc(size);
+ if (!loadaddr->map)
+  _dl_exit(-1);
+
+ loadaddr->map->version = 0;
+ loadaddr->map->nsegs = 0;
+
+ return count;
+}
+
+
+static __inline __attribute__ ((__always_inline__)) void
+__dl_init_loadaddr_hdr(struct elf32_fdpic_loadaddr loadaddr, void *addr,
+                       Elf32_Phdr *phdr, int maxsegs)
+{
+ struct elf32_fdpic_loadseg *segdata;
+
+ if (loadaddr.map->nsegs == maxsegs)
+  _dl_exit(-1);
+
+ segdata = &loadaddr.map->segs[loadaddr.map->nsegs++];
+ segdata->addr = (Elf32_Addr)addr;
+ segdata->p_vaddr = phdr->p_vaddr;
+ segdata->p_memsz = phdr->p_memsz;
+
+
+
+
+
+
+
+}
+
+
+static __inline __attribute__ ((__always_inline__)) void
+__dl_update_loadaddr_hdr(struct elf32_fdpic_loadaddr loadaddr, void *addr,
+                         Elf32_Phdr *phdr)
+{
+ struct elf32_fdpic_loadseg *segdata;
+ void *oldaddr;
+ int i;
+
+ for (i = 0; i < loadaddr.map->nsegs; i++)
+  if (loadaddr.map->segs[i].p_vaddr == phdr->p_vaddr &&
+      loadaddr.map->segs[i].p_memsz == phdr->p_memsz)
+   break;
+ if (i == loadaddr.map->nsegs)
+  _dl_exit(-1);
+
+ segdata = loadaddr.map->segs + i;
+ oldaddr = (void *)segdata->addr;
+ _dl_munmap(oldaddr, segdata->p_memsz);
+ segdata->addr = (Elf32_Addr)addr;
+
+
+
+
+
+
+
+}
+# 132 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) int
+__dl_addr_in_loadaddr(void *p, struct elf32_fdpic_loadaddr loadaddr)
+{
+ struct elf32_fdpic_loadmap *map = loadaddr.map;
+ int c;
+
+ for (c = 0; c < map->nsegs; c++)
+  if ((void *)map->segs[c].addr <= p &&
+      (char *)p < (char *)map->segs[c].addr + map->segs[c].p_memsz)
+   return 1;
+
+ return 0;
+}
+# 154 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) unsigned long
+higher_prime_number(unsigned long n)
+{
+
+ static const unsigned long primes[] = {
+  7,
+  13,
+  31,
+  61,
+  127,
+  251,
+  509,
+  1021,
+  2039,
+  4093,
+  8191,
+  16381,
+  32749,
+  65521,
+  131071,
+  262139,
+  524287,
+  1048573,
+  2097143,
+  4194301,
+  8388593,
+  16777213,
+  33554393,
+  67108859,
+  134217689,
+  268435399,
+  536870909,
+  1073741789,
+
+  ((unsigned long) 2147483647) + ((unsigned long) 2147483644),
+ };
+ const unsigned long *low = &primes[0];
+ const unsigned long *high = &primes[(sizeof(primes) / sizeof((primes)[0]))];
+
+ while (low != high) {
+  const unsigned long *mid = low + (high - low) / 2;
+  if (n > *mid)
+   low = mid + 1;
+  else
+   high = mid;
+ }
+# 209 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+ return *low;
+}
+
+struct funcdesc_ht
+{
+
+ struct funcdesc_value **entries;
+
+
+ size_t size;
+
+
+ size_t n_elements;
+};
+
+static __inline __attribute__ ((__always_inline__)) int
+hash_pointer(const void *p)
+{
+ return (int) ((long)p >> 3);
+}
+
+static __inline __attribute__ ((__always_inline__)) struct funcdesc_ht *
+htab_create(void)
+{
+ struct funcdesc_ht *ht = _dl_malloc(sizeof(*ht));
+ size_t ent_size;
+
+ if (!ht)
+  return ((void *)0);
+ ht->size = 3;
+ ent_size = sizeof(struct funcdesc_ht_value *) * ht->size;
+ ht->entries = _dl_malloc(ent_size);
+ if (!ht->entries)
+  return ((void *)0);
+
+ ht->n_elements = 0;
+ _dl_memset(ht->entries, 0, ent_size);
+
+ return ht;
+}
+
+
+
+
+
+static __inline __attribute__ ((__always_inline__)) void
+htab_delete(struct funcdesc_ht *htab)
+{
+ size_t i;
+
+ for (i = htab->size - 1; i >= 0; i--)
+  if (htab->entries[i])
+   _dl_free(htab->entries[i]);
+
+ _dl_free(htab->entries);
+ _dl_free(htab);
+}
+# 275 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) struct funcdesc_value **
+find_empty_slot_for_expand(struct funcdesc_ht *htab, int hash)
+{
+ size_t size = htab->size;
+ unsigned int index = hash % size;
+ struct funcdesc_value **slot = htab->entries + index;
+ int hash2;
+
+ if (!*slot)
+  return slot;
+
+ hash2 = 1 + hash % (size - 2);
+ for (;;) {
+  index += hash2;
+  if (index >= size)
+   index -= size;
+
+  slot = htab->entries + index;
+  if (!*slot)
+   return slot;
+ }
+}
+# 307 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) int
+htab_expand(struct funcdesc_ht *htab)
+{
+ struct funcdesc_value **oentries;
+ struct funcdesc_value **olimit;
+ struct funcdesc_value **p;
+ struct funcdesc_value **nentries;
+ size_t nsize;
+
+ oentries = htab->entries;
+ olimit = oentries + htab->size;
+
+
+
+
+
+ if (htab->n_elements * 2 > htab->size)
+  nsize = higher_prime_number(htab->n_elements * 2);
+ else
+  nsize = htab->size;
+
+ nentries = _dl_malloc(sizeof(*nentries) * nsize);
+ _dl_memset(nentries, 0, sizeof(*nentries) * nsize);
+ if (nentries == ((void *)0))
+  return 0;
+ htab->entries = nentries;
+ htab->size = nsize;
+
+ p = oentries;
+ do {
+  if (*p)
+   *find_empty_slot_for_expand(htab, hash_pointer((*p)->entry_point)) = *p;
+  p++;
+ } while (p < olimit);
+# 355 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+ return 1;
+}
+# 367 "./ldso/ldso/bfin/../fdpic/dl-inlines.h"
+static __inline __attribute__ ((__always_inline__)) struct funcdesc_value **
+htab_find_slot(struct funcdesc_ht *htab, void *ptr, int insert)
+{
+ unsigned int index;
+ int hash, hash2;
+ size_t size;
+ struct funcdesc_value **entry;
+
+ if (htab->size * 3 <= htab->n_elements * 4 &&
+     htab_expand(htab) == 0)
+  return ((void *)0);
+
+ hash = hash_pointer(ptr);
+
+ size = htab->size;
+ index = hash % size;
+
+ entry = &htab->entries[index];
+ if (!*entry)
+  goto empty_entry;
+ else if ((*entry)->entry_point == ptr)
+  return entry;
+
+ hash2 = 1 + hash % (size - 2);
+ for (;;) {
+  index += hash2;
+  if (index >= size)
+   index -= size;
+
+  entry = &htab->entries[index];
+  if (!*entry)
+   goto empty_entry;
+  else if ((*entry)->entry_point == ptr)
+   return entry;
+ }
+
+ empty_entry:
+ if (!insert)
+  return ((void *)0);
+
+ htab->n_elements++;
+ return entry;
+}
+
+void *
+_dl_funcdesc_for (void *entry_point, void *got_value)
+{
+ struct elf_resolve *tpnt = ((void**)got_value)[2];
+ struct funcdesc_ht *ht = tpnt->funcdesc_ht;
+ struct funcdesc_value **entry;
+
+ ((void)0);
+
+ if (!ht) {
+  ht = htab_create();
+  if (!ht)
+   return (void*)-1;
+  tpnt->funcdesc_ht = ht;
+ }
+
+ entry = htab_find_slot(ht, entry_point, 1);
+ if (*entry) {
+  ((void)0);
+  return ({ __asm__ ("" : "+m" (*(*entry))); (*entry); });
+ }
+
+ *entry = _dl_malloc(sizeof(**entry));
+ (*entry)->entry_point = entry_point;
+ (*entry)->got_value = got_value;
+
+ return ({ __asm__ ("" : "+m" (*(*entry))); (*entry); });
+}
+
+static __inline __attribute__ ((__always_inline__)) void const *
+_dl_lookup_address(void const *address)
+{
+ struct elf_resolve *rpnt;
+ struct funcdesc_value const *fd;
+
+
+ __asm__ ("" : "+r" (address));
+
+ if ((Elf32_Addr)address & 7)
+
+  return address;
+
+ fd = address;
+
+ for (rpnt = _dl_loaded_modules; rpnt; rpnt = rpnt->next) {
+  if (!rpnt->funcdesc_ht)
+   continue;
+
+  if (fd->got_value != rpnt->loadaddr.got_value)
+   continue;
+
+  address = htab_find_slot(rpnt->funcdesc_ht, (void *)fd->entry_point, 0);
+
+  if (address && *(struct funcdesc_value *const*)address == fd) {
+   address = (*(struct funcdesc_value *const*)address)->entry_point;
+   break;
+  } else
+   address = fd;
+ }
+
+ return address;
+}
+# 13 "./ldso/ldso/bfin/dl-inlines.h" 2
+
+static __inline __attribute__ ((__always_inline__)) void
+__dl_loadaddr_unmap(struct elf32_fdpic_loadaddr loadaddr,
+                    struct funcdesc_ht *funcdesc_ht)
+{
+ int i;
+
+ for (i = 0; i < loadaddr.map->nsegs; i++) {
+  struct elf32_fdpic_loadseg *segdata;
+  ssize_t offs;
+  segdata = loadaddr.map->segs + i;
+
+
+
+
+
+
+  if ((segdata->addr & 0xff800000) == 0xff800000) {
+   _dl_sram_free((void *)segdata->addr);
+   continue;
+  }
+
+  offs = (segdata->p_vaddr & (_dl_pagesize - 1));
+  _dl_munmap((void*)segdata->addr - offs,
+   segdata->p_memsz + offs);
+   }
+
+
+
+
+
+
+
+ _dl_free(loadaddr.map);
+ if (funcdesc_ht)
+  htab_delete(funcdesc_ht);
+}
+
+static __inline __attribute__ ((__always_inline__)) int
+__dl_is_special_segment(Elf32_Ehdr *epnt, Elf32_Phdr *ppnt)
+{
+ if (ppnt->p_type != 1)
+  return 0;
+
+
+ if ((epnt->e_flags & 0x00000010) &&
+     !(ppnt->p_flags & (1 << 1)) && (ppnt->p_flags & (1 << 0)))
+  return 1;
+
+
+ if ((epnt->e_flags & 0x00000020) &&
+     (ppnt->p_flags & (1 << 1)) && !(ppnt->p_flags & (1 << 0)))
+  return 1;
+
+
+
+
+
+ switch (ppnt->p_vaddr) {
+ case 0xff700000:
+ case 0xff800000:
+ case 0xff900000:
+ case 0xffa00000:
+ case 0xfeb00000:
+ case 0xfec00000:
+  return 1;
+ default:
+  return 0;
+ }
+}
+
+static __inline __attribute__ ((__always_inline__)) char *
+__dl_map_segment(Elf32_Ehdr *epnt, Elf32_Phdr *ppnt, int infile, int flags)
+{
+ void *addr;
+ unsigned long sram_flags = 0;
+
+
+ if (((epnt->e_flags & 0x00000010) || ppnt->p_vaddr == 0xffa00000) &&
+     !(ppnt->p_flags & (1 << 1)) && (ppnt->p_flags & (1 << 0)))
+ {
+  size_t size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
+  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)),
+   flags | 0x01000 | 0x00800,
+   infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
+  if ((((void *)status) == ((void *) -1)))
+   return ((void *)0);
+
+  addr = _dl_sram_alloc(ppnt->p_filesz, 0x00000001);
+  if (addr)
+   _dl_dma_memcpy(addr, status + (ppnt->p_vaddr & (_dl_pagesize - 1)), ppnt->p_filesz);
+  else
+   _dl_dprintf(2, "%s:%s: sram allocation %#x failed\n",
+    _dl_progname, __func__, ppnt->p_vaddr);
+
+  _dl_munmap(status, size);
+  return addr;
+ }
+
+
+ if (((epnt->e_flags & 0x00000020) ||
+      ppnt->p_vaddr == 0xff700000 ||
+      ppnt->p_vaddr == 0xff800000 ||
+      ppnt->p_vaddr == 0xff900000) &&
+     (ppnt->p_flags & (1 << 1)) && !(ppnt->p_flags & (1 << 0)))
+ {
+  switch (ppnt->p_vaddr) {
+  case 0xff800000: sram_flags = 0x00000002; break;
+  case 0xff900000: sram_flags = 0x00000004; break;
+  default: sram_flags = 0x00000006; break;
+  }
+ }
+
+
+ if (ppnt->p_vaddr == 0xfeb00000 || ppnt->p_vaddr == 0xfec00000)
+  sram_flags = 0x00000008;
+
+ if (sram_flags) {
+  addr = _dl_sram_alloc(ppnt->p_memsz, sram_flags);
+  if (addr) {
+   if ((_dl_pread((infile), (addr), (ppnt->p_filesz), (ppnt->p_offset))) != ppnt->p_filesz) {
+    _dl_sram_free(addr);
+    return ((void *)0);
+   }
+   if (ppnt->p_filesz < ppnt->p_memsz)
+    _dl_memset(addr + ppnt->p_filesz, 0, ppnt->p_memsz - ppnt->p_filesz);
+  } else
+   _dl_dprintf(2, "%s:%s: sram allocation %#x failed\n",
+    _dl_progname, __func__, ppnt->p_vaddr);
+  return addr;
+ }
+
+ return 0;
+}
+# 165 "./ldso/include/ldso.h" 2
+# 34 "ldso/ldso/ldso.c" 2
+# 1 "./ldso/include/unsecvars.h" 1
+# 14 "./ldso/include/unsecvars.h"
+#define UNSECURE_ENVVARS "LD_PRELOAD\0" "LD_LIBRARY_PATH\0" "LD_DEBUG\0" "LD_DEBUG_OUTPUT\0" "LD_TRACE_LOADED_OBJECTS\0" "TMPDIR\0"
+# 35 "ldso/ldso/ldso.c" 2
+
+
+# 1 "ldso/ldso/dl-debug.c" 1
+# 103 "ldso/ldso/dl-debug.c"
+#define debug_sym(symtab,strtab,symtab_index) 
+#define debug_reloc(symtab,strtab,rpnt) 
+# 161 "ldso/ldso/dl-debug.c"
+#define _dl_debug_lookup(undef_name,undef_map,ref,value,type_class) 
+# 38 "ldso/ldso/ldso.c" 2
+
+#define ALLOW_ZERO_PLTGOT 
+
+
+
+
+
+
+# 1 "ldso/ldso/bfin/elfinterp.c" 1
+# 40 "ldso/ldso/bfin/elfinterp.c"
+__attribute__((__visibility__("hidden")))
+struct funcdesc_value volatile *
+_dl_linux_resolver (struct elf_resolve *tpnt, int reloc_entry)
+{
+ Elf32_Rel *this_reloc;
+ char *strtab;
+ Elf32_Sym *symtab;
+ int symtab_index;
+ char *rel_addr;
+ char *new_addr;
+ struct funcdesc_value funcval;
+ struct funcdesc_value volatile *got_entry;
+ char *symname;
+ struct symbol_ref sym_ref;
+
+ rel_addr = (char *)tpnt->dynamic_info[23];
+
+ this_reloc = (Elf32_Rel *)(intptr_t)(rel_addr + reloc_entry);
+ symtab_index = ((this_reloc->r_info) >> 8);
+
+ symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
+ strtab = (char *) tpnt->dynamic_info[5];
+ sym_ref.sym = &symtab[symtab_index];
+ sym_ref.tpnt = ((void *)0);
+ symname= strtab + symtab[symtab_index].st_name;
+
+
+ got_entry = (struct funcdesc_value *) ((Elf32_Addr)__reloc_pointer ((void*)(this_reloc->r_offset), (tpnt->loadaddr).map));
+
+
+ new_addr = _dl_find_hash(symname, &_dl_loaded_modules->symbol_scope, ((void *)0), 0, &sym_ref);
+ if (!new_addr) {
+  new_addr = _dl_find_hash(symname, ((void *)0), ((void *)0), 0, &sym_ref);
+  if (!new_addr) {
+   _dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
+        _dl_progname, symname);
+   _dl_exit(1);
+  }
+ }
+
+ funcval.entry_point = new_addr;
+ funcval.got_value = sym_ref.tpnt->loadaddr.got_value;
+# 97 "ldso/ldso/bfin/elfinterp.c"
+ *got_entry = funcval;
+
+
+ return got_entry;
+}
+
+static int
+_dl_parse(struct elf_resolve *tpnt, struct r_scope_elem *scope,
+   unsigned long rel_addr, unsigned long rel_size,
+   int (*reloc_fnc) (struct elf_resolve *tpnt, struct r_scope_elem *scope,
+       Elf32_Rel *rpnt, Elf32_Sym *symtab, char *strtab))
+{
+ unsigned int i;
+ char *strtab;
+ Elf32_Sym *symtab;
+ Elf32_Rel *rpnt;
+ int symtab_index;
+
+
+ rpnt = (Elf32_Rel *) rel_addr;
+ rel_size = rel_size / sizeof(Elf32_Rel);
+
+ symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
+ strtab = (char *) tpnt->dynamic_info[5];
+
+ for (i = 0; i < rel_size; i++, rpnt++) {
+         int res;
+
+  symtab_index = ((rpnt->r_info) >> 8);
+  ;
+  ;
+
+  res = reloc_fnc (tpnt, scope, rpnt, symtab, strtab);
+
+  if (res==0) continue;
+
+  _dl_dprintf(2, "\n%s: ",_dl_progname);
+
+  if (symtab_index)
+   _dl_dprintf(2, "symbol '%s': ", strtab + symtab[symtab_index].st_name);
+
+  if (res <0) {
+          int reloc_type = ((rpnt->r_info) & 0xff);
+
+
+
+   _dl_dprintf(2, "can't handle reloc type %x\n", reloc_type);
+
+   _dl_exit(-res);
+  } else if (res >0) {
+   _dl_dprintf(2, "can't resolve symbol\n");
+   return res;
+  }
+   }
+   return 0;
+}
+
+static int
+_dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope,
+       Elf32_Rel *rpnt, Elf32_Sym *symtab, char *strtab)
+{
+ int reloc_type;
+ int symtab_index;
+ char *symname;
+ unsigned long reloc_value = 0, *reloc_addr;
+ struct { unsigned long v; } __attribute__((__packed__))
+         *reloc_addr_packed;
+ unsigned long symbol_addr;
+ struct elf_resolve *symbol_tpnt;
+ struct funcdesc_value funcval;
+
+
+
+ struct symbol_ref sym_ref;
+
+ reloc_addr = (unsigned long *) ((Elf32_Addr)__reloc_pointer ((void*)(rpnt->r_offset), (tpnt->loadaddr).map));
+ __asm__ ("" : "=r" (reloc_addr_packed) : "0" (reloc_addr));
+ reloc_type = ((rpnt->r_info) & 0xff);
+ symtab_index = ((rpnt->r_info) >> 8);
+ symbol_addr = 0;
+ sym_ref.sym = &symtab[symtab_index];
+ sym_ref.tpnt = ((void *)0);
+ symname = strtab + symtab[symtab_index].st_name;
+
+ if ((((unsigned char) (symtab[symtab_index].st_info)) >> 4) == 0) {
+  symbol_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(symtab[symtab_index].st_value), (tpnt->loadaddr).map));
+  symbol_tpnt = tpnt;
+ } else {
+
+  symbol_addr = (unsigned long)
+    _dl_find_hash(symname, scope, ((void *)0), 0, &sym_ref);
+
+
+
+
+
+
+
+  if (!symbol_addr && (((unsigned char) (symtab[symtab_index].st_info)) >> 4) != 2) {
+   _dl_dprintf (2, "%s: can't resolve symbol '%s'\n",
+         _dl_progname, symname);
+   _dl_exit (1);
+  }
+  if (0) {
+  
+                                                 ;
+  }
+  symbol_tpnt = sym_ref.tpnt;
+ }
+# 218 "ldso/ldso/bfin/elfinterp.c"
+ switch (reloc_type) {
+ case 0x00:
+  break;
+ case 0x12:
+  if ((long)reloc_addr_packed & 3)
+   reloc_value = reloc_addr_packed->v += symbol_addr;
+  else
+   reloc_value = *reloc_addr += symbol_addr;
+  break;
+ case 0x1b:
+  funcval.entry_point = (void*)symbol_addr;
+
+
+
+
+
+  if ((((unsigned char) (symtab[symtab_index].st_info)) >> 4) == 0)
+   funcval.entry_point += *reloc_addr;
+  reloc_value = (unsigned long)funcval.entry_point;
+  if (symbol_addr)
+   funcval.got_value
+    = symbol_tpnt->loadaddr.got_value;
+  else
+   funcval.got_value = 0;
+  __asm__ ("%0 = %2; %1 = %H2;"
+    : "=m" (*(struct funcdesc_value *)reloc_addr), "=m" (((long *)reloc_addr)[1])
+    : "d" (funcval));
+  break;
+ case 0x17:
+  if ((long)reloc_addr_packed & 3)
+   reloc_value = reloc_addr_packed->v;
+  else
+   reloc_value = *reloc_addr;
+  if (symbol_addr)
+   reloc_value = (unsigned long)_dl_funcdesc_for
+    ((char *)symbol_addr + reloc_value,
+     symbol_tpnt->loadaddr.got_value);
+  else
+   reloc_value = 0;
+  if ((long)reloc_addr_packed & 3)
+   reloc_addr_packed->v = reloc_value;
+  else
+   *reloc_addr = reloc_value;
+  break;
+ default:
+  return -1;
+ }
+# 283 "ldso/ldso/bfin/elfinterp.c"
+ return 0;
+}
+
+static int
+_dl_do_lazy_reloc (struct elf_resolve *tpnt,
+     struct r_scope_elem *scope __attribute__((unused)),
+     Elf32_Rel *rpnt, Elf32_Sym *symtab __attribute__((unused)),
+     char *strtab __attribute__((unused)))
+{
+ int reloc_type;
+ struct funcdesc_value volatile *reloc_addr;
+ struct funcdesc_value funcval;
+
+
+
+
+ reloc_addr = (struct funcdesc_value *) ((Elf32_Addr)__reloc_pointer ((void*)(rpnt->r_offset), (tpnt->loadaddr).map));
+ reloc_type = ((rpnt->r_info) & 0xff);
+
+
+
+
+  switch (reloc_type) {
+   case 0x00:
+    break;
+   case 0x1b:
+    funcval = *reloc_addr;
+    funcval.entry_point = (void *) ((Elf32_Addr)__reloc_pointer ((void*)(funcval.entry_point), (tpnt->loadaddr).map));
+    funcval.got_value = tpnt->loadaddr.got_value;
+    *reloc_addr = funcval;
+    break;
+   default:
+    return -1;
+  }
+
+
+
+
+ return 0;
+
+}
+
+void
+_dl_parse_lazy_relocation_information
+(struct dyn_elf *rpnt, unsigned long rel_addr, unsigned long rel_size)
+{
+  _dl_parse(rpnt->dyn, ((void *)0), rel_addr, rel_size, _dl_do_lazy_reloc);
+}
+
+int
+_dl_parse_relocation_information
+(struct dyn_elf *rpnt, struct r_scope_elem *scope, unsigned long rel_addr, unsigned long rel_size)
+{
+  return _dl_parse(rpnt->dyn, scope, rel_addr, rel_size, _dl_do_reloc);
+}
+
+
+
+int
+_dl_parse_copy_information
+(struct dyn_elf *rpnt __attribute__((unused)),
+ unsigned long rel_addr __attribute__((unused)),
+ unsigned long rel_size __attribute__((unused)))
+{
+  return 0;
+}
+
+
+# 1 "./ldso/include/../../libc/sysdeps/linux/bfin/crtreloc.c" 1
+# 37 "./ldso/include/../../libc/sysdeps/linux/bfin/crtreloc.c"
+union word {
+    char c[4];
+    void *v;
+};
+
+
+
+static __inline __attribute__ ((__always_inline__)) void ***
+reloc_range_indirect (void ***p, void ***e,
+        const struct elf32_fdpic_loadmap *map)
+{
+  while (p < e)
+    {
+      if (*p != (void **)-1)
+ {
+   void *ptr = __reloc_pointer (*p, map);
+   if (ptr != (void *)-1)
+     {
+       void *pt;
+       if ((long)ptr & 3)
+  {
+    unsigned char *c = ptr;
+    int i;
+    unsigned long v = 0;
+    for (i = 0; i < 4; i++)
+      v |= c[i] << 8 * i;
+    pt = (void *)v;
+  }
+       else
+  pt = *(void**)ptr;
+       pt = __reloc_pointer (pt, map);
+       if ((long)ptr & 3)
+  {
+    unsigned char *c = ptr;
+    int i;
+    unsigned long v = (unsigned long)pt;
+    for (i = 0; i < 4; i++, v >>= 8)
+      c[i] = v;
+  }
+       else
+  *(void**)ptr = pt;
+     }
+ }
+      p++;
+    }
+  return p;
+}
+
+
+
+
+__attribute__ ((visibility ("hidden"))) void*
+__self_reloc (const struct elf32_fdpic_loadmap *map,
+       void ***p, void ***e)
+{
+  p = reloc_range_indirect (p, e-1, map);
+
+  if (p >= e)
+    return (void*)-1;
+
+  return __reloc_pointer (*p, map);
+}
+# 352 "ldso/ldso/bfin/elfinterp.c" 2
+# 47 "ldso/ldso/ldso.c" 2
+
+
+
+char *_dl_library_path = ((void *)0);
+
+
+char *_dl_preload = ((void *)0);
+
+int _dl_errno = 0;
+size_t _dl_pagesize = 0;
+struct r_debug *_dl_debug_addr = ((void *)0);
+void *(*_dl_malloc_function) (size_t size) = ((void *)0);
+void (*_dl_free_function) (void *p) = ((void *)0);
+
+
+
+
+
+
+
+static int _dl_secure = 1;
+# 89 "ldso/ldso/ldso.c"
+unsigned long __attribute__ ((visibility ("hidden"))) _dl_skip_args = 0;
+
+
+const char *_dl_progname = "ld-uClibc.so.0";
+# 1 "ldso/ldso/dl-startup.c" 1
+# 95 "ldso/ldso/dl-startup.c"
+# 1 "./ldso/ldso/bfin/dl-startup.h" 1
+# 39 "./ldso/ldso/bfin/dl-startup.h"
+__asm__(
+ "     .pushsection .text\n"
+ "     .global __start\n"
+ "     .type   __start,@function\n"
+
+
+ "     .hidden __start\n"
+ "     .set    _start, __start\n"
+ "     .global _start\n"
+ "     .hidden _start\n"
+ "__start:\n"
+ "     call    .Lcall\n"
+ ".Lcall:\n"
+ "     R4 = RETS;\n"
+ "     SP += -32;\n"
+ "     R5 = P0;\n"
+ "     R6 = P1;\n"
+ "     R7 = P2;\n"
+ "     R0.L = .Lcall;\n"
+ "     R0.H = .Lcall;\n"
+ "     R1.L = __ROFIXUP_LIST__;\n"
+ "     R1.H = __ROFIXUP_LIST__;\n"
+ "     R2.L = __ROFIXUP_END__;\n"
+ "     R2.H = __ROFIXUP_END__;\n"
+ "     R1 = R1 - R0;\n"
+ "     R1 = R1 + R4;\n"
+ "     R2 = R2 - R0;\n"
+ "     R2 = R2 + R4;\n"
+ "     R0 = P1;\n"
+ "     CC = R0 == 0;\n"
+ "     IF CC R0 = P0;\n"
+ "     CALL    ___self_reloc;\n"
+ "     P3 = R0;\n"
+ "     P5 = R0;\n"
+ "     R1 = R5;\n"
+ "     R2 = R6;\n"
+ "     [SP + 12] = R7;\n"
+ "     P0 = SP;\n"
+ "     P0 += 24;\n"
+ "     [SP + 16] = P0;\n"
+ "     P0 += 8;\n"
+ "     [SP + 20] = P0;\n"
+ "     CALL    __dl_start;\n"
+ "     /* Pass our FINI ptr() to the user in P1 */\n"
+ "     R7 = [P5 + __dl_fini@FUNCDESC_GOT17M4];\n"
+ "     P4 = [SP + 24];\n"
+ "     P3 = [SP + 28];\n"
+ "     P0 = R5;\n"
+ "     SP += 32;\n"
+ "     JUMP (P4);\n"
+ "     .size   __start,.-__start\n"
+ "     .popsection\n"
+);
+
+#undef DL_START
+#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)
+# 108 "./ldso/ldso/bfin/dl-startup.h"
+#define GET_ARGV(ARGVP,ARGS) ARGVP = (((unsigned long*) ARGS) + 1)
+# 117 "./ldso/ldso/bfin/dl-startup.h"
+#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); }
+# 140 "./ldso/ldso/bfin/dl-startup.h"
+#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)
+# 96 "ldso/ldso/dl-startup.c" 2
+
+
+
+
+
+
+
+static int (*_dl_elf_main) (int, char **, char **);
+
+static void* __rtld_stack_end;
+extern __typeof (__rtld_stack_end) __libc_stack_end __attribute__ ((alias ("__rtld_stack_end")));
+# 117 "ldso/ldso/dl-startup.c"
+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)
+{
+ unsigned int argc;
+ char **argv, **envp;
+ struct elf32_fdpic_loadaddr load_addr;
+ Elf32_Addr got;
+ unsigned long *aux_dat;
+ Elf32_Ehdr *header;
+ struct elf_resolve tpnt_tmp;
+ struct elf_resolve *tpnt = &tpnt_tmp;
+ Elf32_auxv_t auxvt[14 + 1];
+ Elf32_Dyn *dpnt;
+ uint32_t *p32;
+# 138 "ldso/ldso/dl-startup.c"
+ aux_dat = (((unsigned long*) args) + 1);
+ argc = aux_dat[-1];
+ argv = (char **) aux_dat;
+ aux_dat += argc;
+ aux_dat++;
+ envp = (char **) aux_dat;
+
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+
+ while (*aux_dat)
+  aux_dat++;
+ aux_dat++;
+
+
+
+ auxvt[11].a_type = -1;
+
+
+
+
+ while (*aux_dat) {
+  Elf32_auxv_t *auxv_entry = (Elf32_auxv_t *) aux_dat;
+
+  if (auxv_entry->a_type <= 14) {
+   _dl_memcpy(&(auxvt[auxv_entry->a_type]), auxv_entry, sizeof(Elf32_auxv_t));
+  }
+  aux_dat += 2;
+ }
+# 188 "ldso/ldso/dl-startup.c"
+ if (!auxvt[7].a_un.a_val)
+  auxvt[7].a_un.a_val = elf_machine_load_address();
+ (__dl_init_loadaddr_map (&(load_addr), dl_boot_got_pointer, dl_boot_ldsomap ?: dl_boot_progmap));
+
+ header = (Elf32_Ehdr *) auxvt[7].a_un.a_val;
+
+
+ if (!header || header->e_ident[4] != 1 ||
+   header->e_ident[6] != 1
+
+
+
+   || *(p32 = (uint32_t*)&header->e_ident) != ((uint32_t)(0x7f + 0x100 * ('E' + (0x100 * ('L' + 0x100 * 'F')))))
+ ) {
+  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);
+  _dl_exit(0);
+ }
+ ;
+
+                                                          ;
+
+
+
+
+
+ ((got) = dl_boot_got_pointer);
+
+
+ ((dpnt) = dl_boot_ldso_dyn_pointer);
+
+ ;
+ ;
+ _dl_memset(tpnt, 0, sizeof(struct elf_resolve));
+ tpnt->loadaddr = load_addr;
+
+
+ ;
+ tpnt->dynamic_addr = dpnt;
+
+
+
+
+ _dl_parse_dynamic_info(dpnt, tpnt->dynamic_info, ((void *)0), load_addr);
+# 247 "ldso/ldso/dl-startup.c"
+ ;
+# 259 "ldso/ldso/dl-startup.c"
+ ;
+
+ {
+  int indx;
+
+#define INDX_MAX 1
+
+
+
+  for (indx = 0; indx < 1; indx++) {
+   unsigned long rel_addr, rel_size;
+   Elf32_Word relative_count = tpnt->dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)];
+
+   rel_addr = (indx ? tpnt->dynamic_info[23] :
+                      tpnt->dynamic_info[17]);
+   rel_size = (indx ? tpnt->dynamic_info[2] :
+                      tpnt->dynamic_info[18]);
+
+   if (!rel_addr)
+    continue;
+
+   if (!indx && relative_count) {
+    rel_size -= relative_count * sizeof(Elf32_Rel);
+
+
+
+     elf_machine_relative(load_addr, rel_addr, relative_count);
+    rel_addr += relative_count * sizeof(Elf32_Rel);
+   }
+
+
+
+
+
+
+   {
+    Elf32_Rel *rpnt;
+    unsigned int i;
+    Elf32_Sym *sym;
+    unsigned long symbol_addr;
+    int symtab_index;
+    unsigned long *reloc_addr;
+
+
+    rpnt = (Elf32_Rel *) rel_addr;
+    for (i = 0; i < rel_size; i += sizeof(Elf32_Rel), rpnt++) {
+     reloc_addr = (unsigned long *) ((Elf32_Addr)__reloc_pointer ((void*)((unsigned long)rpnt->r_offset), (load_addr).map));
+     symtab_index = ((rpnt->r_info) >> 8);
+     symbol_addr = 0;
+     sym = ((void *)0);
+     if (symtab_index) {
+      char *strtab;
+      Elf32_Sym *symtab;
+
+      symtab = (Elf32_Sym *) tpnt->dynamic_info[6];
+      strtab = (char *) tpnt->dynamic_info[5];
+      sym = &symtab[symtab_index];
+      symbol_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(sym->st_value), (load_addr).map));
+
+
+
+
+
+     } else {
+      ;
+     }
+
+     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); };
+    }
+   }
+
+
+
+
+
+
+  }
+ }
+
+
+ ;
+
+
+
+
+
+
+ __rtld_stack_end = (void *)(argv - 1);
+
+ _dl_elf_main = (int (*)(int, char **, char **))
+   _dl_get_ready_to_run(tpnt, load_addr, auxvt, envp, argv
+          , dl_boot_progmap, dl_boot_got_pointer);
+
+
+ ;
+ ;
+
+
+
+
+ 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);
+
+}
+# 94 "ldso/ldso/ldso.c" 2
+# 1 "ldso/ldso/dl-symbols.c" 1
+# 20 "ldso/ldso/dl-symbols.c"
+struct elf_resolve *_dl_loaded_modules = ((void *)0);
+# 95 "ldso/ldso/ldso.c" 2
+# 1 "ldso/ldso/dl-array.c" 1
+# 34 "ldso/ldso/dl-array.c"
+static void _dl_run_array_forward(unsigned long array, unsigned long size,
+                                  struct elf32_fdpic_loadaddr loadaddr)
+{
+ if (array != 0) {
+  unsigned int j;
+  unsigned int jm;
+  Elf32_Addr *addrs;
+  jm = size / sizeof (Elf32_Addr);
+  addrs = (Elf32_Addr *) ((Elf32_Addr)__reloc_pointer ((void*)(array), (loadaddr).map));
+  for (j = 0; j < jm; ++j) {
+   void (*dl_elf_func) (void);
+   dl_elf_func = (void (*)(void)) (intptr_t) addrs[j];
+   ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void (*)(void)) pf)(); });
+  }
+ }
+}
+
+void _dl_run_init_array(struct elf_resolve *tpnt);
+void _dl_run_init_array(struct elf_resolve *tpnt)
+{
+ _dl_run_array_forward(tpnt->dynamic_info[25],
+         tpnt->dynamic_info[27],
+         tpnt->loadaddr);
+}
+
+void _dl_app_init_array(void);
+void _dl_app_init_array(void)
+{
+ _dl_run_init_array(_dl_loaded_modules);
+}
+
+void _dl_run_fini_array(struct elf_resolve *tpnt);
+void _dl_run_fini_array(struct elf_resolve *tpnt)
+{
+ if (tpnt->dynamic_info[26]) {
+  Elf32_Addr *array = (Elf32_Addr *) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[26]), (tpnt->loadaddr).map));
+  unsigned int i = (tpnt->dynamic_info[28] / sizeof(Elf32_Addr));
+  while (i-- > 0) {
+   void (*dl_elf_func) (void);
+   dl_elf_func = (void (*)(void)) (intptr_t) array[i];
+   ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void (*)(void)) pf)(); });
+  }
+ }
+}
+
+void _dl_app_fini_array(void);
+void _dl_app_fini_array(void)
+{
+ _dl_run_fini_array(_dl_loaded_modules);
+}
+# 96 "ldso/ldso/ldso.c" 2
+
+
+
+
+
+
+void _dl_debug_state(void);
+extern __typeof (_dl_debug_state) _dl_debug_state __asm__ ("_" "__GI__dl_debug_state") __attribute__ ((visibility ("hidden"), noinline));;
+void _dl_debug_state(void)
+{
+
+
+
+ __asm__("");
+}
+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")));;
+
+static unsigned char *_dl_malloc_addr = ((void *)0);
+static unsigned char *_dl_mmap_zero = ((void *)0);
+
+static struct elf_resolve **init_fini_list;
+static struct elf_resolve **scope_elem_list;
+static unsigned int nlist;
+extern void _start(void);
+# 135 "ldso/ldso/ldso.c"
+const char *_dl_ldsopath = ((void *)0);
+
+static void _dl_ldsopath_init(struct elf_resolve *tpnt)
+{
+ char *ldsopath, *ptmp;
+# 149 "ldso/ldso/ldso.c"
+ ldsopath = _dl_strdup(tpnt->libname);
+ ptmp = _dl_strrchr(ldsopath, '/');
+
+
+
+
+ if (!ptmp)
+  ptmp = ldsopath;
+ *ptmp = '\0';
+
+ _dl_ldsopath = ldsopath;
+ do {} while (0)
+
+               ;
+}
+
+
+
+
+char *_dl_getenv(const char *symbol, char **envp)
+{
+ char *pnt;
+ const char *pnt1;
+
+ while ((pnt = *envp++)) {
+  pnt1 = symbol;
+  while (*pnt && *pnt == *pnt1)
+   pnt1++, pnt++;
+  if (!*pnt || *pnt != '=' || *pnt1)
+   continue;
+  return pnt + 1;
+ }
+ return 0;
+}
+
+void _dl_unsetenv(const char *symbol, char **envp)
+{
+ char *pnt;
+ const char *pnt1;
+ char **newenvp = envp;
+
+ for (pnt = *envp; pnt; pnt = *++envp) {
+  pnt1 = symbol;
+  while (*pnt && *pnt == *pnt1)
+   pnt1++, pnt++;
+  if (!*pnt || *pnt != '=' || *pnt1)
+   *newenvp++ = *envp;
+ }
+ *newenvp++ = *envp;
+ return;
+}
+
+static int _dl_suid_ok(void)
+{
+ __kernel_uid_t uid, euid;
+ __kernel_gid_t gid, egid;
+
+ uid = _dl_getuid();
+ euid = _dl_geteuid();
+ gid = _dl_getgid();
+ egid = _dl_getegid();
+
+ if (uid == euid && gid == egid) {
+  return 1;
+ }
+ return 0;
+}
+
+void *_dl_malloc(size_t size)
+{
+ void *retval;
+
+
+
+
+
+ if (_dl_malloc_function)
+  return (*_dl_malloc_function) (size);
+
+ if (_dl_malloc_addr - _dl_mmap_zero + size > _dl_pagesize) {
+  size_t rounded_size;
+# 241 "ldso/ldso/ldso.c"
+  if (size < _dl_pagesize)
+   rounded_size = (size + (_dl_pagesize - 1)) & _dl_pagesize;
+  else
+   rounded_size = size;
+
+  do {} while (0);
+  _dl_mmap_zero = _dl_malloc_addr = _dl_mmap((void *) 0, rounded_size,
+    0x1 | 0x2, 0x02 | 0x20 | 0x4000000, -1, 0);
+  if ((((void *)_dl_mmap_zero) == ((void *) -1))) {
+   _dl_dprintf(2, "%s: mmap of a spare page failed!\n", _dl_progname);
+   _dl_exit(20);
+  }
+ }
+ retval = _dl_malloc_addr;
+ _dl_malloc_addr += size;
+
+
+
+
+
+
+ _dl_malloc_addr = (unsigned char *) (((unsigned long) _dl_malloc_addr + (32 / 8) - 1) & ~((32 / 8) - 1));
+ return retval;
+}
+
+static void *_dl_zalloc(size_t size)
+{
+ void *p = _dl_malloc(size);
+ if (p)
+  _dl_memset(p, 0, size);
+ return p;
+}
+
+void _dl_free(void *p)
+{
+ if (_dl_free_function)
+  (*_dl_free_function) (p);
+}
+# 306 "ldso/ldso/ldso.c"
+static void __attribute__ ((destructor)) __attribute__ ((__used__)) _dl_fini(void)
+{
+ unsigned int i;
+ struct elf_resolve * tpnt;
+
+ for (i = 0; i < nlist; ++i) {
+  tpnt = init_fini_list[i];
+  if (tpnt->init_flag & 0x000008)
+   continue;
+  tpnt->init_flag |= 0x000008;
+  _dl_run_fini_array(tpnt);
+  if (tpnt->dynamic_info[13]) {
+   void (*dl_elf_func) (void);
+
+   dl_elf_func = (void (*)(void)) (intptr_t) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[13]), (tpnt->loadaddr).map));
+   do {} while (0);
+   ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void(*)(void)) pf)(); });
+  }
+ }
+}
+# 352 "ldso/ldso/ldso.c"
+static struct elf_resolve * add_ldso(struct elf_resolve *tpnt,
+          struct elf32_fdpic_loadaddr load_addr,
+          Elf32_Addr ldso_mapaddr,
+          Elf32_auxv_t auxvt[14 + 1],
+          struct dyn_elf *rpnt)
+{
+  Elf32_Ehdr *epnt = (Elf32_Ehdr *) auxvt[7].a_un.a_val;
+  Elf32_Phdr *myppnt = (Elf32_Phdr *)
+    ((
+ Elf32_Addr
+# 360 "ldso/ldso/ldso.c"
+    )__reloc_pointer ((void*)(epnt->e_phoff), ((load_addr)).map))
+                       ;
+  int j;
+  struct stat st;
+
+  tpnt = _dl_add_elf_hash_table(tpnt->libname, tpnt->loadaddr,
+           tpnt->dynamic_info, (unsigned long)tpnt->dynamic_addr,
+           0);
+
+  tpnt->mapaddr = ldso_mapaddr;
+  if (_dl_stat(tpnt->libname, &st) >= 0) {
+   tpnt->st_dev = st.st_dev;
+   tpnt->st_ino = st.st_ino;
+  }
+  tpnt->n_phent = epnt->e_phnum;
+  tpnt->ppnt = myppnt;
+  for (j = 0; j < epnt->e_phnum; j++, myppnt++) {
+   if (myppnt->p_type == 0x6474e552) {
+    tpnt->relro_addr = myppnt->p_vaddr;
+    tpnt->relro_size = myppnt->p_memsz;
+    break;
+   }
+  }
+  tpnt->libtype = program_interpreter;
+  if (rpnt) {
+   rpnt->next = _dl_zalloc(sizeof(struct dyn_elf));
+   rpnt->next->prev = rpnt;
+   rpnt = rpnt->next;
+  } else {
+   rpnt = _dl_zalloc(sizeof(struct dyn_elf));
+  }
+  rpnt->dyn = tpnt;
+  tpnt->rtld_flags = 0x00002 | 0x00100;
+
+ return tpnt;
+}
+
+static ptrdiff_t _dl_build_local_scope (struct elf_resolve **list,
+          struct elf_resolve *map)
+{
+ struct elf_resolve **p = list;
+ struct init_fini_list *q;
+
+ *p++ = map;
+ map->init_flag |= 0x000020;
+ if (map->init_fini)
+  for (q = map->init_fini; q; q = q->next)
+   if (! (q->tpnt->init_flag & 0x000020))
+    p += _dl_build_local_scope (p, q->tpnt);
+ return p - list;
+}
+
+void *_dl_get_ready_to_run(struct elf_resolve *tpnt, struct elf32_fdpic_loadaddr load_addr,
+     Elf32_auxv_t auxvt[14 + 1], char **envp, char **argv
+     , struct elf32_fdpic_loadmap *dl_boot_progmap, Elf32_Addr dl_boot_got_pointer)
+{
+ Elf32_Addr app_mapaddr = 0, ldso_mapaddr = 0;
+ Elf32_Phdr *ppnt;
+ Elf32_Dyn *dpnt;
+ char *lpntstr;
+ unsigned int i, cnt, nscope_elem;
+ int unlazy = 0, trace_loaded_objects = 0;
+ struct dyn_elf *rpnt;
+ struct elf_resolve *tcurr;
+ struct elf_resolve *tpnt1;
+ struct elf_resolve *ldso_tpnt = ((void *)0);
+ struct elf_resolve app_tpnt_tmp;
+ struct elf_resolve *app_tpnt = &app_tpnt_tmp;
+ struct r_debug *debug_addr;
+ unsigned long *lpnt;
+ unsigned long *_dl_envp;
+ Elf32_Addr relro_addr = 0;
+ size_t relro_size = 0;
+ struct r_scope_elem *global_scope;
+ struct elf_resolve **local_scope;
+# 444 "ldso/ldso/ldso.c"
+ _dl_memset(app_tpnt, 0, sizeof(*app_tpnt));
+
+
+ _dl_pagesize = (auxvt[6].a_un.a_val) ? (size_t) auxvt[6].a_un.a_val : (1UL << 12);
+
+
+
+
+ _dl_malloc_addr = (unsigned char *)_dl_pagesize;
+ _dl_mmap_zero = 0;
+
+
+ do {} while (0);
+
+
+
+
+
+
+ if (argv[0]) {
+  _dl_progname = argv[0];
+ }
+
+
+ if (_start == (void *) auxvt[9].a_un.a_val) {
+  _dl_dprintf(2, "Standalone execution is not enabled\n");
+  _dl_exit(1);
+ }
+
+
+
+
+
+
+
+ rpnt = ((void *)0);
+ if (_dl_getenv("LD_BIND_NOW", envp))
+  unlazy = 0x00002;
+
+
+
+
+
+ if ((auxvt[11].a_un.a_val == (size_t)-1 && _dl_suid_ok()) ||
+     (auxvt[11].a_un.a_val != (size_t)-1 &&
+      auxvt[11].a_un.a_val == auxvt[12].a_un.a_val &&
+      auxvt[13].a_un.a_val == auxvt[14].a_un.a_val)) {
+  _dl_secure = 0;
+
+  _dl_preload = _dl_getenv("LD_PRELOAD", envp);
+
+
+  _dl_library_path = _dl_getenv("LD_LIBRARY_PATH", envp);
+
+ } else {
+  static const char unsecure_envvars[] =
+
+
+
+   "LD_PRELOAD\0" "LD_LIBRARY_PATH\0" "LD_DEBUG\0" "LD_DEBUG_OUTPUT\0" "LD_TRACE_LOADED_OBJECTS\0" "TMPDIR\0";
+  const char *nextp;
+  _dl_secure = 1;
+
+  nextp = unsecure_envvars;
+  do {
+   _dl_unsetenv (nextp, envp);
+
+   nextp = _dl_strchr(nextp, '\0') + 1;
+  } while (*nextp != '\0');
+
+  _dl_preload = ((void *)0);
+
+
+  _dl_library_path = ((void *)0);
+
+
+  unlazy = 0x00002;
+ }
+# 623 "ldso/ldso/ldso.c"
+ {
+  unsigned int idx;
+  Elf32_Phdr *phdr = (Elf32_Phdr *) auxvt[3].a_un.a_val;
+
+  for (idx = 0; idx < auxvt[5].a_un.a_val; idx++, phdr++)
+   if (phdr->p_type == 6) {
+    (__dl_init_loadaddr_map (&(app_tpnt->loadaddr), 0, dl_boot_progmap));
+    break;
+   }
+
+  if (((app_tpnt->loadaddr).got_value))
+   do {} while (0)
+                                                                     ;
+ }
+
+
+
+
+
+ debug_addr = _dl_zalloc(sizeof(struct r_debug));
+
+ ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
+ for (i = 0; i < auxvt[5].a_un.a_val; i++, ppnt++) {
+  if (ppnt->p_type == 0x6474e552) {
+   relro_addr = ppnt->p_vaddr;
+   relro_size = ppnt->p_memsz;
+  }
+  if (!app_mapaddr && (ppnt->p_type == 1)) {
+   app_mapaddr = ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
+  }
+  if (ppnt->p_type == 2) {
+   dpnt = (Elf32_Dyn *) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
+   _dl_parse_dynamic_info(dpnt, app_tpnt->dynamic_info, debug_addr, app_tpnt->loadaddr);
+
+
+
+
+
+
+   do {} while (0);
+
+   if (app_tpnt->dynamic_info[22]) {
+    Elf32_Phdr *ppnt_outer = ppnt;
+    ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
+    for (i = 0; i < auxvt[5].a_un.a_val; i++, ppnt++) {
+     if (ppnt->p_type == 1 && !(ppnt->p_flags & (1 << 1)))
+      _dl_mprotect((void *) (((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)) & (~(_dl_pagesize - 1))),
+            (((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)) & (_dl_pagesize - 1)) +
+            (unsigned long) ppnt->p_filesz,
+            0x1 | 0x2 | 0x4);
+    }
+    ppnt = ppnt_outer;
+   }
+# 689 "ldso/ldso/ldso.c"
+   app_tpnt = _dl_add_elf_hash_table(_dl_progname, app_tpnt->loadaddr,
+     app_tpnt->dynamic_info,
+     (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map)),
+     ppnt->p_filesz);
+   _dl_loaded_modules->libtype = elf_executable;
+   _dl_loaded_modules->ppnt = (Elf32_Phdr *) auxvt[3].a_un.a_val;
+   _dl_loaded_modules->n_phent = auxvt[5].a_un.a_val;
+   _dl_symbol_tables = rpnt = _dl_zalloc(sizeof(struct dyn_elf));
+   rpnt->dyn = _dl_loaded_modules;
+   app_tpnt->mapaddr = app_mapaddr;
+   app_tpnt->rtld_flags = unlazy | 0x00100;
+   app_tpnt->usage_count++;
+   lpnt = (unsigned long *) (app_tpnt->dynamic_info[3]);
+
+   if (lpnt)
+
+    { (_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; };
+  }
+
+
+  if (ppnt->p_type == 3) {
+   tpnt->libname = (char *) ((Elf32_Addr)__reloc_pointer ((void*)(ppnt->p_vaddr), (app_tpnt->loadaddr).map));
+
+   _dl_ldsopath_init(tpnt);
+  }
+
+
+  if (ppnt->p_type == 7) {
+# 736 "ldso/ldso/ldso.c"
+   _dl_dprintf(2, "Program uses unsupported TLS data!\n");
+   _dl_exit(1);
+
+  }
+ }
+ app_tpnt->relro_addr = relro_addr;
+ app_tpnt->relro_size = relro_size;
+# 820 "ldso/ldso/ldso.c"
+ if (_dl_getenv("LD_TRACE_LOADED_OBJECTS", envp) != ((void *)0)) {
+  trace_loaded_objects++;
+ }
+# 831 "ldso/ldso/ldso.c"
+ ldso_mapaddr = (Elf32_Addr) auxvt[7].a_un.a_val;
+
+
+
+
+
+ debug_addr->r_map = (struct link_map *) _dl_loaded_modules;
+ debug_addr->r_version = 1;
+ debug_addr->r_ldbase = (Elf32_Addr)
+  (((load_addr)).got_value);
+ debug_addr->r_brk = (unsigned long) &_dl_debug_state;
+ _dl_debug_addr = debug_addr;
+# 852 "ldso/ldso/ldso.c"
+ _dl_map_cache();
+
+
+ if (_dl_preload) {
+  char c, *str, *str2;
+
+  str = _dl_preload;
+  while (*str == ':' || *str == ' ' || *str == '\t')
+   str++;
+
+  while (*str) {
+   str2 = str;
+   while (*str2 && *str2 != ':' && *str2 != ' ' && *str2 != '\t')
+    str2++;
+   c = *str2;
+   *str2 = '\0';
+
+   if (!_dl_secure || _dl_strchr(str, '/') == ((void *)0)) {
+    do {} while (0);
+
+    tpnt1 = _dl_load_shared_library(
+     _dl_secure ? 0x0001 : 0,
+     &rpnt, ((void *)0), str, trace_loaded_objects);
+    if (!tpnt1) {
+
+     if (trace_loaded_objects || 0)
+      _dl_dprintf(1, "\t%s => not found\n", str);
+     else
+
+     {
+      _dl_dprintf(2, "%s: can't load " "library '%s'\n", _dl_progname, str);
+      _dl_exit(15);
+     }
+    } else {
+     tpnt1->rtld_flags = unlazy | 0x00100;
+
+     do {} while (0);
+
+
+     if (trace_loaded_objects && !0 &&
+         tpnt1->usage_count == 1) {
+
+
+
+
+
+      if (_dl_strcmp(_dl_progname, str) != 0)
+       _dl_dprintf(1, "\t%s => %s (%x)\n", str, tpnt1->libname,
+            ((tpnt1->loadaddr).got_value));
+     }
+
+    }
+   }
+
+   *str2 = c;
+   str = str2;
+   while (*str == ':' || *str == ' ' || *str == '\t')
+    str++;
+  }
+ }
+# 1002 "ldso/ldso/ldso.c"
+ nlist = 0;
+ for (tcurr = _dl_loaded_modules; tcurr; tcurr = tcurr->next) {
+  Elf32_Dyn *this_dpnt;
+
+  nlist++;
+  for (this_dpnt = (Elf32_Dyn *) tcurr->dynamic_addr; this_dpnt->d_tag; this_dpnt++) {
+   if (this_dpnt->d_tag == 1) {
+    char *name;
+    struct init_fini_list *tmp;
+
+    lpntstr = (char*) (tcurr->dynamic_info[5] + this_dpnt->d_un.d_val);
+    name = _dl_get_last_path_component(lpntstr);
+    do {} while (0);
+
+    if (_dl_strcmp(name, "ld-uClibc.so.0") == 0) {
+      if (!ldso_tpnt) {
+
+       ldso_tpnt = add_ldso(tpnt, load_addr,
+             ldso_mapaddr, auxvt, rpnt);
+      }
+      ldso_tpnt->usage_count++;
+      tpnt1 = ldso_tpnt;
+    } else
+     tpnt1 = _dl_load_shared_library(0, &rpnt, tcurr, lpntstr, trace_loaded_objects);
+
+    if (!tpnt1) {
+
+     if (trace_loaded_objects || 0) {
+      _dl_dprintf(1, "\t%s => not found\n", lpntstr);
+      continue;
+     } else
+
+     {
+      _dl_dprintf(2, "%s: can't load library '%s'\n", _dl_progname, lpntstr);
+      _dl_exit(16);
+     }
+    }
+
+    tmp = __builtin_alloca (sizeof(struct init_fini_list));
+    tmp->tpnt = tpnt1;
+    tmp->next = tcurr->init_fini;
+    tcurr->init_fini = tmp;
+
+    tpnt1->rtld_flags = unlazy | 0x00100;
+
+    do {} while (0);
+
+
+    if (trace_loaded_objects && !0 &&
+        tpnt1->usage_count == 1) {
+     _dl_dprintf(1, "\t%s => %s (%x)\n",
+          lpntstr, tpnt1->libname,
+          ((tpnt1->loadaddr).got_value));
+    }
+
+   }
+  }
+ }
+ _dl_unmap_cache();
+
+
+ nscope_elem = nlist;
+
+ if (_dl_loaded_modules->libtype == elf_executable) {
+  --nlist;
+  tcurr = _dl_loaded_modules->next;
+ } else
+  tcurr = _dl_loaded_modules;
+ init_fini_list = _dl_malloc(nlist * sizeof(struct elf_resolve *));
+ i = 0;
+ for (; tcurr; tcurr = tcurr->next)
+  init_fini_list[i++] = tcurr;
+
+
+ for (tcurr = _dl_loaded_modules->next; tcurr; tcurr = tcurr->next) {
+  unsigned int j, k;
+
+  for (j = 0; init_fini_list[j] != tcurr; ++j)
+              ;
+  for (k = j + 1; k < nlist; ++k) {
+   struct init_fini_list *runp = init_fini_list[k]->init_fini;
+
+   for (; runp; runp = runp->next) {
+    if (runp->tpnt == tcurr) {
+     struct elf_resolve *here = init_fini_list[k];
+     do {} while (0);
+     for (i = (k - j); i; --i)
+      init_fini_list[i+j] = init_fini_list[i+j-1];
+     init_fini_list[j] = here;
+     ++j;
+     break;
+    }
+   }
+  }
+ }
+# 1119 "ldso/ldso/ldso.c"
+ if (!ldso_tpnt) {
+  tpnt = add_ldso(tpnt, load_addr, ldso_mapaddr, auxvt, rpnt);
+  tpnt->usage_count++;
+  nscope_elem++;
+ } else
+  tpnt = ldso_tpnt;
+# 1135 "ldso/ldso/ldso.c"
+  tpnt->init_flag = 0x000001 | 0x000002;
+
+  tpnt = ((void *)0);
+
+
+
+
+ scope_elem_list = (struct elf_resolve **) _dl_malloc(nscope_elem * sizeof(struct elf_resolve *));
+
+ for (i = 0, tcurr = _dl_loaded_modules; tcurr; tcurr = tcurr->next)
+  scope_elem_list[i++] = tcurr;
+
+ _dl_loaded_modules->symbol_scope.r_list = scope_elem_list;
+ _dl_loaded_modules->symbol_scope.r_nlist = nscope_elem;
+
+
+
+
+
+ global_scope = &_dl_loaded_modules->symbol_scope;
+
+
+ local_scope = _dl_malloc(nscope_elem * sizeof(struct elf_resolve *));
+ i = 1;
+ for (tcurr = _dl_loaded_modules->next; tcurr; tcurr = tcurr->next) {
+  unsigned int k;
+  cnt = _dl_build_local_scope(local_scope, scope_elem_list[i++]);
+  tcurr->symbol_scope.r_list = _dl_malloc(cnt * sizeof(struct elf_resolve *));
+  tcurr->symbol_scope.r_nlist = cnt;
+  _dl_memcpy (tcurr->symbol_scope.r_list, local_scope, cnt * sizeof (struct elf_resolve *));
+
+  for (k = 1; k < nscope_elem; k++)
+   scope_elem_list[k]->init_flag &= ~0x000020;
+ }
+
+ _dl_free(local_scope);
+
+
+
+ if (trace_loaded_objects && !0)
+  _dl_exit(0);
+# 1288 "ldso/ldso/ldso.c"
+ {
+
+ do {} while (0);
+# 1306 "ldso/ldso/ldso.c"
+ if (_dl_symbol_tables)
+  if (_dl_fixup(_dl_symbol_tables, global_scope, unlazy))
+   _dl_exit(-1);
+
+ for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
+  if (tpnt->relro_size)
+   _dl_protect_relro (tpnt);
+ }
+ }
+# 1345 "ldso/ldso/ldso.c"
+ _dl_envp = (unsigned long *) (intptr_t) _dl_find_hash("_" "__environ", global_scope, ((void *)0), 0, ((void *)0));
+ if (_dl_envp)
+  *_dl_envp = (unsigned long) envp;
+
+
+ {
+  unsigned int j;
+  Elf32_Phdr *myppnt;
+
+
+
+
+  for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
+   for (myppnt = tpnt->ppnt, j = 0; j < tpnt->n_phent; j++, myppnt++) {
+    if (myppnt->p_type == 1 && !(myppnt->p_flags & (1 << 1)) && tpnt->dynamic_info[22]) {
+     _dl_mprotect((void *) (((Elf32_Addr)__reloc_pointer ((void*)(myppnt->p_vaddr), (tpnt->loadaddr).map)) & (~(_dl_pagesize - 1))),
+       (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)));
+    }
+   }
+  }
+
+ }
+
+
+ _dl_debug_addr->r_state = RT_ADD;
+ _dl_debug_state();
+
+
+ _dl_run_array_forward(_dl_loaded_modules->dynamic_info[32],
+         _dl_loaded_modules->dynamic_info[33],
+         _dl_loaded_modules->loadaddr);
+
+
+
+ for (i = nlist; i; --i) {
+  tpnt = init_fini_list[i-1];
+  tpnt->init_fini = ((void *)0);
+  if (tpnt->init_flag & 0x000004)
+   continue;
+  tpnt->init_flag |= 0x000004;
+
+  if (tpnt->dynamic_info[12]) {
+   void (*dl_elf_func) (void);
+
+   dl_elf_func = (void (*)(void)) ((Elf32_Addr)__reloc_pointer ((void*)(tpnt->dynamic_info[12]), (tpnt->loadaddr).map));
+
+   do {} while (0);
+
+   ({ struct funcdesc_value fd = { (void*)(dl_elf_func), (tpnt->loadaddr).got_value }; void (*pf)(void) = (void*) ({ __asm__ ("" : "+m" (*(&fd))); (&fd); }); (* (void(*)(void)) pf)(); });
+  }
+
+  _dl_run_init_array(tpnt);
+ }
+
+
+ _dl_malloc_function = (void* (*)(size_t)) (intptr_t) _dl_find_hash("_" "malloc",
+   global_scope, ((void *)0), (0x1), ((void *)0));
+# 1420 "ldso/ldso/ldso.c"
+ _dl_debug_addr->r_state = RT_CONSISTENT;
+ _dl_debug_state();
+
+
+
+
+
+
+  return (void *) auxvt[9].a_un.a_val;
+}
+
+# 1 "ldso/ldso/dl-hash.c" 1
+# 40 "ldso/ldso/dl-hash.c"
+struct dyn_elf *_dl_symbol_tables = ((void *)0);
+
+
+
+
+
+struct dyn_elf *_dl_handles = ((void *)0);
+# 65 "ldso/ldso/dl-hash.c"
+static __inline__ Elf_Symndx _dl_elf_hash(const unsigned char *name)
+{
+ unsigned long hash=0;
+ unsigned long tmp;
+
+ while (*name) {
+  hash = (hash << 4) + *name++;
+  tmp = hash & 0xf0000000;
+
+
+
+
+
+
+  hash ^= tmp;
+  hash ^= tmp >> 24;
+ }
+ return hash;
+}
+
+
+
+
+
+
+struct elf_resolve *_dl_add_elf_hash_table(const char *libname,
+ struct elf32_fdpic_loadaddr loadaddr, unsigned long *dynamic_info, unsigned long dynamic_addr,
+ __attribute__ ((unused)) unsigned long dynamic_size)
+{
+ Elf_Symndx *hash_addr;
+ struct elf_resolve *tpnt;
+ int i;
+
+ tpnt = _dl_malloc(sizeof(struct elf_resolve));
+ _dl_memset(tpnt, 0, sizeof(struct elf_resolve));
+
+ if (!_dl_loaded_modules)
+  _dl_loaded_modules = tpnt;
+ else {
+  struct elf_resolve *t = _dl_loaded_modules;
+  while (t->next)
+   t = t->next;
+  t->next = tpnt;
+  t->next->prev = t;
+  tpnt = t->next;
+ }
+
+ tpnt->next = ((void *)0);
+ tpnt->init_flag = 0;
+ tpnt->libname = _dl_strdup(libname);
+ tpnt->dynamic_addr = (Elf32_Dyn *)dynamic_addr;
+ tpnt->libtype = loaded_file;
+# 140 "ldso/ldso/dl-hash.c"
+ if (dynamic_info[4] != 0) {
+  hash_addr = (Elf_Symndx*)dynamic_info[4];
+  tpnt->nbucket = *hash_addr++;
+  tpnt->nchain = *hash_addr++;
+  tpnt->elf_buckets = hash_addr;
+  hash_addr += tpnt->nbucket;
+  tpnt->chains = hash_addr;
+ }
+ tpnt->loadaddr = loadaddr;
+ for (i = 0; i < (34 + (1 + 0 + 0) + 0); i++)
+  tpnt->dynamic_info[i] = dynamic_info[i];
+ return tpnt;
+}
+
+
+
+static __attribute__ ((__noinline__)) const Elf32_Sym *
+check_match (const Elf32_Sym *sym, char *strtab, const char* undef_name, int type_class)
+{
+# 175 "ldso/ldso/dl-hash.c"
+ if (type_class & (sym->st_shndx == 0))
+
+  return ((void *)0);
+
+ if (sym->st_value == 0)
+
+  return ((void *)0);
+
+ if (((sym->st_info) & 0xf) > 2
+  && ((sym->st_info) & 0xf) != 5)
+
+
+
+
+  return ((void *)0);
+
+
+
+
+
+ if (_dl_strcmp(strtab + sym->st_name, undef_name) != 0)
+  return ((void *)0);
+
+
+ return sym;
+}
+# 246 "ldso/ldso/dl-hash.c"
+static __inline __attribute__ ((__always_inline__)) const Elf32_Sym *
+_dl_lookup_sysv_hash(struct elf_resolve *tpnt, Elf32_Sym *symtab, unsigned long hash, const char* undef_name, int type_class)
+{
+ unsigned long hn;
+ char *strtab;
+ const Elf32_Sym *sym;
+ Elf_Symndx symidx;
+
+
+ ((hn) = (hash) % (tpnt->nbucket));
+ strtab = (char *) (tpnt->dynamic_info[5]);
+
+ ((void)0);
+
+ for (symidx = tpnt->elf_buckets[hn]; symidx != 0; symidx = tpnt->chains[symidx]) {
+  sym = check_match (&symtab[symidx], strtab, undef_name, type_class);
+  if (sym != ((void *)0))
+
+   return sym;
+ }
+
+ return ((void *)0);
+}
+
+
+
+
+
+char *_dl_find_hash(const char *name, struct r_scope_elem *scope, struct elf_resolve *mytpnt,
+ int type_class, struct symbol_ref *sym_ref)
+{
+ struct elf_resolve *tpnt = ((void *)0);
+ Elf32_Sym *symtab;
+ int i = 0;
+
+ unsigned long elf_hash_number = 0xffffffff;
+ const Elf32_Sym *sym = ((void *)0);
+
+ char *weak_result = ((void *)0);
+ struct r_scope_elem *loop_scope;
+
+
+
+
+
+ if ((sym_ref) && (sym_ref->sym) && (((sym_ref->sym->st_other) & 0x03) == 3)) {
+   sym = sym_ref->sym;
+  if (mytpnt)
+   tpnt = mytpnt;
+ } else
+ for (loop_scope = scope; loop_scope && !sym; loop_scope = loop_scope->next) {
+  for (i = 0; i < loop_scope->r_nlist; i++) {
+   tpnt = loop_scope->r_list[i];
+
+   if (!(tpnt->rtld_flags & 0x00100) && mytpnt) {
+    if (mytpnt == tpnt)
+     ;
+    else {
+     struct init_fini_list *tmp;
+
+     for (tmp = mytpnt->rtld_local; tmp; tmp = tmp->next) {
+      if (tmp->tpnt == tpnt)
+       break;
+     }
+     if (!tmp)
+      continue;
+    }
+   }
+
+   if ((type_class & (0x0)) && tpnt->libtype == elf_executable)
+    continue;
+
+
+   if (tpnt->nbucket == 0)
+    continue;
+
+   symtab = (Elf32_Sym *) (intptr_t) (tpnt->dynamic_info[6]);
+# 336 "ldso/ldso/dl-hash.c"
+    if (elf_hash_number == 0xffffffff)
+     elf_hash_number = _dl_elf_hash((const unsigned char *)name);
+
+    sym = _dl_lookup_sysv_hash(tpnt, symtab, elf_hash_number, name, type_class);
+    if (sym != ((void *)0))
+
+     break;
+
+
+
+  }
+ }
+
+ if (sym) {
+  if (sym_ref) {
+   sym_ref->sym = sym;
+   sym_ref->tpnt = tpnt;
+  }
+# 362 "ldso/ldso/dl-hash.c"
+  switch ((((unsigned char) (sym->st_info)) >> 4)) {
+   case 2:
+
+
+
+
+
+
+
+   case 1:
+
+   if (sym_ref)
+    sym_ref->tpnt = tpnt;
+
+    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)));
+   default:
+    break;
+  }
+ }
+
+ if (sym_ref)
+  sym_ref->tpnt = tpnt;
+
+ return weak_result;
+}
+# 1432 "ldso/ldso/ldso.c" 2
+# 1 "ldso/ldso/dl-elf.c" 1
+# 37 "ldso/ldso/dl-elf.c"
+static caddr_t _dl_cache_addr = ((void *)0);
+static size_t _dl_cache_size = 0;
+
+int _dl_map_cache(void)
+{
+ int fd;
+ struct stat st;
+ header_t *header;
+ libentry_t *libent;
+ int i, strtabsize;
+
+ if (_dl_cache_addr == ((void *) -1))
+  return -1;
+ else if (_dl_cache_addr != ((void *)0))
+  return 0;
+
+ if (_dl_stat("/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache", &st)
+     || (fd = _dl_open("/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache", 00|02000000, 0)) < 0) {
+  _dl_cache_addr = ((void *) -1);
+  return -1;
+ }
+
+ _dl_cache_size = st.st_size;
+ _dl_cache_addr = _dl_mmap(0, _dl_cache_size, 0x1, (0x02), fd, 0);
+ _dl_close(fd);
+ if ((((void *)_dl_cache_addr) == ((void *) -1))) {
+  _dl_dprintf(2, "%s:%i: can't map '%s'\n",
+    _dl_progname, 64, "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
+  return -1;
+ }
+
+ header = (header_t *) _dl_cache_addr;
+
+ if (_dl_cache_size < sizeof(header_t) ||
+   _dl_memcmp(header->magic, "ld.so-", (sizeof "ld.so-" -1))
+   || _dl_memcmp(header->version, "1.7.0", (sizeof "1.7.0" -1))
+   || _dl_cache_size <
+   (sizeof(header_t) + header->nlibs * sizeof(libentry_t))
+   || _dl_cache_addr[_dl_cache_size - 1] != '\0')
+ {
+  _dl_dprintf(2, "%s: cache '%s' is corrupt\n", _dl_progname,
+    "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
+  goto fail;
+ }
+
+ strtabsize = _dl_cache_size - sizeof(header_t) -
+  header->nlibs * sizeof(libentry_t);
+ libent = (libentry_t *) & header[1];
+
+ for (i = 0; i < header->nlibs; i++) {
+  if (libent[i].sooffset >= strtabsize ||
+    libent[i].liboffset >= strtabsize)
+  {
+   _dl_dprintf(2, "%s: cache '%s' is corrupt\n", _dl_progname, "/usr/bfin-linux-uclibc/" "etc/" "ld.so" ".cache");
+   goto fail;
+  }
+ }
+
+ return 0;
+
+fail:
+ _dl_munmap(_dl_cache_addr, _dl_cache_size);
+ _dl_cache_addr = ((void *) -1);
+ return -1;
+}
+
+int _dl_unmap_cache(void)
+{
+ if (_dl_cache_addr == ((void *)0) || _dl_cache_addr == ((void *) -1))
+  return -1;
+
+
+ _dl_munmap(_dl_cache_addr, _dl_cache_size);
+ _dl_cache_addr = ((void *)0);
+
+
+ return 0;
+}
+
+
+
+void
+_dl_protect_relro (struct elf_resolve *l)
+{
+ Elf32_Addr base = (Elf32_Addr) ((Elf32_Addr)__reloc_pointer ((void*)(l->relro_addr), (l->loadaddr).map));
+ Elf32_Addr start = (base & (~(_dl_pagesize - 1)));
+ Elf32_Addr end = ((base + l->relro_size) & (~(_dl_pagesize - 1)));
+ do {} while (0);
+ if (start != end &&
+     _dl_mprotect ((void *) start, end - start, 0x1) < 0) {
+  _dl_dprintf(2, "%s: cannot apply additional memory protection after relocation", l->libname);
+  _dl_exit(0);
+ }
+}
+
+
+
+static struct elf_resolve *
+search_for_named_library(const char *name, unsigned rflags, const char *path_list,
+ struct dyn_elf **rpnt)
+{
+ char *path, *path_n, *mylibname;
+ struct elf_resolve *tpnt;
+ int done;
+
+ if (path_list==((void *)0))
+  return ((void *)0);
+
+
+
+
+ done = _dl_strlen(path_list);
+ path = __builtin_alloca (done + 1);
+
+
+ mylibname = __builtin_alloca (2050);
+
+ _dl_memcpy(path, path_list, done+1);
+
+
+
+
+
+
+
+ done = 0;
+ path_n = path;
+ do {
+  if (*path == 0) {
+   *path = ':';
+   done = 1;
+  }
+  if (*path == ':') {
+   *path = 0;
+   if (*path_n)
+    _dl_strcpy(mylibname, path_n);
+   else
+    _dl_strcpy(mylibname, ".");
+   _dl_strcat(mylibname, "/");
+   _dl_strcat(mylibname, name);
+   if ((tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname)) != ((void *)0))
+    return tpnt;
+   path_n = path+1;
+  }
+  path++;
+ } while (!done);
+ return ((void *)0);
+}
+
+
+unsigned long _dl_error_number;
+unsigned long _dl_internal_error_number;
+
+struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rpnt,
+ struct elf_resolve *tpnt, char *full_libname, int __attribute__ ((unused)) trace_loaded_objects)
+{
+ char *pnt;
+ struct elf_resolve *tpnt1;
+ char *libname;
+
+ _dl_internal_error_number = 0;
+ libname = full_libname;
+
+
+
+ if (_dl_strlen(full_libname) > 1024)
+  goto goof;
+
+
+
+ pnt = _dl_strrchr(libname, '/');
+ if (pnt) {
+  libname = pnt + 1;
+ }
+
+ do {} while (0);
+
+
+
+
+ if (libname != full_libname) {
+  do {} while (0);
+  tpnt1 = _dl_load_elf_shared_library(rflags, rpnt, full_libname);
+  if (tpnt1) {
+   return tpnt1;
+  }
+ }
+
+
+
+
+
+
+ pnt = (tpnt ? (char *) tpnt->dynamic_info[15] : ((void *)0));
+ if (pnt) {
+  pnt += (unsigned long) tpnt->dynamic_info[5];
+  do {} while (0);
+  if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != ((void *)0))
+   return tpnt1;
+ }
+
+
+
+
+ if (_dl_library_path) {
+  do {} while (0);
+  if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt)) != ((void *)0))
+  {
+   return tpnt1;
+  }
+ }
+
+
+
+
+
+ pnt = (tpnt ? (char *)tpnt->dynamic_info[29] : ((void *)0));
+ if (pnt) {
+  pnt += (unsigned long) tpnt->dynamic_info[5];
+  do {} while (0);
+  if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != ((void *)0))
+   return tpnt1;
+ }
+# 268 "ldso/ldso/dl-elf.c"
+ if (_dl_cache_addr != ((void *)0) && _dl_cache_addr != ((void *) -1)) {
+  int i;
+  header_t *header = (header_t *) _dl_cache_addr;
+  libentry_t *libent = (libentry_t *) & header[1];
+  char *strs = (char *) &libent[header->nlibs];
+
+  do {} while (0);
+  for (i = 0; i < header->nlibs; i++) {
+   if ((libent[i].flags == 1
+        || libent[i].flags == 4
+        || libent[i].flags == 2)
+    && _dl_strcmp(libname, strs + libent[i].sooffset) == 0
+    && (tpnt1 = _dl_load_elf_shared_library(rflags, rpnt, strs + libent[i].liboffset))
+   ) {
+    return tpnt1;
+   }
+  }
+ }
+# 297 "ldso/ldso/dl-elf.c"
+ do {} while (0);
+ tpnt1 = search_for_named_library(libname, rflags,
+     "/usr/bfin-linux-uclibc/" "lib:"
+     "/usr/bfin-linux-uclibc/" "usr/lib"
+
+
+
+     , rpnt);
+ if (tpnt1 != ((void *)0))
+  return tpnt1;
+
+goof:
+
+ if (_dl_internal_error_number)
+  _dl_error_number = _dl_internal_error_number;
+ else
+  _dl_error_number = 1;
+ do {} while (0);
+ return ((void *)0);
+}
+
+
+;
+
+
+
+
+
+static void *
+map_writeable (int infile, Elf32_Phdr *ppnt, int piclib, int flags,
+        unsigned long libaddr)
+{
+ int prot_flags = ppnt->p_flags | (1 << 1);
+ char *status, *retval;
+ char *tryaddr;
+ ssize_t size;
+ unsigned long map_size;
+ char *cpnt;
+ char *piclib2map = ((void *)0);
+
+ if (piclib == 2 &&
+# 353 "ldso/ldso/dl-elf.c"
+     ppnt->p_filesz < ppnt->p_memsz)
+ {
+  piclib2map = (char *)
+   _dl_mmap(0, (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_memsz,
+     ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)), flags | 0x20, -1, 0);
+  if ((((void *)piclib2map) == ((void *) -1)))
+   return 0;
+ }
+
+ tryaddr = piclib == 2 ? piclib2map
+  : ((char *) (piclib ? libaddr : 0) +
+     (ppnt->p_vaddr & (~(_dl_pagesize - 1))));
+
+ size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
+
+
+
+
+
+
+ if (piclib2map == 0)
+
+  status = (char *) _dl_mmap
+   (tryaddr, size, ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)),
+    flags | (piclib2map ? 0x10 : 0),
+    infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
+
+ else
+  status = ((void *) -1);
+
+
+ if ((((void *)status) == ((void *) -1)) && piclib2map
+     && ((_dl_pread((infile), (tryaddr), (size), (ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))))))
+                                   == size))
+  status = tryaddr;
+
+ if ((((void *)status) == ((void *) -1)) || (tryaddr && tryaddr != status))
+  return 0;
+
+ if (piclib2map)
+  retval = piclib2map;
+ else
+  retval = status;
+# 411 "ldso/ldso/dl-elf.c"
+ cpnt = (char *) (status + size);
+
+
+
+ map_size = (ppnt->p_vaddr + ppnt->p_filesz
+      + (_dl_pagesize - 1)) & (~(_dl_pagesize - 1));
+
+ _dl_memset (cpnt, 0,
+      (((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))
+
+
+
+                     );
+
+ if (map_size < ppnt->p_vaddr + ppnt->p_memsz && !piclib2map) {
+  tryaddr = map_size + (char*)(piclib ? libaddr : 0);
+  status = (char *) _dl_mmap(tryaddr,
+        ppnt->p_vaddr + ppnt->p_memsz - map_size,
+        ( (((prot_flags) & (1 << 2)) ? 0x1 : 0) | (((prot_flags) & (1 << 1)) ? 0x2 : 0) | (((prot_flags) & (1 << 0)) ? 0x4 : 0)),
+        flags | 0x20 | 0x10, -1, 0);
+  if ((((void *)status) == ((void *) -1)) || tryaddr != status)
+   return ((void *)0);
+ }
+ return retval;
+}
+
+
+
+
+
+
+
+struct elf_resolve *_dl_load_elf_shared_library(unsigned rflags,
+ struct dyn_elf **rpnt, const char *libname)
+{
+ Elf32_Ehdr *epnt;
+ unsigned long dynamic_addr = 0;
+ Elf32_Dyn *dpnt;
+ struct elf_resolve *tpnt;
+ Elf32_Phdr *ppnt;
+
+
+
+ char *status, *header;
+ unsigned long dynamic_info[(34 + (1 + 0 + 0) + 0)];
+ unsigned long *lpnt;
+ unsigned long libaddr;
+ unsigned long minvma = 0xffffffff, maxvma = 0;
+ unsigned int rtld_flags;
+ int i, flags, piclib, infile;
+ Elf32_Addr relro_addr = 0;
+ size_t relro_size = 0;
+ struct stat st;
+ uint32_t *p32;
+ struct elf32_fdpic_loadaddr lib_loadaddr;
+ int dl_init_loadaddr_load_count;
+
+ libaddr = 0;
+ infile = _dl_open(libname, 00, 0);
+ if (infile < 0) {
+  _dl_internal_error_number = 1;
+  return ((void *)0);
+ }
+
+ if (_dl_fstat(infile, &st) < 0) {
+  _dl_internal_error_number = 1;
+  _dl_close(infile);
+  return ((void *)0);
+ }
+
+
+ if (rflags & 0x0001) {
+  if (!(st.st_mode & 04000)) {
+   _dl_close(infile);
+   return ((void *)0);
+  }
+ }
+
+
+ for (tpnt = _dl_loaded_modules; tpnt; tpnt = tpnt->next) {
+  if (tpnt->st_dev == st.st_dev && tpnt->st_ino == st.st_ino) {
+
+   tpnt->usage_count++;
+   _dl_close(infile);
+   return tpnt;
+  }
+ }
+ if (rflags & 0x0002) {
+  _dl_close(infile);
+  return ((void *)0);
+ }
+ header = _dl_mmap((void *) 0, _dl_pagesize, 0x1 | 0x2,
+   0x02 | 0x20 | 0x4000000, -1, 0);
+ if ((((void *)header) == ((void *) -1))) {
+  _dl_dprintf(2, "%s:%i: can't map '%s'\n", _dl_progname, 505, libname);
+  _dl_internal_error_number = 6;
+  _dl_close(infile);
+  return ((void *)0);
+ }
+
+ _dl_read(infile, header, _dl_pagesize);
+ epnt = (Elf32_Ehdr *) (intptr_t) header;
+ p32 = (uint32_t*)&epnt->e_ident;
+ if (*p32 != ((uint32_t)(0x7f + 0x100 * ('E' + (0x100 * ('L' + 0x100 * 'F')))))) {
+  _dl_dprintf(2, "%s: '%s' is not an ELF file\n", _dl_progname,
+    libname);
+  _dl_internal_error_number = 3;
+  _dl_close(infile);
+  _dl_munmap(header, _dl_pagesize);
+  return ((void *)0);
+ }
+
+ if ((epnt->e_type != 3
+
+
+
+  ) || (epnt->e_machine != 106
+
+
+
+   ))
+ {
+  _dl_internal_error_number =
+   (epnt->e_type != 3 ? 5 : 4);
+  _dl_dprintf(2, "%s: '%s' is not an ELF executable for " "BFIN"
+    "\n", _dl_progname, libname);
+  _dl_close(infile);
+  _dl_munmap(header, _dl_pagesize);
+  return ((void *)0);
+ }
+
+ ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
+
+ piclib = 1;
+ for (i = 0; i < epnt->e_phnum; i++) {
+
+  if (ppnt->p_type == 2) {
+   if (dynamic_addr)
+    _dl_dprintf(2, "%s: '%s' has more than one dynamic section\n",
+      _dl_progname, libname);
+   dynamic_addr = ppnt->p_vaddr;
+  }
+
+  if (ppnt->p_type == 1) {
+
+   if (minvma == 0xffffffff && ppnt->p_vaddr > 0x1000000) {
+    piclib = 0;
+    minvma = ppnt->p_vaddr;
+   }
+   if (piclib && ppnt->p_vaddr < minvma) {
+    minvma = ppnt->p_vaddr;
+   }
+   if (((unsigned long) ppnt->p_vaddr + ppnt->p_memsz) > maxvma) {
+    maxvma = ppnt->p_vaddr + ppnt->p_memsz;
+   }
+  }
+  if (ppnt->p_type == 7) {
+# 581 "ldso/ldso/dl-elf.c"
+   _dl_dprintf(2, "%s: '%s' library contains unsupported TLS\n",
+    _dl_progname, libname);
+   _dl_internal_error_number = 8;
+   _dl_close(infile);
+   _dl_munmap(header, _dl_pagesize);
+   return ((void *)0);
+
+  }
+  ppnt++;
+ }
+
+
+
+
+
+
+ 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);
+
+ maxvma = (maxvma + (_dl_pagesize - 1)) & (~(_dl_pagesize - 1));
+ minvma = minvma & ~(_dl_pagesize - 1);
+
+ flags = 0x02 ;
+
+ if (piclib == 0 || piclib == 1) {
+  status = (char *) _dl_mmap((char *) (piclib ? 0 : minvma),
+    maxvma - minvma, 0x0, flags | 0x20, -1, 0);
+  if ((((void *)status) == ((void *) -1))) {
+  cant_map:
+   _dl_dprintf(2, "%s:%i: can't map '%s'\n", _dl_progname, 609, libname);
+   _dl_internal_error_number = 6;
+   _dl_close(infile);
+   _dl_munmap(header, _dl_pagesize);
+   return ((void *)0);
+  }
+  libaddr = (unsigned long) status;
+  flags |= 0x10;
+ }
+
+
+ ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
+
+ (dl_init_loadaddr_load_count = __dl_init_loadaddr (&(lib_loadaddr), (ppnt), (epnt->e_phnum)));
+
+ ;
+
+ for (i = 0; i < epnt->e_phnum; i++) {
+  if (__dl_is_special_segment(epnt, ppnt)) {
+   char *addr;
+
+   addr = __dl_map_segment (epnt, ppnt, infile, flags);
+   if (addr == ((void *)0)) {
+   cant_map1:
+    (__dl_loadaddr_unmap ((lib_loadaddr), (((void *)0))));
+    goto cant_map;
+   }
+
+   (__dl_init_loadaddr_hdr ((lib_loadaddr), (addr), (ppnt), dl_init_loadaddr_load_count));
+   ppnt++;
+   continue;
+  }
+  if (ppnt->p_type == 0x6474e552) {
+   relro_addr = ppnt->p_vaddr;
+   relro_size = ppnt->p_memsz;
+  }
+  if (ppnt->p_type == 1) {
+   char *tryaddr;
+   ssize_t size;
+
+   if (ppnt->p_flags & (1 << 1)) {
+    status = map_writeable (infile, ppnt, piclib, flags, libaddr);
+    if (status == ((void *)0))
+     goto cant_map1;
+   } else {
+    tryaddr = (piclib == 2 ? 0
+        : (char *) (ppnt->p_vaddr & (~(_dl_pagesize - 1)))
+        + (piclib ? libaddr : 0));
+    size = (ppnt->p_vaddr & (_dl_pagesize - 1)) + ppnt->p_filesz;
+    status = (char *) _dl_mmap
+        (tryaddr, size, ( (((ppnt->p_flags) & (1 << 2)) ? 0x1 : 0) | (((ppnt->p_flags) & (1 << 1)) ? 0x2 : 0) | (((ppnt->p_flags) & (1 << 0)) ? 0x4 : 0)),
+         flags | (piclib == 2 ? 0x01000
+           | 0x00800 : 0),
+         infile, ppnt->p_offset & ((~(_dl_pagesize - 1)) & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1))));
+    if ((((void *)status) == ((void *) -1))
+        || (tryaddr && tryaddr != status))
+      goto cant_map1;
+   }
+   (__dl_init_loadaddr_hdr ((lib_loadaddr), (status + (ppnt->p_vaddr & (_dl_pagesize - 1))), (ppnt), dl_init_loadaddr_load_count))
+
+               ;
+
+
+
+
+
+  }
+  ppnt++;
+ }
+# 686 "ldso/ldso/dl-elf.c"
+ if (piclib) {
+
+  dynamic_addr = (unsigned long) ((Elf32_Addr)__reloc_pointer ((void*)(dynamic_addr), (lib_loadaddr).map));
+ }
+# 698 "ldso/ldso/dl-elf.c"
+ if (!dynamic_addr) {
+  _dl_internal_error_number = 7;
+  _dl_dprintf(2, "%s: '%s' is missing a dynamic section\n",
+    _dl_progname, libname);
+  _dl_munmap(header, _dl_pagesize);
+  _dl_close(infile);
+  return ((void *)0);
+ }
+
+ dpnt = (Elf32_Dyn *) dynamic_addr;
+ _dl_memset(dynamic_info, 0, sizeof(dynamic_info));
+ rtld_flags = _dl_parse_dynamic_info(dpnt, dynamic_info, ((void *)0), lib_loadaddr);
+
+
+
+
+ if (dynamic_info[22]) {
+
+  ppnt = (Elf32_Phdr *)(intptr_t) & header[epnt->e_phoff];
+  for (i = 0; i < epnt->e_phnum; i++, ppnt++) {
+   if (ppnt->p_type == 1 && !(ppnt->p_flags & (1 << 1))) {
+
+
+
+
+
+
+    void *new_addr;
+    new_addr = map_writeable (infile, ppnt, piclib, flags, libaddr);
+    if (!new_addr) {
+     _dl_dprintf(2, "Can't modify %s's text section.",
+          libname);
+     _dl_exit(1);
+    }
+    (__dl_update_loadaddr_hdr ((lib_loadaddr), (new_addr + (ppnt->p_vaddr & (_dl_pagesize - 1))), (ppnt)))
+
+                  ;
+
+
+    _dl_parse_dynamic_info(dpnt, dynamic_info, ((void *)0), lib_loadaddr);
+
+   }
+  }
+
+
+
+
+
+
+ }
+
+ _dl_close(infile);
+
+ tpnt = _dl_add_elf_hash_table(libname, lib_loadaddr, dynamic_info,
+   dynamic_addr, 0);
+ tpnt->mapaddr = libaddr;
+ tpnt->relro_addr = relro_addr;
+ tpnt->relro_size = relro_size;
+ tpnt->st_dev = st.st_dev;
+ tpnt->st_ino = st.st_ino;
+ tpnt->ppnt = (Elf32_Phdr *)
+  ((
+ Elf32_Addr
+# 759 "ldso/ldso/dl-elf.c"
+  )__reloc_pointer ((void*)(epnt->e_phoff), ((tpnt->loadaddr)).map))
+                ;
+ tpnt->n_phent = epnt->e_phnum;
+ tpnt->rtld_flags |= rtld_flags;
+# 808 "ldso/ldso/dl-elf.c"
+ if (*rpnt
+
+
+
+
+  ) {
+  (*rpnt)->next = _dl_malloc(sizeof(struct dyn_elf));
+  _dl_memset((*rpnt)->next, 0, sizeof(struct dyn_elf));
+  (*rpnt)->next->prev = (*rpnt);
+  *rpnt = (*rpnt)->next;
+ }
+
+
+
+
+
+ else {
+  *rpnt = _dl_symbol_tables = _dl_malloc(sizeof(struct dyn_elf));
+  _dl_memset(*rpnt, 0, sizeof(struct dyn_elf));
+ }
+
+ (*rpnt)->dyn = tpnt;
+ tpnt->usage_count++;
+
+
+
+ tpnt->libtype = elf_lib;
+# 843 "ldso/ldso/dl-elf.c"
+ lpnt = (unsigned long *) dynamic_info[3];
+
+ if (lpnt) {
+  lpnt = (unsigned long *) (dynamic_info[3]);
+  { (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; };
+ }
+# 922 "ldso/ldso/dl-elf.c"
+ do {} while (0);
+ do {} while (0);
+ do {} while (0)
+                                                                         ;
+
+ _dl_munmap(header, _dl_pagesize);
+
+ return tpnt;
+}
+
+
+int _dl_fixup(struct dyn_elf *rpnt, struct r_scope_elem *scope, int now_flag)
+{
+ int goof = 0;
+ struct elf_resolve *tpnt;
+ Elf32_Word reloc_size, relative_count;
+ Elf32_Addr reloc_addr;
+
+ if (rpnt->next)
+  goof = _dl_fixup(rpnt->next, scope, now_flag);
+ if (goof)
+  return goof;
+ tpnt = rpnt->dyn;
+
+ if (!(tpnt->init_flag & 0x000001))
+  do {} while (0);
+
+ if (__builtin_expect((!!(tpnt->dynamic_info[7])),0)) {
+  do {} while (0)
+                                        ;
+  goof++;
+  return goof;
+ }
+
+ reloc_size = tpnt->dynamic_info[18];
+
+
+
+ reloc_size -= tpnt->dynamic_info [2];
+
+ if (tpnt->dynamic_info[17] &&
+     !(tpnt->init_flag & 0x000001)) {
+  reloc_addr = tpnt->dynamic_info[17];
+  relative_count = tpnt->dynamic_info[((34 + (1 + 0 + 0) + 0) - (1 + 0 + 0) - 0)];
+  if (relative_count) {
+   reloc_size -= relative_count * sizeof(Elf32_Rel);
+
+
+
+    elf_machine_relative(tpnt->loadaddr, reloc_addr, relative_count);
+   reloc_addr += relative_count * sizeof(Elf32_Rel);
+  }
+  goof += _dl_parse_relocation_information(rpnt, scope,
+    reloc_addr,
+    reloc_size);
+  tpnt->init_flag |= 0x000001;
+ }
+ if (tpnt->dynamic_info[24])
+  now_flag = 0x00002;
+ if (tpnt->dynamic_info[23] &&
+     (!(tpnt->init_flag & 0x000002) ||
+      (now_flag && !(tpnt->rtld_flags & now_flag)))) {
+  tpnt->rtld_flags |= now_flag;
+  if (!(tpnt->rtld_flags & 0x00002)) {
+   _dl_parse_lazy_relocation_information(rpnt,
+     tpnt->dynamic_info[23],
+     tpnt->dynamic_info [2]);
+  } else {
+   goof += _dl_parse_relocation_information(rpnt, scope,
+     tpnt->dynamic_info[23],
+     tpnt->dynamic_info[2]);
+  }
+  tpnt->init_flag |= 0x000002;
+ }
+# 1006 "ldso/ldso/dl-elf.c"
+ return goof;
+}
+
+
+void _dl_dprintf(int fd, const char *fmt, ...)
+{
+
+
+
+ int num;
+
+ va_list args;
+ char *start, *ptr, *string;
+ char *buf;
+
+ if (!fmt)
+  return;
+
+ buf = _dl_mmap((void *) 0, _dl_pagesize, 0x1 | 0x2,
+   0x02 | 0x20, -1, 0);
+ if ((((void *)buf) == ((void *) -1))) {
+  _dl_write(fd, "mmap of a spare page failed!\n", 29);
+  _dl_exit(20);
+ }
+
+ start = ptr = buf;
+
+ if (_dl_strlen(fmt) >= (_dl_pagesize - 1)) {
+  _dl_write(fd, "overflow\n", 11);
+  _dl_exit(20);
+ }
+
+ _dl_strcpy(buf, fmt);
+ __builtin_va_start(args,fmt);
+
+ while (start) {
+  while (*ptr != '%' && *ptr) {
+   ptr++;
+  }
+
+  if (*ptr == '%') {
+   *ptr++ = '\0';
+   _dl_write(fd, start, _dl_strlen(start));
+
+   switch (*ptr++) {
+    case 's':
+     string = __builtin_va_arg(args,char *);
+
+     if (!string)
+      _dl_write(fd, "(null)", 6);
+     else
+      _dl_write(fd, string, _dl_strlen(string));
+     break;
+
+    case 'i':
+    case 'd':
+     {
+      char tmp[22];
+
+
+
+      num = __builtin_va_arg(args,int);
+
+      string = _dl_simple_ltoa(tmp, num);
+      _dl_write(fd, string, _dl_strlen(string));
+      break;
+     }
+    case 'x':
+    case 'X':
+     {
+      char tmp[22];
+
+
+
+      num = __builtin_va_arg(args,int);
+
+      string = _dl_simple_ltoahex(tmp, num);
+      _dl_write(fd, string, _dl_strlen(string));
+      break;
+     }
+    default:
+     _dl_write(fd, "(null)", 6);
+     break;
+   }
+
+   start = ptr;
+  } else {
+   _dl_write(fd, start, _dl_strlen(start));
+   start = ((void *)0);
+  }
+ }
+ _dl_munmap(buf, _dl_pagesize);
+ return;
+}
+
+char *_dl_strdup(const char *string)
+{
+ char *retval;
+ int len;
+
+ len = _dl_strlen(string);
+ retval = _dl_malloc(len + 1);
+ _dl_strcpy(retval, string);
+ return retval;
+}
+
+unsigned int _dl_parse_dynamic_info(Elf32_Dyn *dpnt, unsigned long dynamic_info[],
+                                    void *debug_addr, struct elf32_fdpic_loadaddr load_off)
+{
+ return __dl_parse_dynamic_info(dpnt, dynamic_info, debug_addr, load_off);
+}
+# 1432 "ldso/ldso/ldso.c" 2