mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-17 18:16:42 +00:00
[compiler-rt][MSVC][CMake] Wrap Linker flags for ICX (#118496)
RFC: https://discourse.llvm.org/t/rfc-cmake-linker-flags-need-wl-equivalent-for-intel-c-icx-on-windows/82446 My previous pass missed some flags because I used `-Werror=unknown-argument`, but `/D`, `/I` and `/O` are accepted by clang (even when only linking), but mean different things than intended for `link.exe`.
This commit is contained in:
parent
2137ded301
commit
bba2507c19
@ -768,7 +768,7 @@ if (CMAKE_LINKER MATCHES "link.exe$")
|
||||
# it, but CMake doesn't seem to have a way to set linker flags for
|
||||
# individual static libraries, so we enable the suppression flag for
|
||||
# the whole compiler-rt project.
|
||||
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /IGNORE:4221")
|
||||
set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} ${CMAKE_CXX_LINKER_WRAPPER_FLAG}/IGNORE:4221")
|
||||
endif()
|
||||
|
||||
add_subdirectory(include)
|
||||
|
@ -141,7 +141,7 @@ append_list_if(COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC
|
||||
# LLVM turns /OPT:ICF back on when LLVM_ENABLE_PDBs is set
|
||||
# we _REALLY_ need to turn it back off for ASAN, because the way
|
||||
# asan emulates weak functions from DLLs requires NOICF
|
||||
append_list_if(MSVC "/DEBUG;/OPT:NOICF" ASAN_DYNAMIC_LINK_FLAGS)
|
||||
append_list_if(MSVC "LINKER:/DEBUG;LINKER:/OPT:NOICF" ASAN_DYNAMIC_LINK_FLAGS)
|
||||
|
||||
set(ASAN_DYNAMIC_LIBS
|
||||
${COMPILER_RT_UNWINDER_LINK_LIBS}
|
||||
|
Loading…
x
Reference in New Issue
Block a user