summaryrefslogtreecommitdiff
path: root/src/pal
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2019-08-23 17:03:01 +0200
committerHyungju Lee <leee.lee@samsung.com>2020-10-30 18:16:43 +0900
commite3908751b71e2ae704e76f018af0db91319750f2 (patch)
tree93cefb6b0c02c0e568c5f07e1badabfe3c7fac9a /src/pal
parent09a47f75fc7c4e6a09f8799a7de05e9c1f9e187a (diff)
downloadcoreclr-e3908751b71e2ae704e76f018af0db91319750f2.tar.gz
coreclr-e3908751b71e2ae704e76f018af0db91319750f2.tar.bz2
coreclr-e3908751b71e2ae704e76f018af0db91319750f2.zip
Fix PIE options (#26323)
* Fix PIE options We were missing passing the -pie linker option. That means that while we were compiling our code as position independent, the executables (not shared libraries) were not marked as position independent and ASLR was not applied to them. They were always loaded to fixed addresses. This change adds the missing -pie option and also replaces all the individual settings of -fPIE / -fPIC on the targets we build by a centralized setting of CMAKE_POSITION_INDEPENDENT_CODE variable that causes cmake to add the appropriate compiler options everywhere. * Fix native parts of coreclr tests build The native parts of the tests are not built using the root CMakeLists.txt so I am moving enabling the position independent code to configurecompiler.cmake Change-Id: Ieafff8984ec23e5fdb00fb0c2fb017e53afbce88
Diffstat (limited to 'src/pal')
-rw-r--r--src/pal/src/CMakeLists.txt2
-rw-r--r--src/pal/src/eventprovider/lttngprovider/CMakeLists.txt2
-rw-r--r--src/pal/tests/palsuite/exception_handling/pal_sxs/test1/CMakeLists.txt1
3 files changed, 0 insertions, 5 deletions
diff --git a/src/pal/src/CMakeLists.txt b/src/pal/src/CMakeLists.txt
index 3bc1dc89a0..683eda0c7e 100644
--- a/src/pal/src/CMakeLists.txt
+++ b/src/pal/src/CMakeLists.txt
@@ -9,8 +9,6 @@ if(NOT DEFINED ENV{ROOTFS_DIR})
include_directories(SYSTEM /usr/local/include)
endif()
-add_compile_options(-fPIC)
-
if(NOT CLR_CMAKE_USE_SYSTEM_LIBUNWIND)
include_directories(libunwind/include)
include_directories(libunwind/include/tdep)
diff --git a/src/pal/src/eventprovider/lttngprovider/CMakeLists.txt b/src/pal/src/eventprovider/lttngprovider/CMakeLists.txt
index b5bf8e8551..1f49aef64e 100644
--- a/src/pal/src/eventprovider/lttngprovider/CMakeLists.txt
+++ b/src/pal/src/eventprovider/lttngprovider/CMakeLists.txt
@@ -46,8 +46,6 @@ add_library(eventprovider
eventproviderhelpers.cpp
)
-add_compile_options(-fPIC)
-
add_library(coreclrtraceptprovider
SHARED
${TRACEPOINT_PROVIDER_SOURCES}
diff --git a/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/CMakeLists.txt b/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/CMakeLists.txt
index 4a3abc2d64..685ac2ed4f 100644
--- a/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/CMakeLists.txt
+++ b/src/pal/tests/palsuite/exception_handling/pal_sxs/test1/CMakeLists.txt
@@ -3,7 +3,6 @@ cmake_minimum_required(VERSION 2.8.12.2)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
if(CLR_CMAKE_PLATFORM_UNIX)
- add_compile_options(-fPIC)
add_definitions(-DFEATURE_ENABLE_HARDWARE_EXCEPTIONS)
endif(CLR_CMAKE_PLATFORM_UNIX)