Browse Source

config/tc-aarch64.c: Avoid trying to parse a vector mov as immediate.

Parsing a vector mov instruction currently leads to a phantom undefined
symbol being added to the symbol table. e.g.:

       .text
       mov     x0, v0.D[0]

Produces an undefined symbol called "v0.D".

gas/ChangeLog:

2013-11-05  Will Newton  <will.newton@linaro.org>

	PR gas/16103
	* config/tc-aarch64.c (parse_operands): Avoid trying to
	parse a vector register as an immediate.

gas/testsuite/ChangeLog:

2013-11-05  Will Newton  <will.newton@linaro.org>

	* gas/aarch64/advsimd-mov-bad.d: New file.
	* gas/aarch64/advsimd-mov-bad.s: Likewise.
gdb-7.7-branch
Will Newton 13 years ago
parent
commit
8db49cc2de
  1. 6
      gas/ChangeLog
  2. 3
      gas/config/tc-aarch64.c
  3. 5
      gas/testsuite/ChangeLog
  4. 12
      gas/testsuite/gas/aarch64/advsimd-mov-bad.d
  5. 2
      gas/testsuite/gas/aarch64/advsimd-mov-bad.s

6
gas/ChangeLog

@ -1,3 +1,9 @@
2013-11-05 Will Newton <will.newton@linaro.org>
PR gas/16103
* config/tc-aarch64.c (parse_operands): Avoid trying to
parse a vector register as an immediate.
2013-11-04 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (check_long_reg): Correct comment indentation.

3
gas/config/tc-aarch64.c

@ -4810,7 +4810,8 @@ parse_operands (char *str, const aarch64_opcode *opcode)
case AARCH64_OPND_IMM_MOV:
{
char *saved = str;
if (reg_name_p (str, REG_TYPE_R_Z_SP))
if (reg_name_p (str, REG_TYPE_R_Z_SP) ||
reg_name_p (str, REG_TYPE_VN))
goto failure;
str = saved;
po_misc_or_fail (my_get_expression (&inst.reloc.exp, &str,

5
gas/testsuite/ChangeLog

@ -1,3 +1,8 @@
2013-11-05 Will Newton <will.newton@linaro.org>
* gas/aarch64/advsimd-mov-bad.d: New file.
* gas/aarch64/advsimd-mov-bad.s: Likewise.
2013-11-04 Jan Beulich <jbeulich@suse.com>
* gas/i386/x86-64-suffix-bad.[sl]: New.

12
gas/testsuite/gas/aarch64/advsimd-mov-bad.d

@ -0,0 +1,12 @@
#source: advsimd-mov-bad.s
#readelf: -s --wide
Symbol table '.symtab' contains 6 entries:
+Num:.*
+[0-9]+:.*
+[0-9]+:.*
+[0-9]+:.*
+[0-9]+:.*
+[0-9]+:.*
#failif
+[0-9]+: +[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +UND v0.D

2
gas/testsuite/gas/aarch64/advsimd-mov-bad.s

@ -0,0 +1,2 @@
.text
mov x0, v0.D[0]
Loading…
Cancel
Save