From: Jan Janssen Date: Wed, 26 Jan 2022 23:35:36 +0000 (+0000) Subject: boot: Only build with debug symbols in developer mode X-Git-Tag: archive/raspbian/250.3-2+rpi1^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=edf1531111cd5bab7f05e6325a7e183e6e9af656;p=systemd.git boot: Only build with debug symbols in developer mode Origin: https://github.com/systemd/systemd/commit/76fb85316e9c629b79762457d9515cb632112a6a The debug symbols are of very limited use in proper deployments unlike with regular userspace. Unless someone goes through the pain of setting up an EFI debugger (assuming their firmware even supports this in the first place) any provided debug symbols will just be useless. Debugging under QEMU is possible, but even then it is non-trivial to set up, so anyone willing to go that far can just build in developer mode. Meanwhile, at least x86 firmware tends to refuse binaries that contain debug symbols. We do strip the files when converted to PE anyway, but the elf file needs to stay around on other arches as objcopy does not support PE as input there. Also, the generated debug symbols seem to be not reproducible when building with LTO. Whether this is an issue in tooling or our side is unclear. This works around this issue. Gbp-Pq: Name boot-Only-build-with-debug-symbols-in-developer-mode.patch --- diff --git a/src/boot/efi/meson.build b/src/boot/efi/meson.build index da64205b..2c283b8c 100644 --- a/src/boot/efi/meson.build +++ b/src/boot/efi/meson.build @@ -194,7 +194,7 @@ efi_cflags += cc.get_supported_arguments({ if get_option('werror') efi_cflags += ['-Werror'] endif -if get_option('debug') +if get_option('debug') and get_option('mode') == 'developer' efi_cflags += ['-ggdb', '-DEFI_DEBUG'] endif if get_option('optimization') != '0' @@ -212,13 +212,15 @@ foreach arg : get_option('c_args') if arg in [ '-DNDEBUG', '-fno-lto', - '-g', '-ggdb', '-O1', '-O2', '-O3', '-Og', '-Os', '-Werror', ] or arg.split('=')[0] in [ '-ffile-prefix-map', '-flto', - ] + ] or (get_option('mode') == 'developer' and arg in [ + '-DEFI_DEBUG', + '-g', '-ggdb', + ]) message('Using "@0@" from c_args for EFI compiler'.format(arg)) efi_cflags += arg