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:
parent
6cc8564b9a
commit
0a821c4f6d
|
@ -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>
|
2019-11-25 Christian Eggers <ceggers@gmx.de>
|
||||||
|
|
||||||
* as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF.
|
* as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF.
|
||||||
|
|
|
@ -8782,11 +8782,14 @@ md_begin (void)
|
||||||
for (i = 0; aarch64_hint_options[i].name != NULL; i++)
|
for (i = 0; aarch64_hint_options[i].name != NULL; i++)
|
||||||
{
|
{
|
||||||
const char* name = aarch64_hint_options[i].name;
|
const char* name = aarch64_hint_options[i].name;
|
||||||
|
const char* upper_name = get_upper_str(name);
|
||||||
|
|
||||||
checked_hash_insert (aarch64_hint_opt_hsh, name,
|
checked_hash_insert (aarch64_hint_opt_hsh, name,
|
||||||
(void *) (aarch64_hint_options + i));
|
(void *) (aarch64_hint_options + i));
|
||||||
/* Also hash the name in the upper case. */
|
|
||||||
checked_hash_insert (aarch64_pldop_hsh, get_upper_str (name),
|
/* 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));
|
(void *) (aarch64_hint_options + i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,6 @@ Disassembly of section \.text:
|
||||||
.*: d503245f bti c
|
.*: d503245f bti c
|
||||||
.*: d503249f bti j
|
.*: d503249f bti j
|
||||||
.*: d50324df bti jc
|
.*: d50324df bti jc
|
||||||
|
.*: d503245f bti c
|
||||||
|
.*: d503249f bti j
|
||||||
|
.*: d50324df bti jc
|
||||||
|
|
|
@ -6,3 +6,7 @@
|
||||||
bti c
|
bti c
|
||||||
bti j
|
bti j
|
||||||
bti jc
|
bti jc
|
||||||
|
|
||||||
|
bti C
|
||||||
|
bti J
|
||||||
|
bti JC
|
||||||
|
|
|
@ -3,3 +3,6 @@
|
||||||
[^:]*:[0-9]+: Error: selected processor does not support `bti c'
|
[^:]*:[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 j'
|
||||||
[^:]*:[0-9]+: Error: selected processor does not support `bti jc'
|
[^:]*:[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'
|
||||||
|
|
|
@ -10,3 +10,4 @@ Disassembly of section \.text:
|
||||||
4: d503221f esb
|
4: d503221f esb
|
||||||
8: d503223f psb csync
|
8: d503223f psb csync
|
||||||
c: d503223f psb csync
|
c: d503223f psb csync
|
||||||
|
10: d503223f psb csync
|
||||||
|
|
|
@ -7,4 +7,5 @@
|
||||||
|
|
||||||
/* Statistical profiling. */
|
/* Statistical profiling. */
|
||||||
psb csync
|
psb csync
|
||||||
|
psb CSYNC
|
||||||
hint #0x11
|
hint #0x11
|
||||||
|
|
Loading…
Reference in New Issue