aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/config.host2
-rw-r--r--libgcc/config/sparc/t-sparc4
2 files changed, 6 insertions, 0 deletions
diff --git a/libgcc/config.host b/libgcc/config.host
index 694e3e9..54d0697 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -199,9 +199,11 @@ riscv*-*-*)
;;
sparc64*-*-*)
cpu_type=sparc
+ tmake_file="${tmake_file} sparc/t-sparc"
;;
sparc*-*-*)
cpu_type=sparc
+ tmake_file="${tmake_file} sparc/t-sparc"
;;
s390*-*-*)
cpu_type=s390
diff --git a/libgcc/config/sparc/t-sparc b/libgcc/config/sparc/t-sparc
new file mode 100644
index 0000000..fb1bf1f
--- /dev/null
+++ b/libgcc/config/sparc/t-sparc
@@ -0,0 +1,4 @@
+# This is needed for __strub_leave to omit the frame pointer, without
+# which it will allocate a register save area on the stack and leave
+# it unscrubbed and most likely unused, because it's a leaf function.
+CFLAGS-strub.c += -fno-PIC -fomit-frame-pointer