Fixup hardening options for Windows.

(cherry-picked from commit 2771582222)
This commit is contained in:
Pentarctagon 2018-06-16 13:29:15 -05:00
parent 2482cf2c53
commit 9e78232e0e
2 changed files with 10 additions and 4 deletions

View file

@ -247,11 +247,15 @@ endif(NOT "${CMAKE_CXX_FLAGS}" STREQUAL "${COMPILER_FLAGS}")
if(HARDEN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE -fstack-protector-strong")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE -fstack-protector-strong")
if(NOT APPLE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie -Wl,-z,now,-z,relro")
else(NOT APPLE)
if(APPLE)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -Wl,-pie")
endif(NOT APPLE)
elseif(WIN32)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie")
else()
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fPIE -pie -Wl,-z,relro,-z,now")
endif()
add_definitions(-D_FORTIFY_SOURCE=2)
endif(HARDEN)

View file

@ -509,6 +509,8 @@ for env in [test_env, client_env, env]:
if env["PLATFORM"] == 'darwin':
env.AppendUnique(LINKFLAGS = ["-fPIE", "-Wl,-pie"])
elif env["PLATFORM"] == 'win32':
env.AppendUnique(LINKFLAGS = ["-fPIE", "-pie"])
else:
env.AppendUnique(LINKFLAGS = ["-fPIE", "-pie", "-Wl,-z,relro,-z,now"])