Add some compile options for memory protection 63/166863/3
authorSangyoon Jang <jeremy.jang@samsung.com>
Fri, 12 Jan 2018 07:11:38 +0000 (16:11 +0900)
committerSangyoon Jang <jeremy.jang@samsung.com>
Mon, 22 Jan 2018 01:25:06 +0000 (10:25 +0900)
Change-Id: I63cac868668b96539dd0bbfd6877e36384876bbb
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
CMakeLists.txt
plugin/app2sd/CMakeLists.txt

index 5e1de89863061a9e290413a3fb8d1d591e797f14..799d4fa4e4609558ebbb7a2083131de309c1bbf5 100644 (file)
@@ -3,7 +3,6 @@ PROJECT(app2ext C)
 
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
 SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -g -Wall -Werror")
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed")
 
 INCLUDE(FindPkgConfig)
 pkg_check_modules(app2ext_libpkgs REQUIRED dlog glib-2.0)
@@ -25,7 +24,8 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/src APP2EXT_SRCS)
 ADD_LIBRARY(${APP2EXT} SHARED ${APP2EXT_SRCS})
 SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES SOVERSION ${MAJORVER})
 SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES VERSION ${FULLVER})
-SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC")
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC -fstack-protector-strong")
+SET_TARGET_PROPERTIES(${APP2EXT} PROPERTIES LINK_FLAGS "-Wl,--as-needed,-z,relro")
 TARGET_LINK_LIBRARIES(${APP2EXT} ${app2ext_libpkgs_LDFLAGS})
 
 CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/app2sd.manifest.in ${CMAKE_BINARY_DIR}/app2sd.manifest @ONLY)
index 4d8210f63f545af764bb216089f40cd1a970dcf8..4ae4172375b04a13104e8c656204948c9a1518f3 100644 (file)
@@ -24,7 +24,8 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/lib APP2SD_LIB_SRCS)
 ADD_LIBRARY(${APP2SD} SHARED ${APP2SD_LIB_SRCS} ${APP2SD_COMMON_SRCS})
 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES SOVERSION ${MAJORVER})
 SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES VERSION ${FULLVER})
-SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC")
+SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIC -fstack-protector-strong")
+SET_TARGET_PROPERTIES(${APP2SD} PROPERTIES LINK_FLAGS "-Wl,--as-needed,-z,relro")
 TARGET_LINK_LIBRARIES(${APP2SD} ${app2sd_libpkgs_LDFLAGS})
 
 INSTALL(TARGETS ${APP2SD} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibraries)
@@ -33,8 +34,8 @@ INSTALL(TARGETS ${APP2SD} DESTINATION ${LIB_INSTALL_DIR} COMPONENT RuntimeLibrar
 SET(APP2SD_SERVER "app2sd-server")
 AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/server APP2SD_SERVER_SRCS)
 ADD_EXECUTABLE(${APP2SD_SERVER} ${APP2SD_SERVER_SRCS} ${APP2SD_COMMON_SRCS})
-SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE ")
-SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES LINK_FLAGS "-pie")
+SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES COMPILE_FLAGS ${CFLAGS} "-fPIE -fstack-protector-strong")
+SET_TARGET_PROPERTIES(${APP2SD_SERVER} PROPERTIES LINK_FLAGS "-pie -Wl,--as-needed,-z,relro")
 TARGET_LINK_LIBRARIES(${APP2SD_SERVER} app2sd ${app2sd_pkgs_LDFLAGS} "-lm")
 
 CONFIGURE_FILE(org.tizen.app2sd.service.in org.tizen.app2sd.service @ONLY)