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*-*-*.
This commit is contained in:
John David Anglin 2022-12-16 21:44:40 +00:00
parent 8d9e2776a6
commit 1dea4fc642
2 changed files with 6 additions and 0 deletions

View file

@ -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;

View file

@ -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[]) {