diff --git a/libgcc/config.host b/libgcc/config.host index 694e3e9f54c..54d06978a5d 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 00000000000..fb1bf1fc29c --- /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