aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorRenlin Li <renlin.li@arm.com>2016-02-16 10:00:29 +0000
committerRenlin Li <renlin.li@arm.com>2016-02-16 10:04:41 +0000
commit671eeb286f0523f13ee8a16a9a1900bb656496ca (patch)
tree6db2e94bab199ff179b1bcfcd5c14cd43be72e46 /gas/config
parent64bfc2584c013e7c60caceeffbad8250558e3cd2 (diff)
downloadgdb-671eeb286f0523f13ee8a16a9a1900bb656496ca.zip
gdb-671eeb286f0523f13ee8a16a9a1900bb656496ca.tar.gz
gdb-671eeb286f0523f13ee8a16a9a1900bb656496ca.tar.bz2
[PR19620][GAS][AArch64]Remove mov[z,k,n] relocation symbol name restriction.
In AArch64 gas, register name or string starts with valid register name is not allowed as symbol name for mov[z,k,n] instruction. This patch removes the restriction. gas/ PR gas/19620 * config/tc-aarch64.c (parse_half): Remove restrictions on symbol name. * testsuite/gas/aarch64/movw_label.d: New. * testsuite/gas/aarch64/movw_label.s: New.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-aarch64.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5cb9ab5..dfcbd52 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -3473,10 +3473,8 @@ parse_address_reloc (char **str, aarch64_opnd_info *operand)
static bfd_boolean
parse_half (char **str, int *internal_fixup_p)
{
- char *p, *saved;
- int dummy;
+ char *p = *str;
- p = *str;
skip_past_char (&p, '#');
gas_assert (internal_fixup_p);
@@ -3506,12 +3504,6 @@ parse_half (char **str, int *internal_fixup_p)
else
*internal_fixup_p = 1;
- /* Avoid parsing a register as a general symbol. */
- saved = p;
- if (aarch64_reg_parse_32_64 (&p, 0, 0, &dummy, &dummy) != PARSE_FAIL)
- return FALSE;
- p = saved;
-
if (! my_get_expression (&inst.reloc.exp, &p, GE_NO_PREFIX, 1))
return FALSE;