From 5e41d36f7e1a7835181f17380a0203e39de5832c Mon Sep 17 00:00:00 2001 From: Alexey Sachkov Date: Thu, 26 Jun 2025 10:17:04 +0200 Subject: [PATCH] [SYCL][CMAKE] Refactor -fPIE handling CMake is capable of setting `-fPIE` correctly and we don't need to intervene with that. --- llvm/cmake/modules/AddSecurityFlags.cmake | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/llvm/cmake/modules/AddSecurityFlags.cmake b/llvm/cmake/modules/AddSecurityFlags.cmake index 7f49778e0a5b1..45179178e8800 100644 --- a/llvm/cmake/modules/AddSecurityFlags.cmake +++ b/llvm/cmake/modules/AddSecurityFlags.cmake @@ -131,14 +131,13 @@ macro(append_common_extra_security_flags) endif() # Position Independent Execution - if(is_gcc - OR is_clang - OR (is_icpx AND MSVC)) - # The project should be configured with -DCMAKE_POSITION_INDEPENDENT_CODE=ON - add_compile_option_ext("-fPIE" FPIE) - add_link_option_ext("-pie" PIE CMAKE_EXE_LINKER_FLAGS - CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) - elseif(is_msvc) + # We rely on CMake to set the right -fPIE flags for us, but it must be + # explicitly requested + if (NOT CMAKE_POSITION_INDEPENDENT_CODE) + message(FATAL_ERROR "To enable all necessary security flags, CMAKE_POSITION_INDEPENDENT_CODE must be set to ON") + endif() + + if(is_msvc) add_link_option_ext("/DYNAMICBASE" DYNAMICBASE CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS) endif()