diff options
author | CoprDistGit <infra@openeuler.org> | 2024-08-05 01:49:16 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2024-08-05 01:49:16 +0000 |
commit | a7b7e4a7981e56c8a7f015a6890a9bc70e77d277 (patch) | |
tree | 22200b7326b32ca672ffb6e4ce6d19a09dc476e5 /gcc48-rh1469697-10.patch | |
parent | 28ea859f51e6ad6daf821902dabb4dec086ab981 (diff) |
automatic import of compat-libgfortran-48openeuler24.03_LTS
Diffstat (limited to 'gcc48-rh1469697-10.patch')
-rw-r--r-- | gcc48-rh1469697-10.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc48-rh1469697-10.patch b/gcc48-rh1469697-10.patch new file mode 100644 index 0000000..df9ae9f --- /dev/null +++ b/gcc48-rh1469697-10.patch @@ -0,0 +1,52 @@ +commit c22c3dee4bbf4a99b234307c63e4845052a15890 +Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Thu Sep 21 22:03:59 2017 +0000 + + * config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): + Fix dump output if the only stack space is for pushed registers. + + * lib/target-supports.exp + (check_effective_target_frame_pointer_for_non_leaf): Add + case for x86 Solaris. + + git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@253082 138bc75d-0d04-0410-961f-82ee72b054a4 + +diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c +index a9072f58f50..d8a225195ae 100644 +--- a/gcc/config/i386/i386.c ++++ b/gcc/config/i386/i386.c +@@ -9856,7 +9856,16 @@ ix86_adjust_stack_and_probe_stack_clash (const HOST_WIDE_INT size) + no probes are needed. */ + if (!size) + { +- dump_stack_clash_frame_info (NO_PROBE_NO_FRAME, false); ++ struct ix86_frame frame; ++ ix86_compute_frame_layout (&frame); ++ ++ /* However, the allocation of space via pushes for register ++ saves could be viewed as allocating space, but without the ++ need to probe. */ ++ if (frame.nregs || frame.nsseregs || frame_pointer_needed) ++ dump_stack_clash_frame_info (NO_PROBE_SMALL_FRAME, true); ++ else ++ dump_stack_clash_frame_info (NO_PROBE_NO_FRAME, false); + return; + } + +diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp +index f24c5c6e0ac..7c126e4122b 100644 +--- a/gcc/testsuite/lib/target-supports.exp ++++ b/gcc/testsuite/lib/target-supports.exp +@@ -5439,6 +5439,12 @@ proc check_effective_target_frame_pointer_for_non_leaf { } { + if { [istarget aarch*-*-*] } { + return 1 + } ++ ++ # Solaris/x86 defaults to -fno-omit-frame-pointer. ++ if { [istarget i?86-*-solaris*] || [istarget x86_64-*-solaris*] } { ++ return 1 ++ } ++ + return 0 + } + |