From: Fred Morcos Date: Tue, 26 Sep 2023 10:56:11 +0000 (+0200) Subject: Meson: Don't fail on platforms where the linker doesn't support help text X-Git-Tag: rec-5.1.0-alpha1~80^2~104 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9326d9c6df4ad1f954fb060188c5b223d1821f93;p=thirdparty%2Fpdns.git Meson: Don't fail on platforms where the linker doesn't support help text --- diff --git a/meson/hardening/global-offset-table/meson.build b/meson/hardening/global-offset-table/meson.build index 39fce9878f..fceeec1a63 100644 --- a/meson/hardening/global-offset-table/meson.build +++ b/meson/hardening/global-offset-table/meson.build @@ -1,12 +1,19 @@ -ld_help = run_command(cxx, '-Wl,-help', check: true).stdout().strip() -variants = ['relro', 'now'] found_variant = false -foreach variant: variants - if ld_help.contains('-z ' + variant) - found_variant = true - add_project_link_arguments('-Wl,-z', '-Wl,' + variant, language: ['c', 'cpp']) - endif -endforeach + +ld_help_result = run_command(cxx, '-Wl,-help', check: false) +if ld_help_result.returncode() != 0 + warning('Linker does not support help text output. ' + + 'Read-only global offset table will be disabled') +else + ld_help = ld_help_result.stdout().strip() + variants = ['relro', 'now'] + foreach variant: variants + if ld_help.contains('-z ' + variant) + found_variant = true + add_project_link_arguments('-Wl,-z', '-Wl,' + variant, language: ['c', 'cpp']) + endif + endforeach +endif hardening_features += [[found_variant, 'Read-only Global Offset Table']] summary('Read-only GOT', found_variant, bool_yn: true, section: 'Hardening')