diff options
-rw-r--r-- | packaging/0001-Add-pie-to-linker-option.patch | 104 | ||||
-rw-r--r-- | packaging/coreclr.spec | 4 |
2 files changed, 107 insertions, 1 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 + diff --git a/packaging/coreclr.spec b/packaging/coreclr.spec index 46211a05e3..1da9342099 100644 --- a/packaging/coreclr.spec +++ b/packaging/coreclr.spec @@ -23,7 +23,7 @@ Source1000: downloaded_files.tar.gz Source1001: %{name}.manifest Source1002: libicu.tar.gz Source1003: dep_libs.tar.gz -# Gbp-Ignore-Patches: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 +# Gbp-Ignore-Patches: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Patch0: Add-project.assets.json-files.patch Patch1: Add-Tizen-RuntimeID-case.patch Patch2: Change-O3-build-in-clang3.8.patch @@ -43,6 +43,7 @@ Patch15: 0001-Fix-CreateDump-related-undefined-reference-on-non-AM.patch Patch16: 0001-ARM-Linux-Enable-DacStackWalk.patch Patch17: profiling.patch Patch18: clear_cache.patch +Patch19: 0001-Add-pie-to-linker-option.patch ExcludeArch: aarch64 @@ -160,6 +161,7 @@ cp %{SOURCE1001} . %patch16 -p1 %patch17 -p1 %patch18 -p1 +%patch19 -p1 %if 0%{skipmscorlib} %else |