From 7ec39e2288e2735ea5917c1bdb72bbee0ba21e7a Mon Sep 17 00:00:00 2001 From: seyko Date: Wed, 4 Mar 2015 10:50:33 +0300 Subject: [PATCH] reverse a commit a6149c6dbb41: Set CONFIG_MULTIARCHDIR for cross compilers. Set CONFIG_MULTIARCHDIR for cross compilers. Chances a cross-compiler will find a working crt*.o in /usr/lib are more or less 0. This commit breaks x86 / x86_64 compilres for linux. A solution for the crt*.o must be discussed. must be: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64, Linux) install: /usr/local/lib/tcc crt: /usr/lib64 libraries: /usr/lib64 /lib64 /usr/local/lib64 include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 and with MULTIARCH we have: # ./x86_64-tcc -vv tcc version 0.9.26 (x86-64 Linux) install: /usr/local/lib/tcc/ crt: /usr/lib/x86_64-linux-gnu ??????????????????? libraries: /usr/lib/x86_64-linux-gnu /usr/lib ??????????????????? /lib/x86_64-linux-gnu /lib ??????????????????? /usr/local/lib/x86_64-linux-gnu /usr/local/lib ??????????????????? include: /usr/local/include/x86_64-linux-gnu /usr/local/include /usr/include/x86_64-linux-gnu /usr/include /usr/local/lib/tcc/include elfinterp: /lib64/ld-linux-x86-64.so.2 And CONFIG_MULTIARCHDIR don't handle C67. On Linux x86 we have: # ./c67-tcc -vv tcc version 0.9.26 (C67, Linux) install: /usr/local/lib/tcc crt: /usr/lib libraries: /usr/lib /lib /usr/local/lib include: /usr/local/include /usr/include /usr/local/lib/tcc/include elfinterp: /lib/ld-linux.so.2 --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 7ddc81c..366e254 100644 --- a/Makefile +++ b/Makefile @@ -175,8 +175,8 @@ tcc_p$(EXESUF): $(NATIVE_FILES) $(CC) -o $@ $< -DONE_SOURCE $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ - -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" -DCONFIG_MULTIARCHDIR="\"i386-linux-gnu\"" -$(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 -DCONFIG_MULTIARCHDIR="\"x86_64-linux-gnu\"" + -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" +$(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 $(WIN32_CROSS): DEFINES = -DTCC_TARGET_I386 -DTCC_TARGET_PE \ -DCONFIG_TCCDIR="\"$(tccdir)/win32\"" \ -DCONFIG_TCC_LIBPATHS="\"{B}/lib/32;{B}/lib\"" @@ -187,8 +187,8 @@ $(WINCE_CROSS): DEFINES = -DTCC_TARGET_PE $(C67_CROSS): DEFINES = -DTCC_TARGET_C67 $(ARM_FPA_CROSS): DEFINES = -DTCC_TARGET_ARM $(ARM_FPA_LD_CROSS)$(EXESUF): DEFINES = -DTCC_TARGET_ARM -DLDOUBLE_SIZE=12 -$(ARM_VFP_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_VFP -DCONFIG_MULTIARCHDIR="\"arm-linux-gnu\"" -$(ARM_EABI_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_EABI -DTCC_ARM_VFP -DCONFIG_MULTIARCHDIR="\"arm-linux-gnueabi\"" +$(ARM_VFP_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_VFP +$(ARM_EABI_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_EABI -DTCC_ARM_VFP $(ARM64_CROSS): DEFINES = -DTCC_TARGET_ARM64 $(I386_CROSS): $(I386_FILES)