summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/systemd
diff options
context:
space:
mode:
authorTrevor Woerner <twoerner@gmail.com>2025-05-07 15:26:34 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-05-12 22:01:55 +0100
commitb2d8a30f2279adf9772305444fc3f0a71c966936 (patch)
tree9419ba3eb794f1cef5de6097883a25eb4a90350d /meta/recipes-core/systemd
parent36dcd01badf2ec80c9e7cb279f99ab79d6059630 (diff)
downloadpoky-b2d8a30f2279adf9772305444fc3f0a71c966936.tar.gz
systemd: disable linker GCS warning on aarch64
openssl has some assembler code that has PAC and BTI hints but not GCS. The systemd recipe then links to libcrypto from openssl with GCS enabled (as that is a distro-wide setting) and it - correctly - warns that it is being told to use GCS but one of the inputs does not have GCS. This would not be a problem but systemd also links with —fatal-warnings, so the build explodes. libcrypto.so: warning: GCS is required by -z gcs, but this shared library lacks the necessary property note. The dynamic loader might not enable GCS or refuse to load the program unless all the shared library dependencies have the GCS marking. | collect2: error: ld returned 1 exit status (From OE-Core rev: 295e30eac69e152778246c7271b72f7e8498a40a) Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/systemd')
-rw-r--r--meta/recipes-core/systemd/systemd_257.5.bb1
1 files changed, 1 insertions, 0 deletions
diff --git a/meta/recipes-core/systemd/systemd_257.5.bb b/meta/recipes-core/systemd/systemd_257.5.bb
index acf97517a9..995b55580e 100644
--- a/meta/recipes-core/systemd/systemd_257.5.bb
+++ b/meta/recipes-core/systemd/systemd_257.5.bb
@@ -240,6 +240,7 @@ RESOLV_CONF ??= ""
240# bpf-framework: pass the recipe-sysroot to the compiler used to build 240# bpf-framework: pass the recipe-sysroot to the compiler used to build
241# the eBPFs, so that it can find needed system includes in there. 241# the eBPFs, so that it can find needed system includes in there.
242CFLAGS:append = " --sysroot=${STAGING_DIR_TARGET}" 242CFLAGS:append = " --sysroot=${STAGING_DIR_TARGET}"
243LDFLAGS:append:aarch64 = " ${@bb.utils.contains('PACKAGECONFIG', 'openssl', '-Wl,-z,gcs-report-dynamic=none', '', d)}"
243 244
244EXTRA_OEMESON += "-Dnobody-user=nobody \ 245EXTRA_OEMESON += "-Dnobody-user=nobody \
245 -Dnobody-group=nogroup \ 246 -Dnobody-group=nogroup \