OSDN Git Service

Fix typo in filename.
[pf3gnuchains/pf3gnuchains3x.git] / gdb / somread.c
index c4f0744..04f0684 100644 (file)
@@ -1,13 +1,13 @@
 /* Read HP PA/Risc object files for GDB.
    Copyright (C) 1991, 1992, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
-   2004, 2007 Free Software Foundation, Inc.
+   2004, 2007, 2008, 2009 Free Software Foundation, Inc.
    Written by Fred Fish at Cygnus Support.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
@@ -16,9 +16,7 @@
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "defs.h"
 #include "bfd.h"
@@ -60,6 +58,7 @@ static void
 som_symtab_read (bfd *abfd, struct objfile *objfile,
                 struct section_offsets *section_offsets)
 {
+  struct gdbarch *gdbarch = get_objfile_arch (objfile);
   unsigned int number_of_symbols;
   int val, dynamic;
   char *stringtab;
@@ -134,7 +133,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_text;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
            case ST_ENTRY:
@@ -148,7 +147,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
                ms_type = mst_text;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
            case ST_STUB:
@@ -156,7 +155,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_solib_trampoline;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
            case ST_DATA:
@@ -185,7 +184,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_file_text;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
 
            check_strange_names:
              /* Utah GCC 2.5, FSF GCC 2.6 and later generate correct local
@@ -217,7 +216,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_file_text;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
            case ST_ENTRY:
@@ -229,7 +228,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_file_text;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
            case ST_STUB:
@@ -237,7 +236,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
              ms_type = mst_solib_trampoline;
              bufp->symbol_value += text_offset;
              bufp->symbol_value = gdbarch_smash_text_address
-                                    (current_gdbarch, bufp->symbol_value);
+                                    (gdbarch, bufp->symbol_value);
              break;
 
 
@@ -293,9 +292,6 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
    SECTION_OFFSETS is a set of offsets to apply to relocate the symbols
    in each section.  This is ignored, as it isn't needed for SOM.
 
-   MAINLINE is true if we are reading the main symbol
-   table (as opposed to a shared lib or dynamically loaded file).
-
    This function only does the minimum work necessary for letting the
    user "name" things symbolically; it does not read the entire symtab.
    Instead, it reads the external and static symbols and puts them in partial
@@ -316,7 +312,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile,
    capability even for files compiled without -g.  */
 
 static void
-som_symfile_read (struct objfile *objfile, int mainline)
+som_symfile_read (struct objfile *objfile, int symfile_flags)
 {
   bfd *abfd = objfile->obfd;
   struct cleanup *back_to;
@@ -341,7 +337,7 @@ som_symfile_read (struct objfile *objfile, int mainline)
 
   /* Now read information from the stabs debug sections.
      This is emitted by gcc.  */
-  stabsect_build_psymtabs (objfile, mainline,
+  stabsect_build_psymtabs (objfile,
                           "$GDB_SYMBOLS$", "$GDB_STRINGS$", "$TEXT$");
 }
 
@@ -438,6 +434,9 @@ static struct sym_fns som_sym_fns =
   som_symfile_read,            /* sym_read: read a symbol file into symtab */
   som_symfile_finish,          /* sym_finish: finished with file, cleanup */
   som_symfile_offsets,         /* sym_offsets:  Translate ext. to int. relocation */
+  default_symfile_segments,    /* sym_segments: Get segment information from
+                                  a file.  */
+  NULL,                         /* sym_read_linetable */
   NULL                         /* next: pointer to next struct sym_fns */
 };