* [PATCH] perl-native: Remove usage of -fstack-protector=strong
@ 2016-12-01 16:34 Aníbal Limón
2016-12-01 22:39 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Aníbal Limón @ 2016-12-01 16:34 UTC (permalink / raw)
To: openembedded-core
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
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
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
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2016-12-01 22:39 UTC (permalink / raw)
To: Aníbal Limón; +Cc: Patches and discussions about the oe-core layer
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.
>
> [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
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-01 22:39 ` Khem Raj
@ 2016-12-01 22:46 ` Aníbal Limón
2016-12-02 0:19 ` Khem Raj
0 siblings, 1 reply; 9+ messages in thread
From: Aníbal Limón @ 2016-12-01 22:46 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 6758 bytes --]
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
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 --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
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
0 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2016-12-02 0:19 UTC (permalink / raw)
To: Aníbal Limón; +Cc: Patches and discussions about the oe-core layer
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
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-02 0:19 ` Khem Raj
@ 2016-12-08 17:00 ` Aníbal Limón
2016-12-08 19:16 ` Andre McCurdy
0 siblings, 1 reply; 9+ messages in thread
From: Aníbal Limón @ 2016-12-08 17:00 UTC (permalink / raw)
To: Burton, Ross; +Cc: Patches and discussions about the oe-core layer
[-- 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 --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-08 17:00 ` Aníbal Limón
@ 2016-12-08 19:16 ` Andre McCurdy
2016-12-08 20:35 ` Burton, Ross
0 siblings, 1 reply; 9+ messages in thread
From: Andre McCurdy @ 2016-12-08 19:16 UTC (permalink / raw)
To: Aníbal Limón; +Cc: Patches and discussions about the oe-core layer
>>> 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
>>
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?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-08 19:16 ` Andre McCurdy
@ 2016-12-08 20:35 ` Burton, Ross
2016-12-09 16:23 ` Aníbal Limón
0 siblings, 1 reply; 9+ messages in thread
From: Burton, Ross @ 2016-12-08 20:35 UTC (permalink / raw)
To: Andre McCurdy; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 408 bytes --]
On 8 December 2016 at 19:16, Andre McCurdy <armccurdy@gmail.com> 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
[-- Attachment #2: Type: text/html, Size: 811 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-08 20:35 ` Burton, Ross
@ 2016-12-09 16:23 ` Aníbal Limón
2016-12-09 20:10 ` Burton, Ross
0 siblings, 1 reply; 9+ messages in thread
From: Aníbal Limón @ 2016-12-09 16:23 UTC (permalink / raw)
To: Burton, Ross, Andre McCurdy
Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 654 bytes --]
On 12/08/2016 02:35 PM, Burton, Ross wrote:
> On 8 December 2016 at 19:16, Andre McCurdy <armccurdy@gmail.com> 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
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] perl-native: Remove usage of -fstack-protector=strong
2016-12-09 16:23 ` Aníbal Limón
@ 2016-12-09 20:10 ` Burton, Ross
0 siblings, 0 replies; 9+ messages in thread
From: Burton, Ross @ 2016-12-09 20:10 UTC (permalink / raw)
To: Aníbal Limón; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 917 bytes --]
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 <anibal.limon@linux.intel.com>
wrote:
>
>
> On 12/08/2016 02:35 PM, Burton, Ross wrote:
> > On 8 December 2016 at 19:16, Andre McCurdy <armccurdy@gmail.com> 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
> >
>
>
[-- Attachment #2: Type: text/html, Size: 1448 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-12-09 20:11 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
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
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.