package/exiv2: fix build without SSP
Build without SSP fails since bump to version 0.27.4 in commit
bcace429426ee91aac56f3dcc33b69e22141d384
This is due to the fact that
bbe0b70840
removed the wrong GCC_ prefix from HAS_FSTACK_PROTECTOR_STRONG variable
Fixes:
- http://autobuild.buildroot.org/results/ae4635899124c602c70d2b342a76f95c34aa4a3d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b18d9d6191c3ca1f74115e6395ff8e9ee1b75b89)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
committed by
Peter Korsgaard
parent
4e8fda0f37
commit
8c08328ff0
@@ -0,0 +1,52 @@
|
|||||||
|
From 8651c9f823ace70b6609b10aeef0c0740636b570 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||||
|
Date: Thu, 1 Jul 2021 19:31:25 +0200
|
||||||
|
Subject: [PATCH] add BUILD_WITH_STACK_PROTECTOR option
|
||||||
|
|
||||||
|
Add BUILD_WITH_STACK_PROTECTOR to avoid the following build failure with
|
||||||
|
toolchains that don't support stack-protector:
|
||||||
|
|
||||||
|
/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mipsel-buildroot-linux-uclibc/9.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: utils.cpp:(.text._ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag[_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag]+0xd0): undefined reference to `__stack_chk_fail'
|
||||||
|
|
||||||
|
Indeed, support for -fstack-protector-strong can't be detected through
|
||||||
|
check_cxx_compiler_flag as some toolchains need to link with -lssp to
|
||||||
|
enable SSP support
|
||||||
|
|
||||||
|
Fixes:
|
||||||
|
- http://autobuild.buildroot.org/results/ae4635899124c602c70d2b342a76f95c34aa4a3d
|
||||||
|
|
||||||
|
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||||
|
[Upstream status: https://github.com/Exiv2/exiv2/pull/1756]
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 1 +
|
||||||
|
cmake/compilerFlags.cmake | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 9fe8b5f9..aabb3dca 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -52,6 +52,7 @@ mark_as_advanced(
|
||||||
|
EXIV2_TEAM_USE_SANITIZERS
|
||||||
|
)
|
||||||
|
|
||||||
|
+option( BUILD_WITH_STACK_PROTECTOR "Build with stack protector" ON )
|
||||||
|
option( BUILD_WITH_CCACHE "Use ccache to speed up compilations" OFF )
|
||||||
|
option( BUILD_WITH_COVERAGE "Add compiler flags to generate coverage stats" OFF )
|
||||||
|
include(cmake/gcovr.cmake REQUIRED)
|
||||||
|
diff --git a/cmake/compilerFlags.cmake b/cmake/compilerFlags.cmake
|
||||||
|
index c8a85c59..20f6ac53 100644
|
||||||
|
--- a/cmake/compilerFlags.cmake
|
||||||
|
+++ b/cmake/compilerFlags.cmake
|
||||||
|
@@ -44,7 +44,7 @@ if ( MINGW OR UNIX OR MSYS ) # MINGW, Linux, APPLE, CYGWIN
|
||||||
|
if(HAS_FCF_PROTECTION)
|
||||||
|
add_compile_options(-fcf-protection)
|
||||||
|
endif()
|
||||||
|
- if(HAS_FSTACK_PROTECTOR_STRONG)
|
||||||
|
+ if(BUILD_WITH_STACK_PROTECTOR AND HAS_FSTACK_PROTECTOR_STRONG)
|
||||||
|
add_compile_options(-fstack-protector-strong)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -12,7 +12,9 @@ EXIV2_LICENSE = GPL-2.0+
|
|||||||
EXIV2_LICENSE_FILES = COPYING
|
EXIV2_LICENSE_FILES = COPYING
|
||||||
EXIV2_CPE_ID_VENDOR = exiv2
|
EXIV2_CPE_ID_VENDOR = exiv2
|
||||||
|
|
||||||
EXIV2_CONF_OPTS += -DEXIV2_BUILD_SAMPLES=OFF
|
EXIV2_CONF_OPTS += \
|
||||||
|
-DBUILD_WITH_STACK_PROTECTOR=OFF \
|
||||||
|
-DEXIV2_BUILD_SAMPLES=OFF
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
|
ifeq ($(BR2_PACKAGE_EXIV2_LENSDATA),y)
|
||||||
EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
|
EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
|
||||||
|
|||||||
Reference in New Issue
Block a user