This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Use bfd_xcoff_is_xcoff64() in xcoffread.c and rs6000-tdep.c


I've just committed the patch below.  It's needed for debugging 64-bit
binaries on AIX 5.1.

	From Louis Hamilton <hamilton@redhat.com>:
	* rs6000-tdep.c (coff/xcoff.h, libxcoff.h): Include.
	* xcoffread.c (coff/xcoff.h, libxcoff.h): Likewise.
	* rs6000-tdep.c (rs6000_gdbarch_init): Use bfd_xcoff_is_xcoff64(),
	not bfd-private xcoff data, to determine wordsize.
	* xcoffread.c (read_xcoff_xymtab, read_symbol_lineno): Likewise.

Index: rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.61
diff -u -p -r1.61 rs6000-tdep.c
--- rs6000-tdep.c	29 Apr 2002 15:10:06 -0000	1.61
+++ rs6000-tdep.c	29 Apr 2002 23:39:53 -0000
@@ -38,6 +38,8 @@
 #include "libbfd.h"		/* for bfd_default_set_arch_mach */
 #include "coff/internal.h"	/* for libcoff.h */
 #include "libcoff.h"		/* for xcoff_data */
+#include "coff/xcoff.h"
+#include "libxcoff.h"
 
 #include "elf-bfd.h"
 
@@ -2506,7 +2508,7 @@ rs6000_gdbarch_init (struct gdbarch_info
      that, else choose a likely default. */
   if (from_xcoff_exec)
     {
-      if (xcoff_data (info.abfd)->xcoff64)
+      if (bfd_xcoff_is_xcoff64 (info.abfd))
 	wordsize = 8;
       else
 	wordsize = 4;
Index: xcoffread.c
===================================================================
RCS file: /cvs/src/src/gdb/xcoffread.c,v
retrieving revision 1.18
diff -u -p -r1.18 xcoffread.c
--- xcoffread.c	2 Dec 2001 22:38:23 -0000	1.18
+++ xcoffread.c	29 Apr 2002 23:39:54 -0000
@@ -38,6 +38,8 @@
 
 #include "coff/internal.h"
 #include "libcoff.h"		/* FIXME, internal data from BFD */
+#include "coff/xcoff.h"
+#include "libxcoff.h"
 #include "coff/rs6000.h"
 
 #include "symtab.h"
@@ -908,7 +910,7 @@ read_xcoff_symtab (struct partial_symtab
   char *strtbl = ((struct coff_symfile_info *) objfile->sym_private)->strtbl;
   char *debugsec =
   ((struct coff_symfile_info *) objfile->sym_private)->debugsec;
-  char *debugfmt = xcoff_data (abfd)->xcoff64 ? "XCOFF64" : "XCOFF";
+  char *debugfmt = bfd_xcoff_is_xcoff64 (abfd) ? "XCOFF64" : "XCOFF";
 
   struct internal_syment symbol[1];
   union internal_auxent main_aux;
@@ -1632,7 +1634,7 @@ static int
 read_symbol_lineno (int symno)
 {
   struct objfile *objfile = this_symtab_psymtab->objfile;
-  boolean xcoff64 = xcoff_data (objfile->obfd)->xcoff64;
+  boolean xcoff64 = bfd_xcoff_is_xcoff64 (objfile->obfd);
 
   struct coff_symfile_info *info =
     (struct coff_symfile_info *)objfile->sym_private;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]