. .. ... stdbool.h.float.h. varargs.h.stdarg.h.tcclib.h.stddef.h#ifndef _STDBOOL_H #define _STDBOOL_H /* ISOC99 boolean */ #define bool _Bool #define true 1 #define false 0 #endif /* _STDBOOL_H */ #ifndef _FLOAT_H_ #define _FLOAT_H_ #define FLT_RADIX 2 /* IEEE float */ #define FLT_MANT_DIG 24 #define FLT_DIG 6 #define FLT_ROUNDS 1 #define FLT_EPSILON 1.19209290e-07F #define FLT_MIN_EXP (-125) #define FLT_MIN 1.17549435e-38F #define FLT_MIN_10_EXP (-37) #define FLT_MAX_EXP 128 #define FLT_MAX 3.40282347e+38F #define FLT_MAX_10_EXP 38 /* IEEE double */ #define DBL_MANT_DIG 53 #define DBL_DIG 15 #define DBL_EPSILON 2.2204460492503131e-16 #define DBL_MIN_EXP (-1021) #define DBL_MIN 2.2250738585072014e-308 #define DBL_MIN_10_EXP (-307) #define DBL_MAX_EXP 1024 #define DBL_MAX 1.7976931348623157e+308 #define DBL_MAX_10_EXP 308 /* horrible intel long double */ #ifdef __i386__ #define LDBL_MANT_DIG 64 #define LDBL_DIG 18 #define LDBL_EPSILON 1.08420217248550443401e-19L #define LDBL_MIN_EXP (-16381) #define LDBL_MIN 3.36210314311209350626e-4932L #define LDBL_MIN_10_EXP (-4931) #define LDBL_MAX_EXP 16384 #define LDBL_MAX 1.18973149535723176502e+4932L #define LDBL_MAX_10_EXP 4932 #else /* same as IEEE double */ #define LDBL_MANT_DIG 53 #define LDBL_DIG 15 #define LDBL_EPSILON 2.2204460492503131e-16 #define LDBL_MIN_EXP (-1021) #define LDBL_MIN 2.2250738585072014e-308 #define LDBL_MIN_10_EXP (-307) #define LDBL_MAX_EXP 1024 #define LDBL_MAX 1.7976931348623157e+308 #define LDBL_MAX_10_EXP 308 #endif #endif /* _FLOAT_H_ */ #ifndef _VARARGS_H #define _VARARGS_H #include #define va_dcl #define va_alist __va_alist #undef va_start #define va_start(ap) ap = __builtin_varargs_start #endif #ifndef _STDARG_H #define _STDARG_H #ifdef __x86_64__ #include /* GCC compatible definition of va_list. */ struct __va_list_struct { unsigned int gp_offset; unsigned int fp_offset; union { unsigned int overflow_offset; char *overflow_arg_area; }; char *reg_save_area; }; typedef struct __va_list_struct *va_list; /* we use __builtin_(malloc|free) to avoid #define malloc tcc_malloc */ /* XXX: this lacks the support of aggregated types. */ #define va_start(ap, last) \ (ap = (va_list)__builtin_malloc(sizeof(struct __va_list_struct)), \ *ap = *(struct __va_list_struct*)( \ (char*)__builtin_frame_address(0) - 16), \ ap->overflow_arg_area = ((char *)__builtin_frame_address(0) + \ ap->overflow_offset), \ ap->reg_save_area = (char *)__builtin_frame_address(0) - 176 - 16 \ ) #define va_arg(ap, type) \ (*(type*)(__builtin_types_compatible_p(type, long double) \ ? (ap->overflow_arg_area += 16, \ ap->overflow_arg_area - 16) \ : __builtin_types_compatible_p(type, double) \ ? (ap->fp_offset < 128 + 48 \ ? (ap->fp_offset += 16, \ ap->reg_save_area + ap->fp_offset - 16) \ : (ap->overflow_arg_area += 8, \ ap->overflow_arg_area - 8)) \ : (ap->gp_offset < 48 \ ? (ap->gp_offset += 8, \ ap->reg_save_area + ap->gp_offset - 8) \ : (ap->overflow_arg_area += 8, \ ap->overflow_arg_area - 8)) \ )) #define va_copy(dest, src) \ ((dest) = (va_list)malloc(sizeof(struct __va_list_struct)), \ *(dest) = *(src)) #define va_end(ap) __builtin_free(ap) #else typedef char *va_list; /* only correct for i386 */ #define va_start(ap,last) ap = ((char *)&(last)) + ((sizeof(last)+3)&~3) #define va_arg(ap,type) (ap += (sizeof(type)+3)&~3, *(type *)(ap - ((sizeof(type)+3)&~3))) #define va_copy(dest, src) (dest) = (src) #define va_end(ap) #endif /* fix a buggy dependency on GCC in libio.h */ typedef va_list __gnuc_va_list; #define _VA_LIST_DEFINED #endif /* _STDARG_H */ /* Simple libc header for TCC * * Add any function you want from the libc there. This file is here * only for your convenience so that you do not need to put the whole * glibc include files on your floppy disk */ #ifndef _TCCLIB_H #define _TCCLIB_H #include #include /* stdlib.h */ void *calloc(size_t nmemb, size_t size); void *malloc(size_t size); void free(void *ptr); void *realloc(void *ptr, size_t size); int atoi(const char *nptr); long int strtol(const char *nptr, char **endptr, int base); unsigned long int strtoul(const char *nptr, char **endptr, int base); void exit(int); /* stdio.h */ typedef struct __FILE FILE; #define EOF (-1) extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; FILE *fopen(const char *path, const char *mode); FILE *fdopen(int fildes, const char *mode); FILE *freopen(const char *path, const char *mode, FILE *stream); int fclose(FILE *stream); size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(void *ptr, size_t size, size_t nmemb, FILE *stream); int fgetc(FILE *stream); char *fgets(char *s, int size, FILE *stream); int getc(FILE *stream); int getchar(void); char *gets(char *s); int ungetc(int c, FILE *stream); int fflush(FILE *stream); int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...); int asprintf(char **strp, const char *format, ...); int dprintf(int fd, const char *format, ...); int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap); int vasprintf(char **strp, const char *format, va_list ap); int vdprintf(int fd, const char *format, va_list ap); void perror(const char *s); /* string.h */ char *strcat(char *dest, const char *src); char *strchr(const char *s, int c); char *strrchr(const char *s, int c); char *strcpy(char *dest, const char *src); void *memcpy(void *dest, const void *src, size_t n); void *memmove(void *dest, const void *src, size_t n); void *memset(void *s, int c, size_t n); char *strdup(const char *s); /* dlfcn.h */ #define RTLD_LAZY 0x001 #define RTLD_NOW 0x002 #define RTLD_GLOBAL 0x100 void *dlopen(const char *filename, int flag); const char *dlerror(void); void *dlsym(void *handle, char *symbol); int dlclose(void *handle); #endif /* _TCCLIB_H */ #ifndef _STDDEF_H #define _STDDEF_H #define NULL ((void *)0) typedef __SIZE_TYPE__ size_t; typedef __WCHAR_TYPE__ wchar_t; typedef __PTRDIFF_TYPE__ ptrdiff_t; #define offsetof(type, field) ((size_t) &((type *)0)->field) #ifndef __int8_t_defined #define __int8_t_defined typedef char int8_t; typedef short int int16_t; typedef int int32_t; typedef long long int int64_t; #endif void *alloca(size_t size); #endif ! / 1305387188 0 0 0 284 ` ``````````````` __divdi3__moddi3__udivdi3__umoddi3__ashrdi3__lshrdi3__ashldi3__floatundisf__floatundidf__floatundixf__fixunssfdi__fixunsdfdi__fixunsxfdi__tcc_fpu_control__tcc_int_fpu_controlalloca__bound_allocalibtcc1.o/ 1305387188 500 100 100644 2832 ` ELF4( UWVS$EM܉ӉNjU ƉM]u<9ȉ1ɋ}t ]Cʃ$[^_] 9vutEX11҃$[^_]ЃEuu;Ur ;}7M)ӉM]UU]MK1҃$[^_]fu 11҉EC ME E)EM ЉEMڊMME܊M ؋]܊M]uU؉UЉ9UrhM9tQEt4U؋M)UЉMԊMmԉЊM EԊMU؋UԋEM؉H1҃$[^_]Ív'9Est&'KE)EEf1'UWVSEU M]E։M]x<1xKjEPEPE t؃ڍe[^_]Í؃ډEֿy׉ȉ؃ډEU렍UWVS$EU M]Eԉ։M؉]܅x<1xKEPEPEPEԉP t ]U]EUe[^_]Ð؃ډEԉֿyȉ؃ډE؉U뢐&USEU M]EM] []UEU MQMQMQEUÍt&'UEU M t]ÍvUEU M t1]Ít&UEU M t1]Ít&UUM xQR,$ÍQR,$]EÍv'UUM xQR,$ÍQR,$]EÍv'UUM xQR,$]É'QR,$]UUtV%j(1% xA1 t1] ]Ít&11]Ív'|1]ÍvUWVSUM Љ tY%-3E 2}x=ЉM t1[[^_]f[[^_]11[[^_]Í}|]ЉM t1UVS EU MEUMEUEU t&E%->@~5 [^]Ít&Efu11҃ [^]Í'|؋]u t1؉ [^]_GCC: (Buildroot 2011.02) 4.3.5.symtab.strtab.shstrtab.rel.text.data.bss.rodata.cst4.comment.note.GNU-stack@(  %h+l0l=0p FV    !p*$40%>`HR\6j6x@0p}libtcc1.c__udivmoddi4__divdi3__moddi3__udivdi3__umoddi3__ashrdi3__lshrdi3__ashldi3__floatundisf__floatundidf__floatundixf__fixunssfdi__fixunsdfdi__fixunsxfdi__tcc_fpu_control__tcc_int_fpu_control*jalloca86.o/ 1305387188 500 100 100644 503 ` ELFt4(ZXt)ĉRR.symtab.strtab.shstrtab.text.data.bss4!H'HH,`  p3alloca alloca86-bt.o/ 1305387188 500 100 100644 616 ` ELF4(ZXt)ĉRPQPXZRR.symtab.strtab.shstrtab.rel.text.data.bss4! `%X+XX0p 8&p6__bound_alloca__bound_new_region/* GNU ld script * Use the shared library, but some functions are only in * the static library, so try that secondarily. */ OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") GROUP ( /lib/libc.so.0 /usr/lib/uclibc_nonshared.a AS_NEEDED ( /lib/ld-uClibc.so.0 ) ) ELF4( [][]Ë$.symtab.strtab.shstrtab.text.data.bss.init.fini.gnu.linkonce.t.__get_pc_thunk_bx.note.GNU-stack4!4'4,4278:Z>>j`   * initfini.c_init_fini__get_pc_thunk_bx