Remove special support in gdb for Sun's version of stabs.
authorDoug Evans <dje@google.com>
Fri, 19 Jun 2015 18:34:43 +0000 (11:34 -0700)
committerDoug Evans <dje@google.com>
Fri, 19 Jun 2015 18:34:43 +0000 (11:34 -0700)
Discussion:
https://sourceware.org/ml/gdb-patches/2015-05/msg00169.html

gdb/ChangeLog:

* NEWS: Mention Sun's version of stabs is no longer supported.
* elfread.c (free_elfinfo): Delete.  All uses updated.
(elfstab_offset_sections): Delete.  All uses updated.
* gdb-stabs.h (stab_section_info): Delete.  All uses updated.
* psympriv.h (partial_symtab) <section_offsets>: Delete.
All uses updated.
* psymtab.c (start_psymtab_common): Delete arg section_offsets.
All callers updated.

gdb/doc/ChangeLog:

* stabs.texinfo (ELF Linker Relocation): Mention Sun stabs is no
longer supported.

13 files changed:
gdb/ChangeLog
gdb/NEWS
gdb/dbxread.c
gdb/doc/ChangeLog
gdb/doc/stabs.texinfo
gdb/dwarf2read.c
gdb/elfread.c
gdb/gdb-stabs.h
gdb/mdebugread.c
gdb/psympriv.h
gdb/psymtab.c
gdb/stabsread.h
gdb/xcoffread.c

index ccbbe62080c8c2f13ab8bbe7ae92361dea4353d0..fd611ad86c67077acb2325efa7cafb3ffb539ecb 100644 (file)
@@ -1,3 +1,14 @@
+2015-06-19  Doug Evans  <dje@google.com>
+
+       * NEWS: Mention Sun's version of stabs is no longer supported.
+       * elfread.c (free_elfinfo): Delete.  All uses updated.
+       (elfstab_offset_sections): Delete.  All uses updated.
+       * gdb-stabs.h (stab_section_info): Delete.  All uses updated.
+       * psympriv.h (partial_symtab) <section_offsets>: Delete.
+       All uses updated.
+       * psymtab.c (start_psymtab_common): Delete arg section_offsets.
+       All callers updated.
+
 2015-06-18  Simon Marchi  <simon.marchi@ericsson.com>
 
        * common/rsp-low.c (needs_escaping): New.
index 45f9708a8c01dcc1cfd0e1b13d21134a7cf564ae..3ec58518a26a8b0b1fc107dee1a4bffc24df606a 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -7,6 +7,8 @@
   targets has been added.  GDB now supports recording of A64 instruction set
   including advance SIMD instructions.
 
+* Support for Sun's version of the "stabs" debug file format has been removed.
+
 * GDB now honors the content of the file /proc/PID/coredump_filter
   (PID is the process ID) on GNU/Linux systems.  This file can be used
   to specify the types of memory mappings that will be included in a
index c8f974ff04c2dd27ebe5b43922dfa2512791d170..6098b357c4a552ac14383c8895bf79f8822618e7 100644 (file)
@@ -631,8 +631,6 @@ dbx_symfile_init (struct objfile *objfile)
 
   /* FIXME POKING INSIDE BFD DATA STRUCTURES.  */
 
-  DBX_SYMFILE_INFO (objfile)->stab_section_info = NULL;
-
   text_sect = bfd_get_section_by_name (sym_bfd, ".text");
   if (!text_sect)
     error (_("Can't find .text section in symbol file"));
@@ -2174,8 +2172,8 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow,
               struct partial_symbol **static_syms)
 {
   struct partial_symtab *result =
-    start_psymtab_common (objfile, objfile->section_offsets,
-                         filename, textlow, global_syms, static_syms);
+    start_psymtab_common (objfile, filename, textlow,
+                         global_syms, static_syms);
 
   result->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
                                               sizeof (struct symloc));
@@ -2186,14 +2184,6 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow,
   STRING_OFFSET (result) = string_table_offset;
   FILE_STRING_OFFSET (result) = file_string_table_offset;
 
-#ifdef HAVE_ELF
-  /* If we're handling an ELF file, drag some section-relocation info
-     for this source file out of the ELF symbol table, to compensate for
-     Sun brain death.  This replaces the section_offsets in this psymtab,
-     if successful.  */
-  elfstab_offset_sections (objfile, result);
-#endif
-
   /* Deduce the source language from the filename for this psymtab.  */
   psymtab_language = deduce_language_from_filename (filename);
 
@@ -2321,8 +2311,6 @@ end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
       struct partial_symtab *subpst =
        allocate_psymtab (include_list[i], objfile);
 
-      /* Copy the sesction_offsets array from the main psymtab.  */
-      subpst->section_offsets = pst->section_offsets;
       subpst->read_symtab_private =
        obstack_alloc (&objfile->objfile_obstack, sizeof (struct symloc));
       LDSYMOFF (subpst) =
@@ -2503,11 +2491,7 @@ read_ofile_symtab (struct objfile *objfile, struct partial_symtab *pst)
   sym_size = LDSYMLEN (pst);
   text_offset = pst->textlow;
   text_size = pst->texthigh - pst->textlow;
-  /* This cannot be simply objfile->section_offsets because of
-     elfstab_offset_sections() which initializes the psymtab section
-     offsets information in a special way, and that is different from
-     objfile->section_offsets.  */ 
-  section_offsets = pst->section_offsets;
+  section_offsets = objfile->section_offsets;
 
   dbxread_objfile = objfile;
 
@@ -3042,17 +3026,12 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
            p = strchr (name, ':');
            if (p != 0 && p[1] == 'S')
              {
-               /* The linker relocated it.  We don't want to add an
-                  elfstab_offset_sections-type offset, but we *do*
+               /* The linker relocated it.  We don't want to add a
+                  Sun-stabs Tfoo.foo-like offset, but we *do*
                   want to add whatever solib.c passed to
                   symbol_file_add as addr (this is known to affect
-                  SunOS 4, and I suspect ELF too).  Since
-                  elfstab_offset_sections currently does not muck
-                  with the text offset (there is no Ttext.text
-                  symbol), we can get addr from the text offset.  If
-                  elfstab_offset_sections ever starts dealing with
-                  the text offset, and we still need to do this, we
-                  need to invent a SECT_OFF_ADDR_KLUDGE or something.  */
+                  SunOS 4, and I suspect ELF too).  Since there is no
+                  Ttext.text symbol, we can get addr from the text offset.  */
                valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
                goto define_a_symbol;
              }
index 7d8002e895bfcdaa2f38e92cc0196689344dfe43..6d867508520a08df2dff1190912dc1c6dc65ac01 100644 (file)
@@ -1,3 +1,8 @@
+2015-06-19  Doug Evans  <dje@google.com>
+
+       * stabs.texinfo (ELF Linker Relocation): Mention Sun stabs is no
+       longer supported.
+
 2015-06-17  Patrick Palka  <patrick@parcs.ath.cx>
 
        * gdb.texinfo (Command History): Mention that setting
index 181e171d8688e130a7d6b7ce4b49f631b3185a9c..15c4152367ea7859a6586e2299f6b8a33630846c 100644 (file)
@@ -4062,7 +4062,8 @@ the @code{.stabstr} section.
 @appendixsec Having the Linker Relocate Stabs in ELF 
 
 This section describes some Sun hacks for Stabs in ELF; it does not
-apply to COFF or SOM.
+apply to COFF or SOM.  While @value{GDBN} no longer supports this hack
+for Sun Stabs in ELF, this section is kept to document the issue.
 
 To keep linking fast, you don't want the linker to have to relocate very
 many stabs.  Making sure this is done for @code{N_SLINE},
@@ -4100,8 +4101,8 @@ the address from the ELF symbols.
 Finding the correct @code{Bbss.bss}, etc., symbol is difficult, because
 the linker simply concatenates the @code{.stab} sections from each
 @file{.o} file without including any information about which part of a
-@code{.stab} section comes from which @file{.o} file.  The way GDB does
-this is to look for an ELF @code{STT_FILE} symbol which has the same
+@code{.stab} section comes from which @file{.o} file.  The way GDB use to
+do this is to look for an ELF @code{STT_FILE} symbol which has the same
 name as the last component of the file name from the @code{N_SO} symbol
 in the stabs (for example, if the file name is @file{../../gdb/main.c},
 it looks for an ELF @code{STT_FILE} symbol named @code{main.c}).  This
index d79b2e3a98e9693c52cd1d200d33451fd41b1666..496b74f4eb6ec88c7965b3cb33941c8c4c23897f 100644 (file)
@@ -4489,7 +4489,6 @@ dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
       subpst->dirname = pst->dirname;
     }
 
-  subpst->section_offsets = pst->section_offsets;
   subpst->textlow = 0;
   subpst->texthigh = 0;
 
@@ -5890,8 +5889,7 @@ create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
   struct objfile *objfile = per_cu->objfile;
   struct partial_symtab *pst;
 
-  pst = start_psymtab_common (objfile, objfile->section_offsets,
-                             name, 0,
+  pst = start_psymtab_common (objfile, name, 0,
                              objfile->global_psymbols.next,
                              objfile->static_psymbols.next);
 
index 4b97b0427aa53145a9921d926037a231347fa609..0e169c7c8ca89098f376c805646ecc3e5ebdb034 100644 (file)
@@ -66,8 +66,6 @@ struct elfinfo
 
 static const struct bfd_data *probe_key = NULL;
 
-static void free_elfinfo (void *);
-
 /* Minimal symbols located at the GOT entries for .plt - that is the real
    pointer where the given entry will jump to.  It gets updated by the real
    function address during lazy ld.so resolving in the inferior.  These
@@ -236,14 +234,8 @@ elf_symtab_read (struct objfile *objfile, int type,
   CORE_ADDR symaddr;
   CORE_ADDR offset;
   enum minimal_symbol_type ms_type;
-  /* If sectinfo is nonNULL, it contains section info that should end up
-     filed in the objfile.  */
-  struct stab_section_info *sectinfo = NULL;
-  /* If filesym is nonzero, it points to a file symbol, but we haven't
-     seen any section info for it yet.  */
-  asymbol *filesym = 0;
-  /* Name of filesym.  This is either a constant string or is saved on
-     the objfile's filename cache.  */
+  /* Name of the last file symbol.  This is either a constant string or is
+     saved on the objfile's filename cache.  */
   const char *filesymname = "";
   struct dbx_symfile_info *dbx = DBX_SYMFILE_INFO (objfile);
   int stripped = (bfd_get_symcount (objfile->obfd) == 0);
@@ -345,16 +337,7 @@ elf_symtab_read (struct objfile *objfile, int type,
        continue;
       if (sym->flags & BSF_FILE)
        {
-         /* STT_FILE debugging symbol that helps stabs-in-elf debugging.
-            Chain any old one onto the objfile; remember new sym.  */
-         if (sectinfo != NULL)
-           {
-             sectinfo->next = dbx->stab_section_info;
-             dbx->stab_section_info = sectinfo;
-             sectinfo = NULL;
-           }
-         filesym = sym;
-         filesymname = bcache (filesym->name, strlen (filesym->name) + 1,
+         filesymname = bcache (sym->name, strlen (sym->name) + 1,
                                objfile->per_bfd->filename_cache);
        }
       else if (sym->flags & BSF_SECTION_SYM)
@@ -451,77 +434,6 @@ elf_symtab_read (struct objfile *objfile, int type,
                }
              else if (sym->flags & BSF_LOCAL)
                {
-                 /* Named Local variable in a Data section.
-                    Check its name for stabs-in-elf.  */
-                 int special_local_sect;
-
-                 if (strcmp ("Bbss.bss", sym->name) == 0)
-                   special_local_sect = SECT_OFF_BSS (objfile);
-                 else if (strcmp ("Ddata.data", sym->name) == 0)
-                   special_local_sect = SECT_OFF_DATA (objfile);
-                 else if (strcmp ("Drodata.rodata", sym->name) == 0)
-                   special_local_sect = SECT_OFF_RODATA (objfile);
-                 else
-                   special_local_sect = -1;
-                 if (special_local_sect >= 0)
-                   {
-                     /* Found a special local symbol.  Allocate a
-                        sectinfo, if needed, and fill it in.  */
-                     if (sectinfo == NULL)
-                       {
-                         int max_index;
-                         size_t size;
-
-                         max_index = SECT_OFF_BSS (objfile);
-                         if (objfile->sect_index_data > max_index)
-                           max_index = objfile->sect_index_data;
-                         if (objfile->sect_index_rodata > max_index)
-                           max_index = objfile->sect_index_rodata;
-
-                         /* max_index is the largest index we'll
-                            use into this array, so we must
-                            allocate max_index+1 elements for it.
-                            However, 'struct stab_section_info'
-                            already includes one element, so we
-                            need to allocate max_index aadditional
-                            elements.  */
-                         size = (sizeof (struct stab_section_info)
-                                 + (sizeof (CORE_ADDR) * max_index));
-                         sectinfo = (struct stab_section_info *)
-                           xmalloc (size);
-                         memset (sectinfo, 0, size);
-                         sectinfo->num_sections = max_index;
-                         if (filesym == NULL)
-                           {
-                             complaint (&symfile_complaints,
-                                        _("elf/stab section information %s "
-                                          "without a preceding file symbol"),
-                                        sym->name);
-                           }
-                         else
-                           {
-                             sectinfo->filename =
-                               (char *) filesym->name;
-                           }
-                       }
-                     if (sectinfo->sections[special_local_sect] != 0)
-                       complaint (&symfile_complaints,
-                                  _("duplicated elf/stab section "
-                                    "information for %s"),
-                                  sectinfo->filename);
-                     /* BFD symbols are section relative.  */
-                     symaddr = sym->value + sym->section->vma;
-                     /* Relocate non-absolute symbols by the
-                        section offset.  */
-                     if (sym->section != bfd_abs_section_ptr)
-                       symaddr += offset;
-                     sectinfo->sections[special_local_sect] = symaddr;
-                     /* The special local symbols don't go in the
-                        minimal symbol table, so ignore this one.  */
-                     continue;
-                   }
-                 /* Not a special stabs-in-elf symbol, do regular
-                    symbol processing.  */
                  if (sym->section->flags & SEC_LOAD)
                    {
                      ms_type = mst_file_data;
@@ -1130,11 +1042,8 @@ elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags,
   /* Allocate struct to keep track of the symfile.  */
   dbx = XCNEW (struct dbx_symfile_info);
   set_objfile_data (objfile, dbx_objfile_data_key, dbx);
-  make_cleanup (free_elfinfo, (void *) objfile);
 
-  /* Process the normal ELF symbol table first.  This may write some
-     chain of info into the dbx_symfile_info of the objfile, which can
-     later be used by elfstab_offset_sections.  */
+  /* Process the normal ELF symbol table first.  */
 
   storage_needed = bfd_get_symtab_upper_bound (objfile->obfd);
   if (storage_needed < 0)
@@ -1369,28 +1278,6 @@ read_psyms (struct objfile *objfile)
     dwarf2_build_psymtabs (objfile);
 }
 
-/* This cleans up the objfile's dbx symfile info, and the chain of
-   stab_section_info's, that might be dangling from it.  */
-
-static void
-free_elfinfo (void *objp)
-{
-  struct objfile *objfile = (struct objfile *) objp;
-  struct dbx_symfile_info *dbxinfo = DBX_SYMFILE_INFO (objfile);
-  struct stab_section_info *ssi, *nssi;
-
-  ssi = dbxinfo->stab_section_info;
-  while (ssi)
-    {
-      nssi = ssi->next;
-      xfree (ssi);
-      ssi = nssi;
-    }
-
-  dbxinfo->stab_section_info = 0;      /* Just say No mo info about this.  */
-}
-
-
 /* Initialize anything that needs initializing when a completely new symbol
    file is specified (not just adding some symbols from another file, e.g. a
    shared library).
@@ -1427,69 +1314,6 @@ elf_symfile_init (struct objfile *objfile)
   objfile->flags |= OBJF_REORDERED;
 }
 
-/* When handling an ELF file that contains Sun STABS debug info,
-   some of the debug info is relative to the particular chunk of the
-   section that was generated in its individual .o file.  E.g.
-   offsets to static variables are relative to the start of the data
-   segment *for that module before linking*.  This information is
-   painfully squirreled away in the ELF symbol table as local symbols
-   with wierd names.  Go get 'em when needed.  */
-
-void
-elfstab_offset_sections (struct objfile *objfile, struct partial_symtab *pst)
-{
-  const char *filename = pst->filename;
-  struct dbx_symfile_info *dbx = DBX_SYMFILE_INFO (objfile);
-  struct stab_section_info *maybe = dbx->stab_section_info;
-  struct stab_section_info *questionable = 0;
-  int i;
-
-  /* The ELF symbol info doesn't include path names, so strip the path
-     (if any) from the psymtab filename.  */
-  filename = lbasename (filename);
-
-  /* FIXME:  This linear search could speed up significantly
-     if it was chained in the right order to match how we search it,
-     and if we unchained when we found a match.  */
-  for (; maybe; maybe = maybe->next)
-    {
-      if (filename[0] == maybe->filename[0]
-         && filename_cmp (filename, maybe->filename) == 0)
-       {
-         /* We found a match.  But there might be several source files
-            (from different directories) with the same name.  */
-         if (0 == maybe->found)
-           break;
-         questionable = maybe; /* Might use it later.  */
-       }
-    }
-
-  if (maybe == 0 && questionable != 0)
-    {
-      complaint (&symfile_complaints,
-                _("elf/stab section information questionable for %s"),
-                filename);
-      maybe = questionable;
-    }
-
-  if (maybe)
-    {
-      /* Found it!  Allocate a new psymtab struct, and fill it in.  */
-      maybe->found++;
-      pst->section_offsets = (struct section_offsets *)
-       obstack_alloc (&objfile->objfile_obstack,
-                      SIZEOF_N_SECTION_OFFSETS (objfile->num_sections));
-      for (i = 0; i < maybe->num_sections; i++)
-       (pst->section_offsets)->offsets[i] = maybe->sections[i];
-      return;
-    }
-
-  /* We were unable to find any offsets for this file.  Complain.  */
-  if (dbx->stab_section_info)  /* If there *is* any info, */
-    complaint (&symfile_complaints,
-              _("elf/stab section information missing for %s"), filename);
-}
-
 /* Implementation of `sym_get_probes', as documented in symfile.h.  */
 
 static VEC (probe_p) *
index aca3479c8b099c745a5f3d0447b9a4abd1cb4f76..fa78ba24aaa91dd15bdc768487e4c2a2ad3033e8 100644 (file)
    global because it is referenced by several modules.  */
 extern const struct objfile_data *dbx_objfile_data_key;
 
-/* The stab_section_info chain remembers info from the ELF symbol table,
-   while psymtabs are being built for the other symbol tables in the 
-   objfile.  It is destroyed at the complation of psymtab-reading.
-   Any info that was used from it has been copied into psymtabs.  */
-
-struct stab_section_info
-  {
-    char *filename;
-    struct stab_section_info *next;
-    int found;                 /* Count of times it's found in searching.  */
-    size_t num_sections;
-    CORE_ADDR sections[1];
-  };
-
 /* Information is passed among various dbxread routines for accessing
    symbol files.  A pointer to this structure is kept in the objfile,
    using the dbx_objfile_data_key.  */
@@ -57,9 +43,6 @@ struct dbx_symfile_info
     int stringtab_size;                /* Its size */
     file_ptr symtab_offset;    /* Offset in file to symbol table */
     int symbol_size;           /* Bytes in a single symbol */
-    struct stab_section_info *stab_section_info;    /* Section starting points
-                                                      of the original .o files
-                                                      before linking.  */
 
     /* See stabsread.h for the use of the following.  */
     struct header_file *header_files;
index 058bb7ce5585355bd0339d90a9e97cd0ad34ac8b..3a81615f34737470a2b381608bb9f79ee6c3730e 100644 (file)
@@ -2646,7 +2646,7 @@ parse_partial_symbols (struct objfile *objfile)
        }
       else
        textlow = 0;
-      pst = start_psymtab_common (objfile, objfile->section_offsets,
+      pst = start_psymtab_common (objfile,
                                  fdr_name (fh),
                                  textlow,
                                  objfile->global_psymbols.next,
@@ -3935,6 +3935,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
   struct linetable *lines;
   CORE_ADDR lowest_pdr_addr = 0;
   int last_symtab_ended = 0;
+  struct section_offsets *section_offsets = objfile->section_offsets;
 
   if (pst->readin)
     return;
@@ -4051,7 +4052,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
                      && previous_stab_code != (unsigned char) N_SO
                      && *name == '\000')
                    {
-                     valu += ANOFFSET (pst->section_offsets,
+                     valu += ANOFFSET (section_offsets,
                                        SECT_OFF_TEXT (objfile));
                      previous_stab_code = N_SO;
                      cust = end_symtab (valu, SECT_OFF_TEXT (objfile));
@@ -4062,14 +4063,14 @@ psymtab_to_symtab_1 (struct objfile *objfile,
                    {
                      last_symtab_ended = 0;
                      process_one_symbol (type_code, 0, valu, name,
-                                         pst->section_offsets, objfile);
+                                         section_offsets, objfile);
                    }
                }
              /* Similarly a hack.  */
              else if (name[0] == '#')
                {
                  process_one_symbol (N_SLINE, 0, valu, name,
-                                     pst->section_offsets, objfile);
+                                     section_offsets, objfile);
                }
              if (type_code == N_FUN)
                {
@@ -4101,7 +4102,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
              else
                {
                  /* Handle encoded stab line number.  */
-                 valu += ANOFFSET (pst->section_offsets,
+                 valu += ANOFFSET (section_offsets,
                                    SECT_OFF_TEXT (objfile));
                  record_line (current_subfile, sh.index,
                               gdbarch_addr_bits_remove (gdbarch, valu));
@@ -4225,7 +4226,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
              c = parse_symbol (&sh,
                                debug_info->external_aux + fh->iauxBase,
                                sym_ptr, fh->fBigendian,
-                               pst->section_offsets, objfile);
+                               section_offsets, objfile);
              sym_ptr += c * external_sym_size;
            }
 
@@ -4300,7 +4301,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
       ext_ptr = PST_PRIVATE (pst)->extern_tab;
       for (i = PST_PRIVATE (pst)->extern_count; --i >= 0; ext_ptr++)
        parse_external (ext_ptr, fh->fBigendian,
-                       pst->section_offsets, objfile);
+                       section_offsets, objfile);
 
       /* If there are undefined symbols, tell the user.
          The alpha has an undefined symbol for every symbol that is
@@ -4758,7 +4759,6 @@ new_psymtab (char *name, struct objfile *objfile)
   struct partial_symtab *psymtab;
 
   psymtab = allocate_psymtab (name, objfile);
-  psymtab->section_offsets = objfile->section_offsets;
 
   /* Keep a backpointer to the file's symbols.  */
 
index 9daddea6d17cca0eea611b23d7712ca48780a36e..ea2454cacfdd247006a6daacaf4c07bbc38eb61f 100644 (file)
@@ -98,12 +98,6 @@ struct partial_symtab
 
   const char *dirname;
 
-  /* Set of relocation offsets to apply to each section.
-     This is typically objfile->section_offsets, but in some cases
-     it's different.  See, e.g., elfstab_offset_sections.  */
-
-  struct section_offsets *section_offsets;
-
   /* Range of text addresses covered by this file; texthigh is the
      beginning of the next section.  Do not use if PSYMTABS_ADDRMAP_SUPPORTED
      is set.  */
@@ -224,7 +218,6 @@ extern void add_psymbol_to_list (const char *, int,
 extern void init_psymbol_list (struct objfile *, int);
 
 extern struct partial_symtab *start_psymtab_common (struct objfile *,
-                                                   struct section_offsets *,
                                                    const char *, CORE_ADDR,
                                                    struct partial_symbol **,
                                                    struct partial_symbol **);
index 9ee6ed1b4615cb38101b8d9cf0e7c113ad1166b4..ba677bcdbe682a355ca1d9285eeff2fe7ebf284b 100644 (file)
@@ -1014,18 +1014,6 @@ dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab,
       fprintf_filtered (outfile, ")\n");
     }
 
-  fprintf_filtered (outfile, "  Relocate symbols by ");
-  for (i = 0; i < objfile->num_sections; ++i)
-    {
-      if (i != 0)
-       fprintf_filtered (outfile, ", ");
-      wrap_here ("    ");
-      fputs_filtered (paddress (gdbarch,
-                               ANOFFSET (psymtab->section_offsets, i)),
-                     outfile);
-    }
-  fprintf_filtered (outfile, "\n");
-
   fprintf_filtered (outfile, "  Symbols cover text addresses ");
   fputs_filtered (paddress (gdbarch, psymtab->textlow), outfile);
   fprintf_filtered (outfile, "-");
@@ -1526,7 +1514,6 @@ sort_pst_symbols (struct objfile *objfile, struct partial_symtab *pst)
 
 struct partial_symtab *
 start_psymtab_common (struct objfile *objfile,
-                     struct section_offsets *section_offsets,
                      const char *filename,
                      CORE_ADDR textlow, struct partial_symbol **global_syms,
                      struct partial_symbol **static_syms)
@@ -1534,7 +1521,6 @@ start_psymtab_common (struct objfile *objfile,
   struct partial_symtab *psymtab;
 
   psymtab = allocate_psymtab (filename, objfile);
-  psymtab->section_offsets = section_offsets;
   psymtab->textlow = textlow;
   psymtab->texthigh = psymtab->textlow;                /* default */
   psymtab->globals_offset = global_syms - objfile->global_psymbols.list;
index 07e7a6ebcfe3d5ea16be36b4e2b20fb541511420..dbf5e1de864645d0f3f0a463bc2c486424fd8f49 100644 (file)
@@ -189,8 +189,6 @@ extern void coffstab_build_psymtabs
 extern void stabsect_build_psymtabs (struct objfile *objfile, char *stab_name,
                                     char *stabstr_name, char *text_name);
 
-extern void elfstab_offset_sections (struct objfile *,
-                                    struct partial_symtab *);
 extern int symbol_reference_defined (char **);
 
 extern void ref_add (int, struct symbol *, char *, CORE_ADDR);
index 9571ac8f554b8295f7b7282ee298b8ffa5b55bd3..b5b2a1d27d325462b3c11268be0fea7c8e0e4d57 100644 (file)
@@ -2016,7 +2016,7 @@ xcoff_start_psymtab (struct objfile *objfile,
                     struct partial_symbol **static_syms)
 {
   struct partial_symtab *result =
-    start_psymtab_common (objfile, objfile->section_offsets,
+    start_psymtab_common (objfile,
                          filename,
                          /* We fill in textlow later.  */
                          0,
@@ -2079,7 +2079,6 @@ xcoff_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
       struct partial_symtab *subpst =
        allocate_psymtab (include_list[i], objfile);
 
-      subpst->section_offsets = pst->section_offsets;
       subpst->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
                                                   sizeof (struct symloc));
       ((struct symloc *) subpst->read_symtab_private)->first_symnum = 0;