aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2022-12-16 21:44:40 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2022-12-16 21:44:40 +0000
commit1dea4fc642a9bc54214090f0a97c811d59bf6a84 (patch)
tree05ea684f840800148dde3cf44835cd50b55576fb
parent8d9e2776a6d2bfe6662f79182e85ab79f3cc9522 (diff)
downloadgcc-1dea4fc642a9bc54214090f0a97c811d59bf6a84.zip
gcc-1dea4fc642a9bc54214090f0a97c811d59bf6a84.tar.gz
gcc-1dea4fc642a9bc54214090f0a97c811d59bf6a84.tar.bz2
Suppress -fstack-protector warning on hppa.
Some package builds enable -fstack-protector and -Werror. Since -fstack-protector is not supported on hppa because the stack grows up, these packages must check for the warning generated by -fstack-protector and suppress it on hppa. This is problematic since hppa is the only significant architecture where the stack grows up. 2022-12-16 John David Anglin <danglin@gcc.gnu.org> gcc/ChangeLog: * config/pa/pa.cc (pa_option_override): Disable -fstack-protector. gcc/testsuite/ChangeLog: * lib/target-supports.exp (check_effective_target_static): Return 0 on hppa*-*-*.
-rw-r--r--gcc/config/pa/pa.cc3
-rw-r--r--gcc/testsuite/lib/target-supports.exp3
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc
index 54ab486..9f43802 100644
--- a/gcc/config/pa/pa.cc
+++ b/gcc/config/pa/pa.cc
@@ -567,6 +567,9 @@ pa_option_override (void)
flag_reorder_blocks = 1;
}
+ /* Disable -fstack-protector to suppress warning. */
+ flag_stack_protect = 0;
+
/* We can't guarantee that .dword is available for 32-bit targets. */
if (UNITS_PER_WORD == 4)
targetm.asm_out.aligned_op.di = NULL;
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 6102678..dccd1ae 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -1218,6 +1218,9 @@ proc check_effective_target_static {} {
# Return 1 if the target supports -fstack-protector
proc check_effective_target_fstack_protector {} {
+ if { [istarget hppa*-*-*] } {
+ return 0;
+ }
return [check_runtime fstack_protector {
#include <string.h>
int main (int argc, char *argv[]) {