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.li...@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.li...@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.li...@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.li...@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 >>
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core