Fixed bug displaying symbols in big endian arms.
authorNick Clifton <nickc@redhat.com>
Tue, 24 Feb 1998 19:07:28 +0000 (19:07 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 24 Feb 1998 19:07:28 +0000 (19:07 +0000)
opcodes/ChangeLog
opcodes/arm-dis.c

index 5ddca55c630d67345f5a2ef21755dac73e245d9f..6c7cd5347843bd15f261a22839b1799f455796ec 100644 (file)
@@ -1,3 +1,8 @@
+Tue Feb 24 11:06:18 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * arm-dis.c (print_insn_big_arm): Save the current symbol before
+       displaying a disassembled line.
+
 Mon Feb 23 13:16:17 1998  Doug Evans  <devans@seba.cygnus.com>
 
        * cgen-asm.c: Include symcat.h.
index 5075eaa62adc28255b9e6d970c7ba288058946be..91bcab120a9daa1e9d94179f08ab7bb07541259e 100644 (file)
@@ -714,7 +714,7 @@ print_insn_big_arm (pc, info)
   int                is_thumb;
   
   cs = coffsymbol (info->symbol);
-  is_thumb = 
+  is_thumb = (cs != NULL) &&
      (   cs->native->u.syment.n_sclass == C_THUMBEXT
       || cs->native->u.syment.n_sclass == C_THUMBSTAT
       || cs->native->u.syment.n_sclass == C_THUMBLABEL
@@ -758,6 +758,8 @@ print_insn_big_arm (pc, info)
       given = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | (b[3]);
     }
 
+  saved_symbol = info->symbol;
+  
   if (is_thumb)
     {
       status = print_insn_thumb (pc, info, given);
@@ -785,7 +787,7 @@ print_insn_little_arm (pc, info)
   int                is_thumb;
   
   cs = coffsymbol (info->symbol);
-  is_thumb = 
+  is_thumb = (cs != NULL) && 
      (   cs->native->u.syment.n_sclass == C_THUMBEXT
       || cs->native->u.syment.n_sclass == C_THUMBSTAT
       || cs->native->u.syment.n_sclass == C_THUMBLABEL