Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
The patch is "uninative: rebuild uninative for gcc 4.8 and 4.9" but I forgot it didn't get merged as it broke eSDK. Ross On 9 December 2016 at 16:23, Aníbal Limón wrote: > > > On 12/08/2016 02:35 PM, Burton, Ross wrote: > > On 8 December 2016 at 19:16, Andre McCurdy wrote: > > > >> Is it correct that native sstate from a host with gcc < 4.9 should be > >> reused by a host with gcc >= 4.9 ? > >> > >> Doesn't the change in NATIVELSBSTRING prevent that from happening? > >> > > > > Yes, we recently landed a change so that uninative is versioned by host > > GCC. Presumably that solves this problem in a different way? > > If the sstate generated is different from a host distro with gcc>=4.9 > and gcc<4.9 will be work. > > Could you point me to the patch that makes this change? > > alimon > > > > > Ross > > > > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
On 12/08/2016 02:35 PM, Burton, Ross wrote: > On 8 December 2016 at 19:16, Andre McCurdy wrote: > >> Is it correct that native sstate from a host with gcc < 4.9 should be >> reused by a host with gcc >= 4.9 ? >> >> Doesn't the change in NATIVELSBSTRING prevent that from happening? >> > > Yes, we recently landed a change so that uninative is versioned by host > GCC. Presumably that solves this problem in a different way? If the sstate generated is different from a host distro with gcc>=4.9 and gcc<4.9 will be work. Could you point me to the patch that makes this change? alimon > > Ross > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
On 8 December 2016 at 19:16, Andre McCurdy wrote: > Is it correct that native sstate from a host with gcc < 4.9 should be > reused by a host with gcc >= 4.9 ? > > Doesn't the change in NATIVELSBSTRING prevent that from happening? > Yes, we recently landed a change so that uninative is versioned by host GCC. Presumably that solves this problem in a different way? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
>>> On 12/01/2016 04:39 PM, Khem Raj wrote: On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón 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 >> Is it correct that native sstate from a host with gcc < 4.9 should be reused by a host with gcc >= 4.9 ? Doesn't the change in NATIVELSBSTRING prevent that from happening? -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
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 > wrote: >> >> >> On 12/01/2016 04:39 PM, Khem Raj wrote: >>> On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón >>> 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 --- 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 000..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 +--- + 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 plai
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
On Thu, Dec 1, 2016 at 2:46 PM, Aníbal Limón wrote: > > > On 12/01/2016 04:39 PM, Khem Raj wrote: >> On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón >> 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 >>> --- >>> 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 000..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 >>> +--- >>> + 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 >>> +- ;; >>> +-
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
On 12/01/2016 04:39 PM, Khem Raj wrote: > On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón > 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 Cheers, alimon > >> >> [YOCTO #10338] >> >> [1] http://errors.yoctoproject.org/Errors/Details/109589/ >> >> Signed-off-by: Aníbal Limón >> --- >> 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 000..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 >> +--- >> + 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
Re: [OE-core] [PATCH] perl-native: Remove usage of -fstack-protector=strong
On Thu, Dec 1, 2016 at 8:34 AM, Aníbal Limón 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. > > [YOCTO #10338] > > [1] http://errors.yoctoproject.org/Errors/Details/109589/ > > Signed-off-by: Aníbal Limón > --- > 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 000..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 > +--- > + 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 "$dfl