diff options
author | Shoaib Meenai <smeenai@fb.com> | 2019-06-15 04:40:16 +0000 |
---|---|---|
committer | Shoaib Meenai <smeenai@fb.com> | 2019-06-15 04:40:16 +0000 |
commit | 15ba80d0a92f46465dcfddce402e35b444cfcf84 (patch) | |
tree | 80fd10b2321d78b7ae97ec7e4d50f1c667767f4a /cmake/Modules | |
parent | 8c96852b9821934b8eccb5fa9ec465cbacdd0f3e (diff) | |
download | compiler-rt-15ba80d0a92f46465dcfddce402e35b444cfcf84.tar.gz |
[compiler-rt] Respect CMAKE_NM
The default nm executable may not be able to handle the architecture
we're building the sanitizers for. Respect CMAKE_NM if it's set to
ensure we're using the correct nm tool. Preserve the existing NM
environment variable override to not break its users.
Differential Revision: https://reviews.llvm.org/D63368
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@363483 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'cmake/Modules')
-rw-r--r-- | cmake/Modules/SanitizerUtils.cmake | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/cmake/Modules/SanitizerUtils.cmake b/cmake/Modules/SanitizerUtils.cmake index 64d3ed92c..699b03ae6 100644 --- a/cmake/Modules/SanitizerUtils.cmake +++ b/cmake/Modules/SanitizerUtils.cmake @@ -6,6 +6,12 @@ set(SANITIZER_GEN_DYNAMIC_LIST set(SANITIZER_LINT_SCRIPT ${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/scripts/check_lint.sh) +if(CMAKE_NM) + set(SANITIZER_NM "${CMAKE_NM}") +else() + set(SANITIZER_NM nm) +endif() + # Create a target "<name>-<arch>-symbols" that would generate the list of # symbols that need to be exported from sanitizer runtime "<name>". Function # interceptors are exported automatically, user can also provide files with @@ -30,7 +36,7 @@ macro(add_sanitizer_rt_symbols name) add_custom_command(OUTPUT ${stamp} COMMAND ${PYTHON_EXECUTABLE} ${SANITIZER_GEN_DYNAMIC_LIST} ${extra_args} $<TARGET_FILE:${target_name}> - -o $<TARGET_FILE:${target_name}>.syms + --nm-executable "${SANITIZER_NM}" -o $<TARGET_FILE:${target_name}>.syms COMMAND ${CMAKE_COMMAND} -E touch ${stamp} DEPENDS ${target_name} ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} @@ -80,7 +86,7 @@ macro(add_sanitizer_rt_version_list name) add_custom_command(OUTPUT ${vers} COMMAND ${PYTHON_EXECUTABLE} ${SANITIZER_GEN_DYNAMIC_LIST} --version-list ${args} - -o ${vers} + --nm-executable "${SANITIZER_NM}" -o ${vers} DEPENDS ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA} ${ARG_LIBS} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Generating version list for ${name}" |