summaryrefslogtreecommitdiff
path: root/sys-apps/systemd/files/systemd-254-dt_relr.patch
blob: 9adfc11c1dd3bc12ade49756932a2d987ea2da86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
https://bugs.gentoo.org/910570
https://github.com/systemd/systemd/issues/28520
https://github.com/systemd/systemd/commit/eff91e2f3863f9e176b383e5c54741c64ca7a636

From eff91e2f3863f9e176b383e5c54741c64ca7a636 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <bluca@debian.org>
Date: Wed, 26 Jul 2023 11:29:57 +0100
Subject: [PATCH] efi: link with -z nopack-relative-relocs

elf2efi.py cannot handle DT_RELR relocations, so disable it
if we can

Fixes https://github.com/systemd/systemd/issues/28520
--- a/src/boot/efi/meson.build
+++ b/src/boot/efi/meson.build
@@ -174,6 +174,10 @@ efi_c_ld_args = [
         '-T' + elf2efi_lds,
 ]
 
+# On CentOS 8 the nopack-relative-relocs linker flag is not supported, and we get:
+#   /usr/bin/ld.bfd: warning: -z nopack-relative-relocs ignored
+efi_c_ld_args += cc.get_supported_link_arguments('-Wl,-z,nopack-relative-relocs')
+
 # efi_c_args is explicitly passed to targets so that they can override distro-provided flags
 # that should not be used for EFI binaries.
 efi_disabled_c_args = cc.get_supported_arguments(