From: Peter Korsgaard <peter@korsgaard.com>
To: buildroot@buildroot.org
Subject: [Buildroot] [git commit branch/2021.05.x] package/exiv2: fix build without SSP
Date: Wed, 4 Aug 2021 13:04:33 +0200 [thread overview]
Message-ID: <20210804111056.328368B4B1@busybox.osuosl.org> (raw)
commit: https://git.buildroot.net/buildroot/commit/?id=8c08328ff0f9f42e15943ed1ab5fe66a847460fc
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2021.05.x
Build without SSP fails since bump to version 0.27.4 in commit
bcace429426ee91aac56f3dcc33b69e22141d384
This is due to the fact that
https://github.com/Exiv2/exiv2/commit/bbe0b70840cf28b7dd8c0b7e9bb1b741aeda2efd
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>
---
...001-add-BUILD_WITH_STACK_PROTECTOR-option.patch | 52 ++++++++++++++++++++++
package/exiv2/exiv2.mk | 4 +-
2 files changed, 55 insertions(+), 1 deletion(-)
diff --git a/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch b/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch
new file mode 100644
index 0000000000..c82061661b
--- /dev/null
+++ b/package/exiv2/0001-add-BUILD_WITH_STACK_PROTECTOR-option.patch
@@ -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
+
diff --git a/package/exiv2/exiv2.mk b/package/exiv2/exiv2.mk
index 52bf03fc63..33222e6381 100644
--- a/package/exiv2/exiv2.mk
+++ b/package/exiv2/exiv2.mk
@@ -12,7 +12,9 @@ EXIV2_LICENSE = GPL-2.0+
EXIV2_LICENSE_FILES = COPYING
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)
EXIV2_CONF_OPTS += -DEXIV2_ENABLE_LENSDATA=ON
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
reply other threads:[~2021-08-04 11:11 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210804111056.328368B4B1@busybox.osuosl.org \
--to=peter@korsgaard.com \
--cc=buildroot@buildroot.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.