Better support LLD 14+

This commit is contained in:
data-man
2021-09-30 04:27:06 +05:00
committed by Christoffer Lerno
parent 020eba720b
commit de6ea0d1ae
2 changed files with 5 additions and 7 deletions

View File

@@ -62,9 +62,6 @@ find_library(LLD_ELF NAMES lldELF.a liblldELF.a PATHS ${LLVM_LIBRARY_DIRS})
find_library(LLD_DRIVER NAMES lldDriver.a liblldDriver.a PATHS ${LLVM_LIBRARY_DIRS}) find_library(LLD_DRIVER NAMES lldDriver.a liblldDriver.a PATHS ${LLVM_LIBRARY_DIRS})
find_library(LLD_READER_WRITER NAMES lldReaderWriter.a liblldReaderWriter.a PATHS ${LLVM_LIBRARY_DIRS}) find_library(LLD_READER_WRITER NAMES lldReaderWriter.a liblldReaderWriter.a PATHS ${LLVM_LIBRARY_DIRS})
find_library(LLD_MACHO NAMES lldMachO.a liblldMachO.a PATHS ${LLVM_LIBRARY_DIRS}) find_library(LLD_MACHO NAMES lldMachO.a liblldMachO.a PATHS ${LLVM_LIBRARY_DIRS})
if("${LLVM_PACKAGE_VERSION}" VERSION_GREATER 13)
find_library(LLD_MACHOOLD NAMES lldMachOOld.a liblldMachOOld.a PATHS ${LLVM_LIBRARY_DIRS})
endif()
find_library(LLD_YAML NAMES lldYAML.a liblldYAML.a PATHS ${LLVM_LIBRARY_DIRS}) find_library(LLD_YAML NAMES lldYAML.a liblldYAML.a PATHS ${LLVM_LIBRARY_DIRS})
set(lld_libs set(lld_libs
@@ -79,9 +76,6 @@ set(lld_libs
${LLD_YAML} ${LLD_YAML}
${LLD_CORE} ${LLD_CORE}
) )
if("${LLVM_PACKAGE_VERSION}" VERSION_GREATER 13)
list(APPEND lld_libs ${LLD_MACHOOLD})
endif()
add_library(c3c_wrappers STATIC wrapper/src/wrapper.cpp) add_library(c3c_wrappers STATIC wrapper/src/wrapper.cpp)
add_executable(c3c add_executable(c3c

View File

@@ -57,7 +57,11 @@ static bool llvm_link(ObjFormat format, const char **args, int arg_count, const
if (lld::elf::link(arg_vector, false, output, output_err)) return true; if (lld::elf::link(arg_vector, false, output, output_err)) return true;
break; break;
case MACHO: case MACHO:
if (lld::mach_o::link(arg_vector, false, output, output_err)) return true; #if LLVM_VERSION_MAJOR > 13
if (lld::macho::link(arg_vector, false, output, output_err)) return true;
#else
if (lld::mach_o::link(arg_vector, false, output, output_err)) return true;
#endif
break; break;
case WASM: case WASM:
if (lld::wasm::link(arg_vector, false, output, output_err)) return true; if (lld::wasm::link(arg_vector, false, output, output_err)) return true;