+2014-03-17 Nick Clifton <nickc@redhat.com>
+
+ PR gas/16694
+ * config/tc-arm.c (tc_arm_regname_to_dw2regnum): Parse VFP
+ registers as well.
+
2014-03-13 Richard Earnshaw <rearnsha@arm.com>
Jiong Wang <Jiong.Wang@arm.com>
s_arm_unwind_save_fpa (reg->number);
return;
- case REG_TYPE_RN: s_arm_unwind_save_core (); return;
+ case REG_TYPE_RN:
+ s_arm_unwind_save_core ();
+ return;
+
case REG_TYPE_VFD:
if (arch_v6)
s_arm_unwind_save_vfp_armv6 ();
else
s_arm_unwind_save_vfp ();
return;
- case REG_TYPE_MMXWR: s_arm_unwind_save_mmxwr (); return;
- case REG_TYPE_MMXWCG: s_arm_unwind_save_mmxwcg (); return;
+
+ case REG_TYPE_MMXWR:
+ s_arm_unwind_save_mmxwr ();
+ return;
+
+ case REG_TYPE_MMXWCG:
+ s_arm_unwind_save_mmxwcg ();
+ return;
default:
as_bad (_(".unwind_save does not support this kind of register"));
tc_arm_regname_to_dw2regnum (char *regname)
{
int reg = arm_reg_parse (®name, REG_TYPE_RN);
+ if (reg != FAIL)
+ return reg;
- if (reg == FAIL)
- return -1;
+ /* PR 16694: Allow VFP registers as well. */
+ reg = arm_reg_parse (®name, REG_TYPE_VFS);
+ if (reg != FAIL)
+ return 64 + reg;
- return reg;
+ reg = arm_reg_parse (®name, REG_TYPE_VFD);
+ if (reg != FAIL)
+ return reg + 256;
+
+ return -1;
}
#ifdef TE_PE
+2014-03-17 Nick Clifton <nickc@redhat.com>
+
+ PR gas/16694
+ * gas/cfi/cfi-arm-1.s: Add checks of VFP registers.
+ * gas/cfi/cfi-arm-1.d: Update expected output.
+
2014-03-13 Nick Clifton <nickc@redhat.com>
* gas/aarch64/litpool.s: Make the test endian agnostic.
DW_CFA_def_cfa: r13 ofs 0
-00000014 0+0020 0+0018 FDE cie=0+0000 pc=0+0000..0+0018
+00000014 0+002c 0+0018 FDE cie=0+0000 pc=0+0000..0+0018
DW_CFA_advance_loc: 4 to 00000004
DW_CFA_def_cfa: r12 ofs 0
DW_CFA_advance_loc: 4 to 00000008
DW_CFA_offset: r14 at cfa-24
DW_CFA_advance_loc: 4 to 00000010
DW_CFA_def_cfa: r11 ofs 16
-
+ DW_CFA_advance_loc: 4 to 00000014
+ DW_CFA_offset: r1 at cfa-16
+ DW_CFA_offset_extended: r65 at cfa-20
+ DW_CFA_offset_extended: r267 at cfa-48
+ DW_CFA_nop
+ DW_CFA_nop
sub fp, ip, #20
.cfi_def_cfa fp, 16
nop
+
+ # Test fix for PR 16694 - the use of VFP registers in .cfi_offset directives.
+ .cfi_offset r1, -16
+ .cfi_offset s1, -20
+ .cfi_offset d11, -48
+
ldmea fp, {fp, sp, pc}
.cfi_endproc
.size foo, .-foo