armoring patch : relro, stack-proector, FORTIFY_SOURCE 14/167914/1 accepted/tizen/4.0/unified/20180131.050518 submit/tizen_4.0/20180123.043328 submit/tizen_4.0/20180219.074333
authorchunseok lee <chunseok.lee@samsung.com>
Tue, 23 Jan 2018 02:34:15 +0000 (11:34 +0900)
committerchunseok lee <chunseok.lee@samsung.com>
Tue, 23 Jan 2018 04:07:56 +0000 (13:07 +0900)
armoring request from PM team

Change-Id: I32610d6a1a6a2364fe89a55b05bffcb3ac93e2ff
Signed-off-by: chunseok lee <chunseok.lee@samsung.com>
packaging/coreclr.spec

index dbb6c65..194cf43 100644 (file)
@@ -294,12 +294,19 @@ export PAL_API_TRACING="pal.log"
 export PAL_DBG_CHANNELS=""
 %endif
 
+%ifarch %{arm}
+# for armoring request from PM group
+# FIXME1: If you find better solution like CMAKE_CXX_FLAGS, please fix this
+# FIXME2: This patch does not work on non-arm archtecture
+export CXXFLAGS+="-fstack-protector-strong -D_FORTIFY_SOURCE=2"
+%endif
+
 %if 0%{skipmscorlib}
 %if 0%{skipnative}
 # No build native and mscorlib.
 %else
 # Build native only.
-./build.sh %{_barch} %{_buildtype} clang3.8 skipmscorlib skipgenerateversion skipnuget %{testopt} cmakeargs "-DFEATURE_GDBJIT=TRUE -DFEATURE_DBGIPC=0 -DFEATURE_NI_BIND_FALLBACK=false -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++"
+./build.sh %{_barch} %{_buildtype} clang3.8 skipmscorlib skipgenerateversion skipnuget %{testopt} cmakeargs "-DFEATURE_GDBJIT=TRUE -DFEATURE_DBGIPC=0 -DFEATURE_NI_BIND_FALLBACK=false -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro"
 %endif
 %else
 %if 0%{skipnative}
@@ -307,7 +314,7 @@ export PAL_DBG_CHANNELS=""
 ./build.sh %{_barch} %{_buildtype} -skiprestore skipnative skipnuget %{testopt}
 %else
 # Build native and mscorlib.
-./build.sh %{_barch} %{_buildtype} clang3.8 skipgenerateversion -skiprestore skipnuget %{testopt} cmakeargs "-DFEATURE_GDBJIT=TRUE -DFEATURE_DBGIPC=0 -DFEATURE_NI_BIND_FALLBACK=false -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++"
+./build.sh %{_barch} %{_buildtype} clang3.8 skipgenerateversion -skiprestore skipnuget %{testopt} cmakeargs "-DFEATURE_GDBJIT=TRUE -DFEATURE_DBGIPC=0 -DFEATURE_NI_BIND_FALLBACK=false -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_SHARED_LINKER_FLAGS=-Wl,-z,relro -DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,relro"
 %endif
 %endif