From 1c331df65564f76f9ea25a25074024b0f1091097 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 11 Oct 2017 14:30:45 -0700 Subject: [PATCH 1/4] Add compiler switches replace dangerous function with safer ones. --- src/libpsl-native/CMakeLists.txt | 3 ++- src/libpsl-native/arm.toolchain.cmake | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libpsl-native/CMakeLists.txt b/src/libpsl-native/CMakeLists.txt index 60d42a35294..04431cf30e3 100644 --- a/src/libpsl-native/CMakeLists.txt +++ b/src/libpsl-native/CMakeLists.txt @@ -3,7 +3,8 @@ project(PSL-NATIVE) # Can't use add_compile_options with 2.8.11 set(CMAKE_BUILD_TYPE "Release") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2") +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro,-z,now’") set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/../powershell-unix") if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*") diff --git a/src/libpsl-native/arm.toolchain.cmake b/src/libpsl-native/arm.toolchain.cmake index c8f20e0e7dd..19d0a9d3638 100644 --- a/src/libpsl-native/arm.toolchain.cmake +++ b/src/libpsl-native/arm.toolchain.cmake @@ -1,7 +1,8 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv7l) -set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ -fstack-protector-strong -fpie) +set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro’") set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) # add_compile_options(-target armv7-linux-gnueabihf) From 32443b80b584fade1b7c6e2f59fe92d27f5efe94 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 11 Oct 2017 15:08:29 -0700 Subject: [PATCH 2/4] Add -02 and make linker flags per platform --- src/libpsl-native/CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/libpsl-native/CMakeLists.txt b/src/libpsl-native/CMakeLists.txt index 04431cf30e3..68f47019a89 100644 --- a/src/libpsl-native/CMakeLists.txt +++ b/src/libpsl-native/CMakeLists.txt @@ -3,8 +3,16 @@ project(PSL-NATIVE) # Can't use add_compile_options with 2.8.11 set(CMAKE_BUILD_TYPE "Release") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2") -set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro,-z,now’") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2 -O2") + +if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now") +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now") +elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl") +endif() + set(LIBRARY_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/../powershell-unix") if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm*") From 10c1ed25ffbee377a947a7e7b20fde8241220f8e Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Wed, 11 Oct 2017 15:10:07 -0700 Subject: [PATCH 3/4] add -O2 for arm and add -z,now --- src/libpsl-native/arm.toolchain.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libpsl-native/arm.toolchain.cmake b/src/libpsl-native/arm.toolchain.cmake index 19d0a9d3638..c2c68104d81 100644 --- a/src/libpsl-native/arm.toolchain.cmake +++ b/src/libpsl-native/arm.toolchain.cmake @@ -1,8 +1,8 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv7l) -set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2) -set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro’") +set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2 -O2) +set(CMAKE_SHARED_LINKER_FLAGS "-Wl,-z,relro,-z,now") set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc) # add_compile_options(-target armv7-linux-gnueabihf) From 1b25f11e8c5c48c704f9f833afac4fcca72da7a6 Mon Sep 17 00:00:00 2001 From: Travis Plunk Date: Thu, 12 Oct 2017 12:21:11 -0700 Subject: [PATCH 4/4] remove windows linker flags --- src/libpsl-native/CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/libpsl-native/CMakeLists.txt b/src/libpsl-native/CMakeLists.txt index 68f47019a89..e4f33cce07b 100644 --- a/src/libpsl-native/CMakeLists.txt +++ b/src/libpsl-native/CMakeLists.txt @@ -5,9 +5,7 @@ project(PSL-NATIVE) set(CMAKE_BUILD_TYPE "Release") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror -fstack-protector-strong -fpie -DFORTIFY_SOURCE=2 -O2") -if (${CMAKE_SYSTEM_NAME} MATCHES "Windows") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now") -elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") +if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,relro,-z,now") elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl")