[binutils-gdb] PR26426, ASAN: neon_quad tc-arm.c:15175
Alan Modra
amodra@sourceware.org
Tue Aug 25 13:38:05 GMT 2020
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=250dd99fc92bac670691b66363dd71dccb22b10d
commit 250dd99fc92bac670691b66363dd71dccb22b10d
Author: Alan Modra <amodra@gmail.com>
Date: Tue Aug 25 14:12:49 2020 +0930
PR26426, ASAN: neon_quad tc-arm.c:15175
PR 26426
* config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
NS_NULL shape.
Diff:
---
gas/ChangeLog | 6 ++++++
gas/config/tc-arm.c | 5 +++++
2 files changed, 11 insertions(+)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index ce58416c4a3..96e955140bb 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2020-08-25 Alan Modra <amodra@gmail.com>
+
+ PR 26426
+ * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
+ NS_NULL shape.
+
2020-08-25 Alan Modra <amodra@gmail.com>
PR 26410
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 1cc0cea25e7..830cbda6182 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -19555,6 +19555,9 @@ do_neon_mvn (void)
else
rs = neon_select_shape (NS_DD, NS_QQ, NS_NULL);
+ if (rs == NS_NULL)
+ return;
+
NEON_ENCODE (INTEGER, inst);
inst.instruction |= LOW4 (inst.operands[0].reg) << 12;
inst.instruction |= HI1 (inst.operands[0].reg) << 22;
@@ -20634,6 +20637,8 @@ static void
do_neon_swp (void)
{
enum neon_shape rs = neon_select_shape (NS_DD, NS_QQ, NS_NULL);
+ if (rs == NS_NULL)
+ return;
neon_two_same (neon_quad (rs), 1, -1);
}
More information about the Binutils-cvs
mailing list