* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
[binutils-gdb.git] / gdb / xcoffread.c
index 375d658e1d4ed9348d64182f414d9476ff6dc083..0e85125791d7439639fa06d39b20dddf2c962d2d 100644 (file)
@@ -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 *pst)
   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;
@@ -1860,7 +1862,7 @@ xcoff_symfile_finish (struct objfile *objfile)
 {
   if (objfile->sym_private != NULL)
     {
-      mfree (objfile->md, objfile->sym_private);
+      xmfree (objfile->md, objfile->sym_private);
     }
 
   /* Start with a fresh include table for the next objfile.  */
@@ -2275,6 +2277,7 @@ scan_xcoff_symtab (struct objfile *objfile)
                    break;
 
                  case XMC_RW:
+                 case XMC_TD:
                    /* Data variables are recorded in the minimal symbol
                       table, except for section symbols.  */
                    if (*namestring != '.')