From: Michael Biebl Date: Wed, 22 Jun 2022 11:11:13 +0000 (+0200) Subject: Do not fail EFI build with newer binutils X-Git-Tag: v252-rc1~665 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b0e5bf0451a6bc94e6e7b2a1de668b75c63f38c8;p=thirdparty%2Fsystemd.git Do not fail EFI build with newer binutils Newer binutils versions currently trigger the following warnings due to a bug in gnu-efi on arm64: /usr/bin/ld.bfd: warning: src/boot/efi/systemd-bootaa64.elf has a LOAD segment with RWX permissions on amd64: /usr/bin/ld.bfd: warning: /usr/lib/crt0-efi-x86_64.o: missing .note.GNU-stack section implies executable stack This results in a build failure due to --fatal-warnings. Work around this issue by suppressing those warnings until gnu-efi has been fixed. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1013341 --- diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index 52e2a71a7c8..0129fcd0702 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -259,6 +259,13 @@ efi_ldflags = [ '-z', 'nocombreloc', efi_crt0, ] + +possible_link_flags = [ + '-Wl,--no-warn-execstack', + '-Wl,--no-warn-rwx-segments', +] +efi_ldflags += cc.get_supported_link_arguments(possible_link_flags) + if efi_arch[1] in ['aarch64', 'arm', 'riscv64'] efi_ldflags += ['-shared'] # Aarch64, ARM32 and 64bit RISC-V don't have an EFI capable objcopy.