The problem of whitespace before the closing bracket is PR14987, fixed on head but not on 2.23 branch where it is a regression from the 2.23.1 release.
The problem of whitespace after the opening bracket is not fixed on head, but a patch similar to PR14987's fixes it on both head and 2.23 branch:
diff -u -p -r1.550 tc-arm.c
--- binutils-2.24-2013-01-05/gas/config/tc-arm.c 2 Jan 2013 13:38:55 -0000 1.550
+++ binutils-2.24-2013-01-05/gas/config/tc-arm.c 5 Jan 2013 15:23:42 -0000
@@ -5168,6 +5168,9 @@ parse_address_main (char **str, int i, i
return PARSE_OPERAND_SUCCESS;
}
+ /* PR gas/14887: Allow for whitespace after the opening bracket. */
+ skip_whitespace (p);
+
if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) == FAIL)
{
inst.error = _(reg_expected_msgs[REG_TYPE_RN]);
The problem of whitespace before the closing bracket is PR14987, fixed on head but not on 2.23 branch where it is a regression from the 2.23.1 release.
The problem of whitespace after the opening bracket is not fixed on head, but a patch similar to PR14987's fixes it on both head and 2.23 branch:
diff -u -p -r1.550 tc-arm.c 2.24-2013- 01-05/gas/ config/ tc-arm. c 2 Jan 2013 13:38:55 -0000 1.550 2.24-2013- 01-05/gas/ config/ tc-arm. c 5 Jan 2013 15:23:42 -0000 SUCCESS;
--- binutils-
+++ binutils-
@@ -5168,6 +5168,9 @@ parse_address_main (char **str, int i, i
return PARSE_OPERAND_
}
+ /* PR gas/14887: Allow for whitespace after the opening bracket. */ msgs[REG_ TYPE_RN] );
+ skip_whitespace (p);
+
if ((reg = arm_reg_parse (&p, REG_TYPE_RN)) == FAIL)
{
inst.error = _(reg_expected_