Fix "psb CSYNC" and "bti C".

psb CYSNC was not finding that CSYNC was a correct spelling.
The problem was upper case version was being put in the
wrong hashtable.  This fixes the problem by using the
correct hashtable.
Also adds testcases for the upper case versions.

        * config/tc-aarch64.c (md_begin): Use correct
        hash table for uppercase version of hint.
        * testsuite/gas/aarch64/system-2.s: Extend psb case to uppercase.
        * testsuite/gas/aarch64/system-2.d: Update.

Change-Id: If43f8b85cacd24840d596c3092b0345e5f212766
This commit is contained in:
Andrew Pinski 2019-11-21 12:53:02 -08:00
parent 6cc8564b9a
commit 0a821c4f6d
7 changed files with 25 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2019-11-25 Andrew Pinski <apinski@marvell.com>
* config/tc-aarch64.c (md_begin): Use correct
hash table for uppercase version of hint.
* testsuite/gas/aarch64/system-2.s: Extend psb case to uppercase.
* testsuite/gas/aarch64/system-2.d: Update.
2019-11-25 Christian Eggers <ceggers@gmx.de>
* as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF.

View File

@ -8782,12 +8782,15 @@ md_begin (void)
for (i = 0; aarch64_hint_options[i].name != NULL; i++)
{
const char* name = aarch64_hint_options[i].name;
const char* upper_name = get_upper_str(name);
checked_hash_insert (aarch64_hint_opt_hsh, name,
(void *) (aarch64_hint_options + i));
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_pldop_hsh, get_upper_str (name),
(void *) (aarch64_hint_options + i));
/* Also hash the name in the upper case if not the same. */
if (strcmp (name, upper_name) != 0)
checked_hash_insert (aarch64_hint_opt_hsh, upper_name,
(void *) (aarch64_hint_options + i));
}
/* Set the cpu variant based on the command-line options. */

View File

@ -10,3 +10,6 @@ Disassembly of section \.text:
.*: d503245f bti c
.*: d503249f bti j
.*: d50324df bti jc
.*: d503245f bti c
.*: d503249f bti j
.*: d50324df bti jc

View File

@ -6,3 +6,7 @@
bti c
bti j
bti jc
bti C
bti J
bti JC

View File

@ -3,3 +3,6 @@
[^:]*:[0-9]+: Error: selected processor does not support `bti c'
[^:]*:[0-9]+: Error: selected processor does not support `bti j'
[^:]*:[0-9]+: Error: selected processor does not support `bti jc'
[^:]*:[0-9]+: Error: selected processor does not support `bti C'
[^:]*:[0-9]+: Error: selected processor does not support `bti J'
[^:]*:[0-9]+: Error: selected processor does not support `bti JC'

View File

@ -10,3 +10,4 @@ Disassembly of section \.text:
4: d503221f esb
8: d503223f psb csync
c: d503223f psb csync
10: d503223f psb csync

View File

@ -7,4 +7,5 @@
/* Statistical profiling. */
psb csync
psb CSYNC
hint #0x11