From fa63795f40875541e05b90970825bb57132fcc3d Mon Sep 17 00:00:00 2001 From: Alex Coplan Date: Mon, 10 Aug 2020 17:44:02 +0100 Subject: aarch64: Don't assert on long sysreg names This patch fixes an assertion failure on long system register operands in the AArch64 backend. See the new testcase for an input which reproduces the issue. gas/ChangeLog: * config/tc-aarch64.c (parse_sys_reg): Don't assert when parsing a long system register. (parse_sys_ins_reg): Likewise. (sysreg_hash_insert): New. (md_begin): Use sysreg_hash_insert() to ensure all system registers are no longer than the maximum length at startup. * testsuite/gas/aarch64/invalid-sysreg-assert.d: New test. * testsuite/gas/aarch64/invalid-sysreg-assert.l: Error output. * testsuite/gas/aarch64/invalid-sysreg-assert.s: Input. include/ChangeLog: * opcode/aarch64.h (AARCH64_MAX_SYSREG_NAME_LEN): New. --- include/ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'include/ChangeLog') diff --git a/include/ChangeLog b/include/ChangeLog index 27f14cc..d0475de 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2020-08-10 Alex Coplan + + * opcode/aarch64.h (AARCH64_MAX_SYSREG_NAME_LEN): New. + 2020-08-10 Przemyslaw Wirkus * opcode/aarch64.h (aarch64_sys_reg_deprecated_p): Functions -- cgit v1.1