aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-aarch64.c
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2019-11-21 12:53:02 -0800
committerAndrew Pinski <apinski@marvell.com>2019-11-25 18:27:26 +0000
commit0a821c4f6de9b902fd663fb23ee187b9adf4f7c4 (patch)
treef2e6d1ed192c7d6773cc443585237dd42d0bd8d1 /gas/config/tc-aarch64.c
parent6cc8564b9a2f3aa133ceaf9ab6e71ed68129a8f8 (diff)
downloadbinutils-0a821c4f6de9b902fd663fb23ee187b9adf4f7c4.zip
binutils-0a821c4f6de9b902fd663fb23ee187b9adf4f7c4.tar.gz
binutils-0a821c4f6de9b902fd663fb23ee187b9adf4f7c4.tar.bz2
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
Diffstat (limited to 'gas/config/tc-aarch64.c')
-rw-r--r--gas/config/tc-aarch64.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 77a9189..c2a6a1e 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. */