summaryrefslogtreecommitdiff
path: root/gcc48-rh1469697-10.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-05 01:49:16 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-05 01:49:16 +0000
commita7b7e4a7981e56c8a7f015a6890a9bc70e77d277 (patch)
tree22200b7326b32ca672ffb6e4ce6d19a09dc476e5 /gcc48-rh1469697-10.patch
parent28ea859f51e6ad6daf821902dabb4dec086ab981 (diff)
automatic import of compat-libgfortran-48openeuler24.03_LTS
Diffstat (limited to 'gcc48-rh1469697-10.patch')
-rw-r--r--gcc48-rh1469697-10.patch52
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
+ }
+