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

  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 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.