]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Add missing alignment check to load/store uimm12 immediate offset.
authorYufeng Zhang <yufeng.zhang@arm.com>
Tue, 12 Feb 2013 14:27:39 +0000 (14:27 +0000)
committerYufeng Zhang <yufeng.zhang@arm.com>
Tue, 12 Feb 2013 14:27:39 +0000 (14:27 +0000)
opcodes/

* aarch64-opc.c (operand_general_constraint_met_p): Change to
check the alignment of addr.offset.imm instead of that of
shifter.amount for operand type AARCH64_OPND_ADDR_UIMM12.

gas/testsuite/

* gas/aarch64/illegal-2.s: Add test case.
* gas/aarch64/illegal-2.l: Likewise.

gas/testsuite/ChangeLog
gas/testsuite/gas/aarch64/illegal-2.l
gas/testsuite/gas/aarch64/illegal-2.s
opcodes/ChangeLog
opcodes/aarch64-opc.c

index 929a20829b7f8da57d90baf02721cd909cb16d69..d98df81e55a941faf559825a9effba6dd9181feb 100644 (file)
@@ -1,3 +1,8 @@
+2013-02-12  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * gas/aarch64/illegal-2.s: Add test case.
+       * gas/aarch64/illegal-2.l: Likewise.
+
 2013-01-22  Alan Modra  <amodra@gmail.com>
 
        Apply mainline patches
index 2ba689483820059efe809c248ce1a9b8588731c9..372596b0f3b07279385a5f762732520c3692c6b6 100644 (file)
@@ -6,3 +6,4 @@
 [^:]*:16: Error: .*$
 [^:]*:19: Error: .*$
 [^:]*:20: Error: .*$
+[^:]*:24: Error: .*$
index 3aa7283ba71f41954a57056de3bf50cd07d8fad7..7711e14d55bd2b8560d8eb7a80755ab97f395011 100644 (file)
@@ -20,3 +20,5 @@
        mov     wsp, #0x33030000
 
 .set u16, 0xfff0
+
+       ldr     x0, [x0, #257]
index 1c2a10f3e973403813d90ddf34375e97463114db..03c1fabb87888ff9f911bf131775b2f9dfb7411b 100644 (file)
@@ -1,3 +1,9 @@
+2013-02-12  Yufeng Zhang  <yufeng.zhang@arm.com>
+
+       * aarch64-opc.c (operand_general_constraint_met_p): Change to
+       check the alignment of addr.offset.imm instead of that of
+       shifter.amount for operand type AARCH64_OPND_ADDR_UIMM12.
+
 2013-01-22  Alan Modra  <amodra@gmail.com>
 
        Apply mainline patches
index 68572f824300f1f45a11bd720264a0074ea453a3..338729eac3227abdd61e444a42bb50572dc5fc8f 100644 (file)
@@ -1426,7 +1426,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
                                             0, 4095 * size);
              return 0;
            }
-         if (!value_aligned_p (opnd->shifter.amount, size))
+         if (!value_aligned_p (opnd->addr.offset.imm, size))
            {
              set_unaligned_error (mismatch_detail, idx, size);
              return 0;