aarch64: Fix segfault on unicode symbols
authorAlex Coplan <alex.coplan@arm.com>
Thu, 2 Jul 2020 12:53:07 +0000 (13:53 +0100)
committerAlex Coplan <alex.coplan@arm.com>
Thu, 2 Jul 2020 12:53:07 +0000 (13:53 +0100)
commitf405494f214315091fb0864827b07b5e6f12ee84
treebf96219255effe72b24ec8217213a71f1a26908e
parentb1a35af2704842ff1a90626b0148c0fc93f995f6
aarch64: Fix segfault on unicode symbols

This patch fixes a segfault which occurs when the AArch64 backend parses
a symbol operand that begins with a register name and ends with a
unicode byte (byte value > 127).

For example, the following input causes the crash:

x0é: udf x0é

gas/ChangeLog:

2020-07-02  Alex Coplan  <alex.coplan@arm.com>

* config/tc-aarch64.c (reg_name_p): Fix cast so that we don't
segfault on negative chars.
* testsuite/gas/aarch64/reglike-label-unicode-segv.d: New test.
* testsuite/gas/aarch64/reglike-label-unicode-segv.s: Input.
gas/ChangeLog
gas/config/tc-aarch64.c
gas/testsuite/gas/aarch64/reglike-label-unicode-segv.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/reglike-label-unicode-segv.s [new file with mode: 0644]