diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2022-12-16 21:44:40 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2023-02-11 16:23:24 +0000 |
commit | abaa8f9cc4c06dcdae13a33be9253762861d8657 (patch) | |
tree | 8ff906bd775713008de96a53a50e36ae5d5ebb1a | |
parent | 8f68a9b8e413ecb73d9c407364f778166c28a5d0 (diff) | |
download | gcc-abaa8f9cc4c06dcdae13a33be9253762861d8657.tar.gz |
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.cc | 3 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/config/pa/pa.cc b/gcc/config/pa/pa.cc index 54ab486a02d..9f43802075f 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 3a4f65b9be6..c858bd93b8e 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1159,6 +1159,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[]) { |