From: "Aníbal Limón" <anibal.limon@linux.intel.com>
To: "Burton, Ross" <ross.burton@intel.com>
Cc: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
Date: Thu, 8 Dec 2016 11:00:39 -0600 [thread overview]
Message-ID: <584991B7.9050603@linux.intel.com> (raw)
In-Reply-To: <CAMKF1srD4Nzzo=tB8PbRCOTKckqe1T0C_5XCiAK2Wn2kASekhA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 7439 bytes --]
ping, :D
alimon
On 12/01/2016 06:19 PM, Khem Raj wrote:
> On Thu, Dec 1, 2016 at 2:46 PM, Aníbal Limón
> <anibal.limon@linux.intel.com> wrote:
>>
>>
>> On 12/01/2016 04:39 PM, Khem Raj wrote:
>>> On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón
>>> <anibal.limon@linux.intel.com> wrote:
>>>> 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.
>>>
>>>
>>> Instead of disabling it. Can it be made detectable during configure.
>>
>> The issue here is that comes from SSTATE mirror so the configure step
>> isn't executed again when a other machine without
>> -fstack-protector=strong download the sstate artifact was generate in
>> other machine with -fstack-protector=strong support. This is only for
>> native builds for target builds in enabled.
>>
>> We have similar patches for example in rpm,
>>
>> http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-devtools/rpm/rpm/popt-disable-auto-stack-protector.patch
>>
>
> yeah I see, thanks, I guess we need to bring it down to lowest common
> denominator I guess.
> maybe we should start thinking about gcc-native
>
>
>> Cheers,
>> alimon
>>
>>
>>>
>>>>
>>>> [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
>>>>
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2016-12-08 16:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-01 16:34 [PATCH] perl-native: Remove usage of -fstack-protector=strong Aníbal Limón
2016-12-01 22:39 ` 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 [this message]
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=584991B7.9050603@linux.intel.com \
--to=anibal.limon@linux.intel.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=ross.burton@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox