diff options
author | Alex Coplan <alex.coplan@arm.com> | 2020-08-10 17:44:02 +0100 |
---|---|---|
committer | Alex Coplan <alex.coplan@arm.com> | 2020-08-10 17:44:02 +0100 |
commit | fa63795f40875541e05b90970825bb57132fcc3d (patch) | |
tree | cf53183de7a8e90f4c54dc7317d0781a7bab667a /include/ChangeLog | |
parent | 9546e03d55a4d8aeca5e69ff2943884420c2584f (diff) | |
download | gdb-fa63795f40875541e05b90970825bb57132fcc3d.zip gdb-fa63795f40875541e05b90970825bb57132fcc3d.tar.gz gdb-fa63795f40875541e05b90970825bb57132fcc3d.tar.bz2 |
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.
Diffstat (limited to 'include/ChangeLog')
-rw-r--r-- | include/ChangeLog | 4 |
1 files changed, 4 insertions, 0 deletions
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 <alex.coplan@arm.com> + + * opcode/aarch64.h (AARCH64_MAX_SYSREG_NAME_LEN): New. + 2020-08-10 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com> * opcode/aarch64.h (aarch64_sys_reg_deprecated_p): Functions |