[OE-core] [PATCH 3/4] systemd: fix build failure for qemux86 and qemuppc with musl

Khem Raj raj.khem at gmail.com
Wed Feb 28 14:59:01 UTC 2018


On Wed, Feb 28, 2018 at 12:46 AM, ChenQi <Qi.Chen at windriver.com> wrote:
> On 02/28/2018 04:29 PM, Khem Raj wrote:
>>
>> On Tue, Feb 27, 2018 at 9:56 PM, Chen Qi <Qi.Chen at 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.Chen at 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.Chen at 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.Chen at 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
>>
>
> Hi Khem,
>
> Just to confirm, do you mean that we remove these flags unconditionally?
> Something like:
> SRC_URI_append = " file://0001-Remove-security-flags"

yes



More information about the Openembedded-core mailing list