diff options
Diffstat (limited to 'packaging/0001-Add-pie-to-linker-option.patch')
-rw-r--r-- | packaging/0001-Add-pie-to-linker-option.patch | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/packaging/0001-Add-pie-to-linker-option.patch b/packaging/0001-Add-pie-to-linker-option.patch new file mode 100644 index 0000000000..338e58e2a8 --- /dev/null +++ b/packaging/0001-Add-pie-to-linker-option.patch @@ -0,0 +1,104 @@ +From 2839b40789b70f23f25c575817cb9639f940c81e Mon Sep 17 00:00:00 2001 +From: CHUNSEOK LEE <chunseok.lee@samsung.com> +Date: Wed, 23 Aug 2017 16:42:31 +0900 +Subject: [PATCH] Add -pie to linker option + +There have been no -pie linker option. +This patch adds -pie linker option into crossgen, ildasm, ilasm, and +corerun, coreconsole +--- + src/coreclr/hosts/unixcoreconsole/CMakeLists.txt | 2 ++ + src/coreclr/hosts/unixcorerun/CMakeLists.txt | 2 ++ + src/dlls/mscorpe/CMakeLists.txt | 1 + + src/ilasm/CMakeLists.txt | 2 ++ + src/ildasm/exe/CMakeLists.txt | 1 + + src/ildasm/unixcoreclrloader/CMakeLists.txt | 2 ++ + src/tools/crossgen/CMakeLists.txt | 1 + + 7 files changed, 11 insertions(+) + +diff --git a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt +index 2daeaab..15d6d38 100644 +--- a/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt ++++ b/src/coreclr/hosts/unixcoreconsole/CMakeLists.txt +@@ -31,4 +31,6 @@ if(NOT CLR_CMAKE_PLATFORM_ANDROID) + ) + endif() + ++set_target_properties(coreconsole PROPERTIES LINK_FLAGS -pie) ++ + install_clr(coreconsole) +diff --git a/src/coreclr/hosts/unixcorerun/CMakeLists.txt b/src/coreclr/hosts/unixcorerun/CMakeLists.txt +index 07beaae..85499c8 100644 +--- a/src/coreclr/hosts/unixcorerun/CMakeLists.txt ++++ b/src/coreclr/hosts/unixcorerun/CMakeLists.txt +@@ -32,4 +32,6 @@ if(NOT CLR_CMAKE_PLATFORM_ANDROID) + ) + endif() + ++set_target_properties(corerun PROPERTIES LINK_FLAGS -pie) ++ + install_clr(corerun) +diff --git a/src/dlls/mscorpe/CMakeLists.txt b/src/dlls/mscorpe/CMakeLists.txt +index fd884b1..b4b1e5e 100644 +--- a/src/dlls/mscorpe/CMakeLists.txt ++++ b/src/dlls/mscorpe/CMakeLists.txt +@@ -12,6 +12,7 @@ set(MSCORPE_SOURCES + if(WIN32) + else() + add_compile_options(-Wno-delete-non-virtual-dtor) ++ add_compile_options(-fPIC) + endif(WIN32) + + add_library_clr(mscorpe STATIC +diff --git a/src/ilasm/CMakeLists.txt b/src/ilasm/CMakeLists.txt +index 9e99d02..5668d1f 100644 +--- a/src/ilasm/CMakeLists.txt ++++ b/src/ilasm/CMakeLists.txt +@@ -64,6 +64,8 @@ if(CLR_CMAKE_PLATFORM_UNIX) + palrt + ) + ++ set_target_properties(ilasm PROPERTIES LINK_FLAGS -pie) ++ + # FreeBSD and NetBSD implement dlopen(3) in libc + if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) + target_link_libraries(ilasm +diff --git a/src/ildasm/exe/CMakeLists.txt b/src/ildasm/exe/CMakeLists.txt +index bf09be5..cfd5db0 100644 +--- a/src/ildasm/exe/CMakeLists.txt ++++ b/src/ildasm/exe/CMakeLists.txt +@@ -54,6 +54,7 @@ if(CLR_CMAKE_PLATFORM_UNIX) + coreclrpal + palrt + ) ++ set_target_properties(ildasm PROPERTIES LINK_FLAGS -pie) + + # FreeBSD and NetBSD implement dlopen(3) in libc + if(NOT CMAKE_SYSTEM_NAME STREQUAL FreeBSD AND NOT CMAKE_SYSTEM_NAME STREQUAL NetBSD) +diff --git a/src/ildasm/unixcoreclrloader/CMakeLists.txt b/src/ildasm/unixcoreclrloader/CMakeLists.txt +index 6a3916b..abbe08c 100644 +--- a/src/ildasm/unixcoreclrloader/CMakeLists.txt ++++ b/src/ildasm/unixcoreclrloader/CMakeLists.txt +@@ -1,5 +1,7 @@ + project(unixcoreclrloader) + ++add_compile_options(-fPIC) ++ + include_directories(${CMAKE_SOURCE_DIR}/src/coreclr/hosts/unixcoreruncommon) + add_library(unixcoreclrloader + STATIC +diff --git a/src/tools/crossgen/CMakeLists.txt b/src/tools/crossgen/CMakeLists.txt +index 3b9c5ba..b8e9cf7 100644 +--- a/src/tools/crossgen/CMakeLists.txt ++++ b/src/tools/crossgen/CMakeLists.txt +@@ -50,6 +50,7 @@ if(CLR_CMAKE_PLATFORM_UNIX) + coreclrpal + palrt + ) ++ set_target_properties(crossgen PROPERTIES LINK_FLAGS -pie) + else() + target_link_libraries(crossgen + advapi32 +-- +2.7.4 + |