Fixes a bug in the ARM port of GAS when parsing inverted register lists.
* config/tc-arm.c (parse_operands): Fix bug setting writeback values for '^' on OP_REGLSTs. (do_push_pop): Add new writeback constraint.
This commit is contained in:
parent
4e9aaefbd0
commit
5e0d7f77b2
@ -1,3 +1,9 @@
|
||||
2015-03-10 Michael Perkins <perkinsmg75@yahoo.co.uk>
|
||||
|
||||
* config/tc-arm.c (parse_operands): Fix bug setting writeback
|
||||
values for '^' on OP_REGLSTs.
|
||||
(do_push_pop): Add new writeback constraint.
|
||||
|
||||
2015-03-10 Renlin Li <renlin.li@arm.com>
|
||||
|
||||
* config/tc-arm.c (mapping_state): Remove first MAP_DATA emitting code.
|
||||
|
@ -7038,7 +7038,7 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb)
|
||||
val = parse_reg_list (&str);
|
||||
if (*str == '^')
|
||||
{
|
||||
inst.operands[1].writeback = 1;
|
||||
inst.operands[i].writeback = 1;
|
||||
str++;
|
||||
}
|
||||
break;
|
||||
@ -9036,6 +9036,8 @@ do_pli (void)
|
||||
static void
|
||||
do_push_pop (void)
|
||||
{
|
||||
constraint (inst.operands[0].writeback,
|
||||
_("push/pop do not support {reglist}^"));
|
||||
inst.operands[1] = inst.operands[0];
|
||||
memset (&inst.operands[0], 0, sizeof inst.operands[0]);
|
||||
inst.operands[0].isreg = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user