On Tue, Feb 27, 2018 at 9:56 PM, Chen Qi <qi.c...@windriver.com> wrote:
> Remove the 'fstack-protector' and 'fstack-protector-strong' flags
> as a workaround to fix the following error when building for qemux86
> and qemuppc with musl.
>
>   undefined reference to `__stack_chk_fail_local'
>
> Signed-off-by: Chen Qi <qi.c...@windriver.com>
> ---
>  ...ck-protector-flags-to-workaround-musl-bui.patch | 33 
> ++++++++++++++++++++++
>  meta/recipes-core/systemd/systemd_236.bb           |  4 +++
>  2 files changed, 37 insertions(+)
>  create mode 100644 
> meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
>
> diff --git 
> a/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
>  
> b/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
> new file mode 100644
> index 0000000..783e579
> --- /dev/null
> +++ 
> b/meta/recipes-core/systemd/systemd/0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch
> @@ -0,0 +1,33 @@
> +From a3e71209957e627be7e47969a61d2c69de4f2659 Mon Sep 17 00:00:00 2001
> +From: Chen Qi <qi.c...@windriver.com>
> +Date: Tue, 27 Feb 2018 18:06:51 -0800
> +Subject: [PATCH] Remove fstack-protector flags to workaround musl build
> +
> +Remove fstack-protector and fstack-protector-strong flags to fix
> +the following build failure for qemux86 and qemuppc with musl.
> +
> +  undefined reference to `__stack_chk_fail_local'
> +
> +Upstream-Status: Inappropriate [OE Specific]
> +
> +Signed-off-by: Chen Qi <qi.c...@windriver.com>
> +---
> + meson.build | 2 --
> + 1 file changed, 2 deletions(-)
> +
> +diff --git a/meson.build b/meson.build
> +index ddc061c12..631e76886 100644
> +--- a/meson.build
> ++++ b/meson.build
> +@@ -298,8 +298,6 @@ foreach arg : ['-Wextra',
> +                '-fdiagnostics-show-option',
> +                '-fno-strict-aliasing',
> +                '-fvisibility=hidden',
> +-               '-fstack-protector',
> +-               '-fstack-protector-strong',
> +                '-fPIE',
> +                '--param=ssp-buffer-size=4',
> +               ]
> +--
> +2.13.0
> +
> diff --git a/meta/recipes-core/systemd/systemd_236.bb 
> b/meta/recipes-core/systemd/systemd_236.bb
> index a208f62..7798abb 100644
> --- a/meta/recipes-core/systemd/systemd_236.bb
> +++ b/meta/recipes-core/systemd/systemd_236.bb
> @@ -53,6 +53,10 @@ SRC_URI = 
> "git://github.com/systemd/systemd.git;protocol=git \
>             "
>  SRC_URI_append_qemuall = " 
> file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch"
>
> +# Workaround undefined reference to `__stack_chk_fail_local' on qemux86 and 
> qemuppc for musl
> +SRC_URI_append_libc-musl_qemux86 = " 
> file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
> +SRC_URI_append_libc-musl_qemuppc = " 
> file://0001-Remove-fstack-protector-flags-to-workaround-musl-bui.patch"
> +

we have security_flags.inc to build with these flags. So it might be fine
to just remove these flags including -fPIE

>  PAM_PLUGINS = " \
>      pam-plugin-unix \
>      pam-plugin-loginuid \
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to