add patch fixing sh sibcall bug that affected musl, remove workaround
This commit is contained in:
parent
6385b3240a
commit
69cadffdec
1
Makefile
1
Makefile
|
@ -143,7 +143,6 @@ musl/.mcm_cloned:
|
||||||
|
|
||||||
musl/.mcm_configured: musl/.mcm_cloned gcc-$(GCC_VER)/build0/.mcm_built
|
musl/.mcm_configured: musl/.mcm_cloned gcc-$(GCC_VER)/build0/.mcm_built
|
||||||
cd musl && ./configure $(MUSL_CONFIG)
|
cd musl && ./configure $(MUSL_CONFIG)
|
||||||
cat patches/musl-complex-hack >> musl/config.mak
|
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
musl/.mcm_built: musl/.mcm_configured
|
musl/.mcm_built: musl/.mcm_configured
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
--- a/gcc/config/sh/sh.md (revision 233324)
|
||||||
|
+++ b/gcc/config/sh/sh.md (working copy)
|
||||||
|
@@ -10476,7 +10476,7 @@
|
||||||
|
(call (mem:SI (match_operand:SI 1 "symbol_ref_operand" ""))
|
||||||
|
(match_operand 2 "" "")))
|
||||||
|
(use (reg:SI FPSCR_MODES_REG))
|
||||||
|
- (clobber (match_scratch:SI 3 "=k"))
|
||||||
|
+ (clobber (reg:SI R1_REG))
|
||||||
|
(return)]
|
||||||
|
"TARGET_SH2 && !TARGET_FDPIC"
|
||||||
|
"#"
|
||||||
|
@@ -10491,6 +10495,8 @@
|
||||||
|
rtx lab = PATTERN (gen_call_site ());
|
||||||
|
rtx call_insn;
|
||||||
|
|
||||||
|
+ operands[3] = gen_rtx_REG (SImode, R1_REG);
|
||||||
|
+
|
||||||
|
sh_expand_sym_label2reg (operands[3], operands[1], lab, true);
|
||||||
|
call_insn = emit_call_insn (gen_sibcall_valuei_pcrel (operands[0],
|
||||||
|
operands[3],
|
||||||
|
@@ -10511,7 +10519,7 @@
|
||||||
|
(match_operand 2)))
|
||||||
|
(use (reg:SI FPSCR_MODES_REG))
|
||||||
|
(use (reg:SI PIC_REG))
|
||||||
|
- (clobber (match_scratch:SI 3 "=k"))
|
||||||
|
+ (clobber (reg:SI R1_REG))
|
||||||
|
(return)]
|
||||||
|
"TARGET_SH2 && TARGET_FDPIC"
|
||||||
|
"#"
|
||||||
|
@@ -10520,6 +10528,8 @@
|
||||||
|
{
|
||||||
|
rtx lab = PATTERN (gen_call_site ());
|
||||||
|
|
||||||
|
+ operands[3] = gen_rtx_REG (SImode, R1_REG);
|
||||||
|
+
|
||||||
|
sh_expand_sym_label2reg (operands[3], operands[1], lab, true);
|
||||||
|
rtx i = emit_call_insn (gen_sibcall_valuei_pcrel_fdpic (operands[0],
|
||||||
|
operands[3],
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
$(patsubst %.c,%.o,$(wildcard src/complex/*.c)): CFLAGS += -fno-optimize-sibling-calls
|
|
||||||
$(patsubst %.c,%.lo,$(wildcard src/complex/*.c)): CFLAGS += -fno-optimize-sibling-calls
|
|
Loading…
Reference in New Issue