mirror of https://github.com/hak5/openwrt-owl.git
19 lines
577 B
Diff
19 lines
577 B
Diff
--- a/gcc/config/arm/arm.c
|
|
+++ b/gcc/config/arm/arm.c
|
|
@@ -15371,6 +15371,15 @@ arm_unwind_emit_set (FILE * asm_out_file
|
|
/* Move from sp to reg. */
|
|
asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
|
|
}
|
|
+ else if (GET_CODE (e1) == PLUS
|
|
+ && GET_CODE (XEXP (e1, 0)) == REG
|
|
+ && REGNO (XEXP (e1, 0)) == SP_REGNUM
|
|
+ && GET_CODE (XEXP (e1, 1)) == CONST_INT)
|
|
+ {
|
|
+ /* Set reg to offset from sp. */
|
|
+ asm_fprintf (asm_out_file, "\t.movsp %r, #%d\n",
|
|
+ REGNO (e0), (int)INTVAL(XEXP (e1, 1)));
|
|
+ }
|
|
else
|
|
abort ();
|
|
break;
|