2002-11-20 Klee Dienes <kdienes@apple.com>
authorKlee Dienes <kdienes@apple.com>
Thu, 21 Nov 2002 09:54:12 +0000 (09:54 +0000)
committerKlee Dienes <kdienes@apple.com>
Thu, 21 Nov 2002 09:54:12 +0000 (09:54 +0000)
        * 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.

gas/ChangeLog
gas/config/tc-mcore.c
gas/config/tc-sh.c

index 6dab2b4d56573d7c7e9060f4d1f5cfd2fba626e5..34824a875e32c6dfc1956339d59b96d09c94a851 100644 (file)
@@ -1,3 +1,13 @@
+2002-11-20  Klee Dienes  <kdienes@apple.com>
+
+       * 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  <amodra@bigpond.net.au>
 
        * write.c (adjust_reloc_syms): Don't reduce SEC_MERGE fixups with
index 538d75b0d50f640bb1c5cd1cd42feb253846d94a..41e958d5fcf817a14e2eb6e9bc3f1709340ac634 100644 (file)
@@ -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);
index 664c2694933525ff4ffb6b8a4696d58f0d3b02a0..5c623033ba60b158cf1ac0a66072859f36f3f67d 100644 (file)
@@ -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.  */