Add a --multiarch-triplet switch to configure
Add a --multiarch-triplet switch to configure. The switch will allow files to be search for each default path in path/<triplet> and then path. Default paths handled that way: - CONFIG_TCC_SYSINCLUDE_PATHS - CONFIG_TCC_LIBPATH - path to crt*.o - path to libgcc_s.so.1 Path missing: elf interpreter path (will be handled in another commit)
This commit is contained in:
10
tccelf.c
10
tccelf.c
@ -1238,7 +1238,10 @@ 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 CONFIG_TCC_LDDIR"/libgcc_s.so.1");
|
||||
#ifdef CONFIG_TCC_MULTIARCH_TRIPLET
|
||||
if (tcc_add_file_internal(s1, CONFIG_SYSROOT CONFIG_TCC_LDDIR "/" CONFIG_TCC_MULTIARCH_TRIPLET "/libgcc_s.so.1", 0))
|
||||
#endif
|
||||
tcc_add_file(s1, CONFIG_SYSROOT CONFIG_TCC_LDDIR"/libgcc_s.so.1");
|
||||
#else
|
||||
tcc_add_library(s1, "c");
|
||||
#ifndef WITHOUT_LIBTCC
|
||||
@ -1252,7 +1255,10 @@ ST_FUNC void tcc_add_runtime(TCCState *s1)
|
||||
}
|
||||
/* add crt end if not memory output */
|
||||
if (s1->output_type != TCC_OUTPUT_MEMORY && !s1->nostdlib) {
|
||||
tcc_add_file(s1, CONFIG_SYSROOT CONFIG_TCC_CRT_PREFIX "/crtn.o");
|
||||
#ifdef CONFIG_TCC_MULTIARCH_TRIPLET
|
||||
if (tcc_add_file_internal(s1, CONFIG_SYSROOT CONFIG_TCC_CRT_PREFIX "/" CONFIG_TCC_MULTIARCH_TRIPLET "/crtn.o", 0))
|
||||
#endif
|
||||
tcc_add_file(s1, CONFIG_SYSROOT CONFIG_TCC_CRT_PREFIX "/crtn.o");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user