diff --git a/gas/ChangeLog b/gas/ChangeLog index b3affbbaa1..09991524da 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2019-11-25 Andrew Pinski + + * 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 * as.h: Define SEC_OCTETS as SEC_ELF_OCTETS if OBJ_ELF. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 77a9189e7a..c2a6a1e75d 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -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. */ diff --git a/gas/testsuite/gas/aarch64/bti.d b/gas/testsuite/gas/aarch64/bti.d index 4f65ee5485..e1ac7005df 100644 --- a/gas/testsuite/gas/aarch64/bti.d +++ b/gas/testsuite/gas/aarch64/bti.d @@ -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 diff --git a/gas/testsuite/gas/aarch64/bti.s b/gas/testsuite/gas/aarch64/bti.s index 42f199d701..528447b462 100644 --- a/gas/testsuite/gas/aarch64/bti.s +++ b/gas/testsuite/gas/aarch64/bti.s @@ -6,3 +6,7 @@ bti c bti j bti jc + + bti C + bti J + bti JC diff --git a/gas/testsuite/gas/aarch64/illegal-bti.l b/gas/testsuite/gas/aarch64/illegal-bti.l index 354c6f239a..d18f8c57d2 100644 --- a/gas/testsuite/gas/aarch64/illegal-bti.l +++ b/gas/testsuite/gas/aarch64/illegal-bti.l @@ -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' diff --git a/gas/testsuite/gas/aarch64/system-2.d b/gas/testsuite/gas/aarch64/system-2.d index bcf2b8eff1..7896dfbeff 100644 --- a/gas/testsuite/gas/aarch64/system-2.d +++ b/gas/testsuite/gas/aarch64/system-2.d @@ -10,3 +10,4 @@ Disassembly of section \.text: 4: d503221f esb 8: d503223f psb csync c: d503223f psb csync + 10: d503223f psb csync diff --git a/gas/testsuite/gas/aarch64/system-2.s b/gas/testsuite/gas/aarch64/system-2.s index 3402e7622d..d619449196 100644 --- a/gas/testsuite/gas/aarch64/system-2.s +++ b/gas/testsuite/gas/aarch64/system-2.s @@ -7,4 +7,5 @@ /* Statistical profiling. */ psb csync + psb CSYNC hint #0x11