From 84789002905d6db444ee76431705c86cbcde5616 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 6 Feb 2023 12:46:52 +1030 Subject: ppc32 and "LOAD segment with RWX permissions" When using a bss-plt we'll always trigger the RWX warning, which disturbs gcc test results. On the other hand, there may be reason to want the warning when gcc is configured with --enable-secureplt. So turning off the warning entirely for powerpc might not be the best solution. Instead, we'll turn off the warning whenever a bss-plt is generated, unless the user explicitly asked for the warning. bfd/ * elf32-ppc.c (ppc_elf_select_plt_layout): Set no_warn_rwx_segments on generating a bss plt, unless explicity enabled by the user. Also show the bss-plt warning when --warn-rwx-segments is given without --bss-plt. include/ * bfdlink.h (struct bfd_link_info): Add user_warn_rwx_segments. ld/ * lexsup.c (parse_args): Set user_warn_rwx_segments. * testsuite/ld-elf/elf.exp: Pass --secure-plt for powerpc to the rwx tests. --- ld/lexsup.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'ld/lexsup.c') diff --git a/ld/lexsup.c b/ld/lexsup.c index c596038..a1c6140 100644 --- a/ld/lexsup.c +++ b/ld/lexsup.c @@ -936,9 +936,11 @@ parse_args (unsigned argc, char **argv) break; case OPTION_WARN_RWX_SEGMENTS: link_info.no_warn_rwx_segments = 0; + link_info.user_warn_rwx_segments = 1; break; case OPTION_NO_WARN_RWX_SEGMENTS: link_info.no_warn_rwx_segments = 1; + link_info.user_warn_rwx_segments = 1; break; case 'e': lang_add_entry (optarg, true); -- cgit v1.1