|
|
A recent change in GCC caused a regression for moxie-elf-gcc. Here's an
updated version of the port. The only change in this version is the
addition of the last switch statement case in
moxie_print_operand_address() in gcc/config/moxie/moxie.c.
It's been a few weeks since I submitted the last final version of this
patch. I'll let this updated patch act as my PING to the people who can
approve this port.
Thanks,
AG
diff --git a/gcc/gcc/config/moxie/moxie.c b/gcc/gcc/config/moxie/moxie.c
index b514e65..4e42c3c 100644
--- a/gcc/gcc/config/moxie/moxie.c
+++ b/gcc/gcc/config/moxie/moxie.c
@@ -113,6 +113,20 @@ moxie_print_operand_address (FILE *file, rtx x)
output_addr_const (file, XEXP (x, 1));
fprintf (file, "(%s)", reg_names[REGNO (XEXP (x, 0))]);
break;
+ case CONST:
+ {
+ rtx plus = XEXP (XEXP (x, 1), 0);
+ if (GET_CODE (XEXP (plus, 0)) == SYMBOL_REF
+ && CONST_INT_P (XEXP (plus, 1)))
+ {
+ output_addr_const(file, XEXP (plus, 0));
+ fprintf (file,"+%ld(%s)", INTVAL (XEXP (plus, 1)),
+ reg_names[REGNO (XEXP (x, 0))]);
+ }
+ else
+ abort();
+ }
+ break;
default:
abort();
}
@@ -182,8 +196,8 @@ struct GTY(()) machine_function
/* Number of bytes saved on the stack for local variables. */
int local_vars_size;
- /* The sum of 2 sizes: locals vars and padding byte for saving the
registers.
- * Used in expand_prologue () and expand_epilogue (). */
+ /* The sum of 2 sizes: locals vars and padding byte for saving the
+ * registers. Used in expand_prologue () and expand_epilogue(). */
int size_for_adjusting_sp;
};
|
|