2002-07-15 Elena Zannoni <ezannoni@redhat.com>
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>
Mon, 15 Jul 2002 15:09:55 +0000 (15:09 +0000)
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>
Mon, 15 Jul 2002 15:09:55 +0000 (15:09 +0000)
        * rs6000-tdep.c (rs6000_gdbarch_init): Remove variable print_insn
        and its setting.  Set gdbarch instruction printing functions
        directly.  For non-rs6000 case use new function
        gdb_print_insn_powerpc.
        (gdb_print_insn_powerpc): New function.

gdb/ChangeLog
gdb/rs6000-tdep.c

index f16a91da4cf901068b0a37fbc8cac4d566330bc9..48dadddbb32babe25a6a89548b46f15bee3db9ce 100644 (file)
@@ -1,3 +1,11 @@
+2002-07-15  Elena Zannoni  <ezannoni@redhat.com>
+
+        * rs6000-tdep.c (rs6000_gdbarch_init): Remove variable print_insn
+        and its setting.  Set gdbarch instruction printing functions
+        directly.  For non-rs6000 case use new function
+        gdb_print_insn_powerpc.
+        (gdb_print_insn_powerpc): New function.
+
 2002-07-13  Andrew Cagney  <ac131313@redhat.com>
 
        * NEWS: Mention that the d30v has been marked obsolete.
index 2372d25a33a06dd894ef1d297a99f1f4963d9bca..58b1af757cb77cb8d3609fc7593387f9bee34f67 100644 (file)
@@ -2402,6 +2402,15 @@ find_variant_by_arch (enum bfd_architecture arch, unsigned long mach)
 
   return NULL;
 }
+
+static int
+gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info)
+{
+  if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
+    return print_insn_big_powerpc (memaddr, info);
+  else
+    return print_insn_little_powerpc (memaddr, info);
+}
 \f
 /* Initialize the current architecture based on INFO.  If possible, re-use an
    architecture from ARCHES, which is a list of architectures already created
@@ -2423,7 +2432,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   bfd abfd;
   int sysv_abi;
   enum gdb_osabi osabi = GDB_OSABI_UNKNOWN;
-  gdbarch_print_insn_ftype *print_insn;
 
   from_xcoff_exec = info.abfd && info.abfd->format == bfd_object &&
     bfd_get_flavour (info.abfd) == bfd_target_xcoff_flavour;
@@ -2558,12 +2566,9 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
   /* Select instruction printer.  */
   if (arch == power)
-    print_insn = print_insn_rs6000;
-  else if (info.byte_order == BFD_ENDIAN_BIG)
-    print_insn = print_insn_big_powerpc;
+    set_gdbarch_print_insn (gdbarch, print_insn_rs6000);
   else
-    print_insn = print_insn_little_powerpc;
-  set_gdbarch_print_insn (gdbarch, print_insn);
+    set_gdbarch_print_insn (gdbarch, gdb_print_insn_powerpc);
 
   set_gdbarch_read_pc (gdbarch, generic_target_read_pc);
   set_gdbarch_write_pc (gdbarch, generic_target_write_pc);