All of lore.kernel.org
 help / color / mirror / Atom feed
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.