ulibc: #define TCC_UCLIBC and load elf_interp

This commit is contained in:
grischka 2009-05-16 22:29:40 +02:00
parent bf8d8f5f3e
commit 68310299b6
3 changed files with 12 additions and 5 deletions

View File

@ -1,8 +1,10 @@
version 0.9.25: version 0.9.25:
- split tcc.c into tcc.h libtcc.c tccpp.c tccgen.c tcc.c
- first support for x86-64 target (Shinichiro Hamaji) - first support for x86-64 target (Shinichiro Hamaji)
- support µClibc
- split tcc.c into tcc.h libtcc.c tccpp.c tccgen.c tcc.c
- improved preprocess output with linenumbers and spaces preserved - improved preprocess output with linenumbers and spaces preserved
- tcc_relocate now copies code into user buffer
- fix bitfields with non-int types and in unions - fix bitfields with non-int types and in unions
- improve ARM cross-compiling (Daniel Glöckner) - improve ARM cross-compiling (Daniel Glöckner)
- link stabstr sections from multiple objects - link stabstr sections from multiple objects

View File

@ -58,6 +58,11 @@ endif
endif endif
endif endif
ifneq ($(wildcard /lib/ld-uClibc.so.0),)
NATIVE_TARGET+=-DTCC_UCLIBC
BCHECK_O=
endif
ifdef CONFIG_USE_LIBGCC ifdef CONFIG_USE_LIBGCC
LIBTCC1= LIBTCC1=
endif endif

View File

@ -1272,17 +1272,17 @@ static void tcc_add_linker_symbols(TCCState *s1)
} }
/* name of ELF interpreter */ /* name of ELF interpreter */
#ifdef __FreeBSD__ #if defined __FreeBSD__
static char elf_interp[] = "/usr/libexec/ld-elf.so.1"; static char elf_interp[] = "/usr/libexec/ld-elf.so.1";
#else #elif defined TCC_ARM_EABI
#ifdef TCC_ARM_EABI
static char elf_interp[] = "/lib/ld-linux.so.3"; static char elf_interp[] = "/lib/ld-linux.so.3";
#elif defined(TCC_TARGET_X86_64) #elif defined(TCC_TARGET_X86_64)
static char elf_interp[] = "/lib/ld-linux-x86-64.so.2"; static char elf_interp[] = "/lib/ld-linux-x86-64.so.2";
#elif defined(TCC_UCLIBC)
static char elf_interp[] = "/lib/ld-uClibc.so.0";
#else #else
static char elf_interp[] = "/lib/ld-linux.so.2"; static char elf_interp[] = "/lib/ld-linux.so.2";
#endif #endif
#endif
static void tcc_output_binary(TCCState *s1, FILE *f, static void tcc_output_binary(TCCState *s1, FILE *f,
const int *section_order) const int *section_order)