Adding test case for abuse of :got: in offset load
authorMarcus Shawcroft <marcus.shawcroft@arm.com>
Wed, 18 Feb 2015 18:32:43 +0000 (18:32 +0000)
committerMarcus Shawcroft <marcus.shawcroft@arm.com>
Thu, 26 Feb 2015 22:23:09 +0000 (22:23 +0000)
The :got: modifier is not meaningful in a register offset load store
instruction and should result in a diagnostic.

gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/diagnostic.l
gas/testsuite/gas/aarch64/diagnostic.s

index 8884e3563e3ed3d11ed08731c8f423c5e59d28c7..630fa91e6cdc9489472514c9fe22ca3ef3316e8e 100644 (file)
@@ -1,3 +1,8 @@
+2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * gas/aarch64/diagnostic.s: Add LDR test.
+       * gas/aarch64/diagnostic.l: Likewise.
+
 2015-02-26  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
        * gas/aarch64/diagnostic.s: Add ADR test.
index 50f2a6db2b2dc01711d776f79e63034259c4bd18..7a89f8ee74b6fe8ec2fd1d5ba557640cc2fd6257 100644 (file)
 [^:]*:124: Warning: unpredictable transfer with writeback -- `stp x0,x1,\[x0,#16\]!'
 [^:]*:125: Warning: unpredictable transfer with writeback -- `ldp x0,x1,\[x1\],#16'
 [^:]*:126: Error: this relocation modifier is not allowed on this instruction at operand 2 -- `adr x2,:got:s1'
+[^:]*:127: Error: this relocation modifier is not allowed on this instruction at operand 2 -- `ldr x0,\[x0,:got:s1\]'
index 6dbe6e19fb5ae527655ae2787ef9214003b624ea..7650b65c3e4095b42c232d94b4eb8cd0a5b5a809 100644 (file)
        stp     x0, x1, [x0, #16]!
        ldp     x0, x1, [x1], #16
        adr     x2, :got:s1
+       ldr     x0, [x0, :got:s1]