Apply Full RELRO linker options ("-Wl,-z,relro,-z,now") to storaged 33/174633/1 submit/tizen/20180402.232840 submit/tizen/20180403.100743
authorHyotaek Shim <hyotaek.shim@samsung.com>
Tue, 3 Apr 2018 08:34:11 +0000 (17:34 +0900)
committerHyotaek Shim <hyotaek.shim@samsung.com>
Tue, 3 Apr 2018 08:34:16 +0000 (17:34 +0900)
In addition to Partial RELRO, Full RELRO makes "GOT Table becomes read-only."

Change-Id: I1b946a542281a4b62f578d843189f768d3a6f72c
Signed-off-by: Hyotaek Shim <hyotaek.shim@samsung.com>
CMakeLists.txt

index 03adf5c..04a4ef8 100644 (file)
@@ -41,6 +41,8 @@ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden -Werror -rdynamic -Wno-dep
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -fno-omit-frame-pointer -finstrument-functions")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -lrt -fPIE")
 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
+# To apply Armoring(Full RELRO), which means GOT Table becomes read-only.
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-z,relro,-z,now")
 
 ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${${PROJECT_NAME}_pkgs_LDFLAGS} "-ldl" "-lm")