diff options
author | Renlin Li <renlin.li@arm.com> | 2016-02-16 10:00:29 +0000 |
---|---|---|
committer | Renlin Li <renlin.li@arm.com> | 2016-02-16 10:04:41 +0000 |
commit | 671eeb286f0523f13ee8a16a9a1900bb656496ca (patch) | |
tree | 6db2e94bab199ff179b1bcfcd5c14cd43be72e46 /gas/config | |
parent | 64bfc2584c013e7c60caceeffbad8250558e3cd2 (diff) | |
download | gdb-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.c | 10 |
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; |