From: Klee Dienes Date: Thu, 21 Nov 2002 09:54:12 +0000 (+0000) Subject: 2002-11-20 Klee Dienes X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5ff3743120dac75a0f2fcb0e7b4a62dc4ca279a9;p=binutils-gdb.git 2002-11-20 Klee Dienes * config/tc-mcore.c (md_begin): Use a const iterator. Don't coalesce the name fields to use the same pointer. * config/tc-sh.c (md_begin): Use a const iterator. Don't coalesce the name fields to use the same pointer. (get_specific): Check for opcodes with the same name using strcmp as well as comparing the pointer. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 6dab2b4d565..34824a875e3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2002-11-20 Klee Dienes + + * config/tc-mcore.c (md_begin): Use a const iterator. Don't + coalesce the name fields to use the same pointer. + + * config/tc-sh.c (md_begin): Use a const iterator. Don't coalesce + the name fields to use the same pointer. + (get_specific): Check for opcodes with the same name using strcmp + as well as comparing the pointer. + 2002-11-20 Alan Modra * write.c (adjust_reloc_syms): Don't reduce SEC_MERGE fixups with diff --git a/gas/config/tc-mcore.c b/gas/config/tc-mcore.c index 538d75b0d50..41e958d5fcf 100644 --- a/gas/config/tc-mcore.c +++ b/gas/config/tc-mcore.c @@ -432,7 +432,7 @@ mcore_s_comm (needs_align) void md_begin () { - mcore_opcode_info * opcode; + const mcore_opcode_info * opcode; char * prev_name = ""; opcode_hash_control = hash_new (); @@ -440,13 +440,7 @@ md_begin () /* Insert unique names into hash table */ for (opcode = mcore_table; opcode->name; opcode ++) { - if (streq (prev_name, opcode->name)) - { - /* Make all the opcodes with the same name point to the same - string. */ - opcode->name = prev_name; - } - else + if (! streq (prev_name, opcode->name)) { prev_name = opcode->name; hash_insert (opcode_hash_control, opcode->name, (char *) opcode); diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c index 664c2694933..5c623033ba6 100644 --- a/gas/config/tc-sh.c +++ b/gas/config/tc-sh.c @@ -863,7 +863,7 @@ sh_elf_cons (nbytes) void md_begin () { - sh_opcode_info *opcode; + const sh_opcode_info *opcode; char *prev_name = ""; int target_arch; @@ -879,19 +879,13 @@ md_begin () /* Insert unique names into hash table. */ for (opcode = sh_table; opcode->name; opcode++) { - if (strcmp (prev_name, opcode->name)) + if (strcmp (prev_name, opcode->name) != 0) { if (! (opcode->arch & target_arch)) continue; prev_name = opcode->name; hash_insert (opcode_hash_control, opcode->name, (char *) opcode); } - else - { - /* Make all the opcodes with the same name point to the same - string. */ - opcode->name = prev_name; - } } } @@ -1574,7 +1568,7 @@ get_specific (opcode, operands) while (opcode->name) { this_try = opcode++; - if (this_try->name != name) + if ((this_try->name != name) && (strcmp (this_try->name, name) != 0)) { /* We've looked so far down the table that we've run out of opcodes with the same name. */