mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
systemd-boot: Fix build issues on armv7a-linux
Backport a fix to address the build failure on armv7a introduced in systemd v254-rc1. see https://github.com/systemd/systemd/issues/29381 (From OE-Core rev: 782790dc6423fe3ae1ce4cd674ab492bfc881230) Signed-off-by: Viswanath Kraleti <quic_vkraleti@quicinc.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
849bd6e300
commit
87fdb2fb6f
@@ -8,6 +8,10 @@ DEPENDS = "intltool-native libcap util-linux gperf-native python3-jinja2-native
|
||||
inherit meson pkgconfig gettext
|
||||
inherit deploy
|
||||
|
||||
SRC_URI += " \
|
||||
file://0030-meson-Pass-all-static-pie-args-to-linker.patch \
|
||||
"
|
||||
|
||||
LDFLAGS:prepend = "${@ " ".join(d.getVar('LD').split()[1:])} "
|
||||
|
||||
EFI_LD = "bfd"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From f85a387a67900b02c69abccb88c2ef7191c67277 Mon Sep 17 00:00:00 2001
|
||||
From: Jan Janssen <medhefgo@web.de>
|
||||
Date: Sun, 1 Oct 2023 09:55:48 +0200
|
||||
Subject: [PATCH] meson: Pass all -static-pie args to linker
|
||||
|
||||
Fixes: #29381
|
||||
|
||||
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/cecbb162a3134b43d2ca160e13198c73ff34c3ef]
|
||||
Signed-off-by: Viswanath Kraleti <quic_vkraleti@quicinc.com>
|
||||
---
|
||||
src/boot/efi/meson.build | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build
|
||||
index 2773eaf286..9a60a57329 100644
|
||||
--- a/src/boot/efi/meson.build
|
||||
+++ b/src/boot/efi/meson.build
|
||||
@@ -161,9 +161,14 @@ efi_c_ld_args = [
|
||||
'-Wl,--entry=efi_main',
|
||||
'-Wl,--fatal-warnings',
|
||||
|
||||
- # These flags should be passed by -static-pie, but seem to be missing sometimes.
|
||||
- '-Wl,--no-dynamic-linker',
|
||||
- '-z', 'text',
|
||||
+ # These flags should be passed by -static-pie, but for whatever reason the flag translation
|
||||
+ # is not enabled on all architectures. Not passing `-static` would just allow the linker to
|
||||
+ # use dynamic libraries, (which we can't/don't use anyway). But if `-pie` is missing and the
|
||||
+ # gcc build does not default to `-pie` we get a regular (no-pie) binary that will be
|
||||
+ # rightfully rejected by elf2efi. Note that meson also passes `-pie` to the linker driver,
|
||||
+ # but it is overridden by our `-static-pie`. We also need to pass these directly to the
|
||||
+ # linker as `-static`+`-pie` seem to get translated differently.
|
||||
+ '-Wl,-static,-pie,--no-dynamic-linker,-z,text',
|
||||
|
||||
# EFI has 4KiB pages.
|
||||
'-z', 'common-page-size=4096',
|
||||
Reference in New Issue
Block a user