+2017-03-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * linux-xtensa-low.c (xtensa_fill_gregset): Call collect_register
+ for all registers in a0_regnum..a0_regnum + C0_NREGS range.
+ (xtensa_store_gregset): Call supply_register for all registers in
+ a0_regnum..a0_regnum + C0_NREGS range.
+
2017-03-13 Simon Marchi <simon.marchi@polymtl.ca>
* Makefile.in (%-ipa.o: %-ipa.c): New rule.
ptr += register_size (tdesc, i);
}
+ if (XSHAL_ABI == XTHAL_ABI_CALL0)
+ {
+ int a0_regnum = find_regno (tdesc, "a0");
+ ptr = (char *) &rset[R_A0 + 4 * rset[R_WB]];
+
+ for (i = a0_regnum; i < a0_regnum + C0_NREGS; i++)
+ {
+ if ((4 * rset[R_WB] + i - a0_regnum) == XCHAL_NUM_AREGS)
+ ptr = (char *) &rset[R_A0];
+ collect_register (regcache, i, ptr);
+ ptr += register_size (tdesc, i);
+ }
+ }
+
/* Loop registers, if hardware has it. */
#if XCHAL_HAVE_LOOPS
ptr += register_size (tdesc, i);
}
+ if (XSHAL_ABI == XTHAL_ABI_CALL0)
+ {
+ int a0_regnum = find_regno (tdesc, "a0");
+ ptr = (char *) &rset[R_A0 + (4 * rset[R_WB]) % XCHAL_NUM_AREGS];
+
+ for (i = a0_regnum; i < a0_regnum + C0_NREGS; i++)
+ {
+ if ((4 * rset[R_WB] + i - a0_regnum) == XCHAL_NUM_AREGS)
+ ptr = (char *) &rset[R_A0];
+ supply_register (regcache, i, ptr);
+ ptr += register_size (tdesc, i);
+ }
+ }
+
/* Loop registers, if hardware has it. */
#if XCHAL_HAVE_LOOPS