From f1c9f649da5b852929e537101edbbaabe99cb90c Mon Sep 17 00:00:00 2001 From: Henry Kroll III Date: Thu, 25 Nov 2010 02:57:19 -0800 Subject: [PATCH] x86_64: fix --with-libgcc and simplify biarch paths --- libtcc.c | 12 +++--------- tcc.h | 3 +++ tccelf.c | 8 ++------ 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/libtcc.c b/libtcc.c index 6594141..99a3929 100644 --- a/libtcc.c +++ b/libtcc.c @@ -970,15 +970,9 @@ LIBTCCAPI TCCState *tcc_new(void) #ifndef TCC_TARGET_PE /* default library paths */ -# if defined(TCC_TARGET_X86_64_CENTOS) - tcc_add_library_path(s, CONFIG_SYSROOT "/usr/lib64"); - tcc_add_library_path(s, CONFIG_SYSROOT "/lib64"); - tcc_add_library_path(s, CONFIG_SYSROOT "/usr/local/lib64"); -# else - tcc_add_library_path(s, CONFIG_SYSROOT "/usr/lib"); - tcc_add_library_path(s, CONFIG_SYSROOT "/lib"); - tcc_add_library_path(s, CONFIG_SYSROOT "/usr/local/lib"); -# endif + tcc_add_library_path(s, CONFIG_TCC_CRT_PREFIX); + tcc_add_library_path(s, CONFIG_TCC_LDDIR); + tcc_add_library_path(s, CONFIG_SYSROOT "/usr/local"CONFIG_TCC_LDDIR); #endif /* no section zero */ diff --git a/tcc.h b/tcc.h index 492c724..b35e67a 100644 --- a/tcc.h +++ b/tcc.h @@ -140,10 +140,13 @@ typedef int BOOL; /* path to find crt1.o, crti.o and crtn.o. Only needed when generating executables or dlls */ + #if defined(TCC_TARGET_X86_64_CENTOS) # define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib64" +# define CONFIG_TCC_LDDIR "/lib64" #else # define CONFIG_TCC_CRT_PREFIX CONFIG_SYSROOT "/usr/lib" +# define CONFIG_TCC_LDDIR "/lib" #endif #define INCLUDE_STACK_SIZE 32 diff --git a/tccelf.c b/tccelf.c index c93955b..a1ecf95 100644 --- a/tccelf.c +++ b/tccelf.c @@ -1251,7 +1251,7 @@ ST_FUNC void tcc_add_runtime(TCCState *s1) if (!s1->nostdlib) { #ifdef CONFIG_USE_LIBGCC tcc_add_library(s1, "c"); - tcc_add_file(s1, CONFIG_SYSROOT "/lib/libgcc_s.so.1"); + tcc_add_file(s1, CONFIG_TCC_LDDIR"/libgcc_s.so.1"); #else tcc_add_library(s1, "c"); #ifndef WITHOUT_LIBTCC @@ -1337,11 +1337,7 @@ static char elf_interp[] = "/lib/ld.so.1"; #elif defined TCC_ARM_EABI static const char elf_interp[] = "/lib/ld-linux.so.3"; #elif defined(TCC_TARGET_X86_64) -# if defined(TCC_TARGET_X86_64_CENTOS) -static const char elf_interp[] = "/lib64/ld-linux-x86-64.so.2"; -# else -static const char elf_interp[] = "/lib/ld-linux-x86-64.so.2"; -# endif /* TCC_TARGET_X86_64_CENTOS */ +static const char elf_interp[] = CONFIG_TCC_LDDIR"/ld-linux-x86-64.so.2"; #elif defined(TCC_UCLIBC) static const char elf_interp[] = "/lib/ld-uClibc.so.0"; #else