From: "Aníbal Limón" <anibal.limon@linux.intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH] perl-native: Remove usage of -fstack-protector=strong
Date: Thu, 1 Dec 2016 10:34:25 -0600 [thread overview]
Message-ID: <1480610065-25697-1-git-send-email-anibal.limon@linux.intel.com> (raw)
Some distributions (like opensuse421) supported by the project
comes with older gcc releases, -fstack-protector=strong is supported
by GCC>=4.9.
This causes a build failure when install perl-native from a sstate that
comes from a machine supporting -fstack-protector=strong [1].
So disable usage of this flag in perl-native builds, this patch could
be removed when all supported distros comes with GCC>=4.9.
[YOCTO #10338]
[1] http://errors.yoctoproject.org/Errors/Details/109589/
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/recipes-devtools/perl/perl-native_5.24.0.bb | 1 +
...emove-fstack-protector-strong-for-native-.patch | 103 +++++++++++++++++++++
2 files changed, 104 insertions(+)
create mode 100644 meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
diff --git a/meta/recipes-devtools/perl/perl-native_5.24.0.bb b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
index af2ad7b..b1f0179 100644
--- a/meta/recipes-devtools/perl/perl-native_5.24.0.bb
+++ b/meta/recipes-devtools/perl/perl-native_5.24.0.bb
@@ -11,6 +11,7 @@ SRC_URI += "\
file://debian/errno_ver.diff \
file://dynaloaderhack.patch \
file://perl-PathTools-don-t-filter-out-blib-from-INC.patch \
+ file://0001-Configure-Remove-fstack-protector-strong-for-native-.patch \
"
SRC_URI[md5sum] = "59456ae4bd4b06cb6e57cb19a3b2d349"
diff --git a/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch b/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
new file mode 100644
index 0000000..7391ac5
--- /dev/null
+++ b/meta/recipes-devtools/perl/perl/0001-Configure-Remove-fstack-protector-strong-for-native-.patch
@@ -0,0 +1,103 @@
+Some distributions (like opensuse421) supported by the project
+comes with older gcc releases, -fstack-protector=strong is supported
+by GCC>=4.9.
+
+This causes a build failure when install perl-native from a sstate that
+comes from a machine supporting -fstack-protector=strong [1].
+
+So disable usage of this flag in perl-native builds, this patch could
+be removed when all supported distros comes with GCC>=4.9.
+
+[YOCTO #10338]
+
+Upstream-status: Inappropriate [configuration]
+
+[1] http://errors.yoctoproject.org/Errors/Details/109589/
+
+Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
+---
+ Configure | 54 ------------------------------------------------------
+ 1 file changed, 54 deletions(-)
+
+diff --git a/Configure b/Configure
+index efbdcfd..d5bd98c 100755
+--- a/Configure
++++ b/Configure
+@@ -5468,30 +5468,6 @@ default|recommended)
+ eval $checkccflag
+ ;;
+ esac
+-
+- # on x86_64 (at least) we require an extra library (libssp) in the
+- # link command line. This library is not named, so I infer that it is
+- # an implementation detail that may change. Hence the safest approach
+- # is to add the flag to the flags passed to the compiler at link time,
+- # as that way the compiler can do the right implementation dependant
+- # thing. (NWC)
+- case "$osname" in
+- amigaos) ;; # -fstack-protector builds but doesn't work
+- *) case "$gccversion" in
+- ?*) set stack-protector-strong -fstack-protector-strong
+- eval $checkccflag
+- case "$dflt" in
+- *-fstack-protector-strong*) ;; # It got added.
+- *) # Try the plain/older -fstack-protector.
+- set stack-protector -fstack-protector
+- eval $checkccflag
+- ;;
+- esac
+- ;;
+- esac
+- ;;
+- esac
+- ;;
+ esac
+
+ case "$mips_type" in
+@@ -5634,21 +5610,6 @@ case "$ldflags" in
+ ;;
+ *) dflt="$ldflags";;
+ esac
+-# See note above about -fstack-protector
+-case "$ccflags" in
+-*-fstack-protector-strong*)
+- case "$dflt" in
+- *-fstack-protector-strong*) ;; # Don't add it again
+- *) dflt="$dflt -fstack-protector-strong" ;;
+- esac
+- ;;
+-*-fstack-protector*)
+- case "$dflt" in
+- *-fstack-protector*) ;; # Don't add it again
+- *) dflt="$dflt -fstack-protector" ;;
+- esac
+- ;;
+-esac
+
+ : Try to guess additional flags to pick up local libraries.
+ for thislibdir in $libpth; do
+@@ -8571,21 +8532,6 @@ EOM
+ ''|' ') dflt='none' ;;
+ esac
+
+- case "$ldflags" in
+- *-fstack-protector-strong*)
+- case "$dflt" in
+- *-fstack-protector-strong*) ;; # Don't add it again
+- *) dflt="$dflt -fstack-protector-strong" ;;
+- esac
+- ;;
+- *-fstack-protector*)
+- case "$dflt" in
+- *-fstack-protector*) ;; # Don't add it again
+- *) dflt="$dflt -fstack-protector" ;;
+- esac
+- ;;
+- esac
+-
+ rp="Any special flags to pass to $ld to create a dynamically loaded library?"
+ . ./myread
+ case "$ans" in
+--
+2.1.4
+
--
2.1.4
next reply other threads:[~2016-12-01 16:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-01 16:34 Aníbal Limón [this message]
2016-12-01 22:39 ` [PATCH] perl-native: Remove usage of -fstack-protector=strong Khem Raj
2016-12-01 22:46 ` Aníbal Limón
2016-12-02 0:19 ` Khem Raj
2016-12-08 17:00 ` Aníbal Limón
2016-12-08 19:16 ` Andre McCurdy
2016-12-08 20:35 ` Burton, Ross
2016-12-09 16:23 ` Aníbal Limón
2016-12-09 20:10 ` Burton, Ross
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=1480610065-25697-1-git-send-email-anibal.limon@linux.intel.com \
--to=anibal.limon@linux.intel.com \
--cc=openembedded-core@lists.openembedded.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.