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
Unified · Split
| @@ -175,8 +175,8 @@ tcc_p$(EXESUF): $(NATIVE_FILES) · 174 unmodified lines | |||
| 175 | $(CC) -o $@ $< -DONE_SOURCE $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) | 175 | $(CC) -o $@ $< -DONE_SOURCE $(NATIVE_DEFINES) $(CPPFLAGS_P) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P) |
| 176 | 176 | ||
| 177 | $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ | 177 | $(I386_CROSS): DEFINES = -DTCC_TARGET_I386 \ |
| 178 | -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" -DCONFIG_MULTIARCHDIR="\"i386-linux-gnu\"" | 178 | -DCONFIG_TCCDIR="\"$(tccdir)/i386\"" |
| 179 | $(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 -DCONFIG_MULTIARCHDIR="\"x86_64-linux-gnu\"" | 179 | $(X64_CROSS): DEFINES = -DTCC_TARGET_X86_64 |
| 180 | $(WIN32_CROSS): DEFINES = -DTCC_TARGET_I386 -DTCC_TARGET_PE \ | 180 | $(WIN32_CROSS): DEFINES = -DTCC_TARGET_I386 -DTCC_TARGET_PE \ |
| 181 | -DCONFIG_TCCDIR="\"$(tccdir)/win32\"" \ | 181 | -DCONFIG_TCCDIR="\"$(tccdir)/win32\"" \ |
| 182 | -DCONFIG_TCC_LIBPATHS="\"{B}/lib/32;{B}/lib\"" | 182 | -DCONFIG_TCC_LIBPATHS="\"{B}/lib/32;{B}/lib\"" |
| @@ -187,8 +187,8 @@ $(WINCE_CROSS): DEFINES = -DTCC_TARGET_PE · 4 unmodified lines | |||
| 187 | $(C67_CROSS): DEFINES = -DTCC_TARGET_C67 | 187 | $(C67_CROSS): DEFINES = -DTCC_TARGET_C67 |
| 188 | $(ARM_FPA_CROSS): DEFINES = -DTCC_TARGET_ARM | 188 | $(ARM_FPA_CROSS): DEFINES = -DTCC_TARGET_ARM |
| 189 | $(ARM_FPA_LD_CROSS)$(EXESUF): DEFINES = -DTCC_TARGET_ARM -DLDOUBLE_SIZE=12 | 189 | $(ARM_FPA_LD_CROSS)$(EXESUF): DEFINES = -DTCC_TARGET_ARM -DLDOUBLE_SIZE=12 |
| 190 | $(ARM_VFP_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_VFP -DCONFIG_MULTIARCHDIR="\"arm-linux-gnu\"" | 190 | $(ARM_VFP_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_VFP |
| 191 | $(ARM_EABI_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_EABI -DTCC_ARM_VFP -DCONFIG_MULTIARCHDIR="\"arm-linux-gnueabi\"" | 191 | $(ARM_EABI_CROSS): DEFINES = -DTCC_TARGET_ARM -DTCC_ARM_EABI -DTCC_ARM_VFP |
| 192 | $(ARM64_CROSS): DEFINES = -DTCC_TARGET_ARM64 | 192 | $(ARM64_CROSS): DEFINES = -DTCC_TARGET_ARM64 |
| 193 | 193 | ||
| 194 | $(I386_CROSS): $(I386_FILES) | 194 | $(I386_CROSS): $(I386_FILES) |