diff --git a/clang/tools/clang-repl/CMakeLists.txt b/clang/tools/clang-repl/CMakeLists.txt index b0aaf39f01154..2a0f617a2c0ff 100644 --- a/clang/tools/clang-repl/CMakeLists.txt +++ b/clang/tools/clang-repl/CMakeLists.txt @@ -24,6 +24,11 @@ if(CLANG_PLUGIN_SUPPORT) endif() string(TOUPPER ${CMAKE_SYSTEM_PROCESSOR} system_processor) -if(${system_processor} MATCHES "ARM") - target_link_options(clang-repl PRIVATE LINKER:--long-plt) +if(system_processor MATCHES "ARM") + set(FLAG_LONG_PLT "-Wl,--long-plt") + llvm_check_linker_flag(CXX ${FLAG_LONG_PLT} LINKER_HAS_FLAG_LONG_PLT) + # Linkers without this flag are assumed to have long PLTs by default + if(LINKER_HAS_FLAG_LONG_PLT) + target_link_options(clang-repl PRIVATE ${FLAG_LONG_PLT}) + endif() endif()