]> Git Repo - binutils.git/blobdiff - gdb/os9kread.c
This commit was generated by cvs2svn to track changes on a CVS vendor
[binutils.git] / gdb / os9kread.c
index 92b28246851a419912803e4ebf38609b40214c6b..d3e782f9ae1711ba86d7cd8ce83371c0f8852004 100644 (file)
@@ -61,7 +61,7 @@
 #include "os9k.h"
 #include "stabsread.h"
 
-extern void _initialize_os9kread PARAMS ((void));
+extern void _initialize_os9kread (void);
 
 /* Each partial symbol table entry contains a pointer to private data for the
    read_symtab() function to use when expanding a partial symbol table entry
@@ -126,53 +126,41 @@ static struct complaint lbrac_mismatch_complaint =
 \f
 /* Local function prototypes */
 
-static void
-read_minimal_symbols PARAMS ((struct objfile *, struct section_offsets *));
+static void read_minimal_symbols (struct objfile *);
 
-static void
-os9k_read_ofile_symtab PARAMS ((struct partial_symtab *));
+static void os9k_read_ofile_symtab (struct partial_symtab *);
 
-static void
-os9k_psymtab_to_symtab PARAMS ((struct partial_symtab *));
+static void os9k_psymtab_to_symtab (struct partial_symtab *);
 
-static void
-os9k_psymtab_to_symtab_1 PARAMS ((struct partial_symtab *));
+static void os9k_psymtab_to_symtab_1 (struct partial_symtab *);
 
-static void
-read_os9k_psymtab PARAMS ((struct section_offsets *, struct objfile *,
-                          CORE_ADDR, int));
+static void read_os9k_psymtab (struct objfile *, CORE_ADDR, int);
 
-static int
-fill_sym PARAMS ((FILE *, bfd *));
+static int fill_sym (FILE *, bfd *);
 
-static void
-os9k_symfile_init PARAMS ((struct objfile *));
+static void os9k_symfile_init (struct objfile *);
 
-static void
-os9k_new_init PARAMS ((struct objfile *));
+static void os9k_new_init (struct objfile *);
 
-static void
-os9k_symfile_read PARAMS ((struct objfile *, int));
+static void os9k_symfile_read (struct objfile *, int);
 
-static void
-os9k_symfile_finish PARAMS ((struct objfile *));
+static void os9k_symfile_finish (struct objfile *);
 
 static void
-os9k_process_one_symbol PARAMS ((int, int, CORE_ADDR, char *,
-                              struct section_offsets *, struct objfile *));
+os9k_process_one_symbol (int, int, CORE_ADDR, char *,
+                        struct section_offsets *, struct objfile *);
 
-static struct partial_symtab *
-  os9k_start_psymtab PARAMS ((struct objfile *, struct section_offsets *, char *,
-                             CORE_ADDR, int, int, struct partial_symbol **,
-                             struct partial_symbol **));
+static struct partial_symtab *os9k_start_psymtab (struct objfile *, char *,
+                                                 CORE_ADDR, int, int,
+                                                 struct partial_symbol **,
+                                                 struct partial_symbol **);
 
-static struct partial_symtab *
-  os9k_end_psymtab PARAMS ((struct partial_symtab *, char **, int, int, CORE_ADDR,
-                           struct partial_symtab **, int));
+static struct partial_symtab *os9k_end_psymtab (struct partial_symtab *,
+                                               char **, int, int, CORE_ADDR,
+                                               struct partial_symtab **,
+                                               int);
 
-static void
-record_minimal_symbol PARAMS ((char *, CORE_ADDR, int, struct objfile *,
-                              struct section_offsets *));
+static void record_minimal_symbol (char *, CORE_ADDR, int, struct objfile *);
 \f
 #define HANDLE_RBRAC(val) \
   if ((val) > pst->texthigh) pst->texthigh = (val);
@@ -198,12 +186,11 @@ record_minimal_symbol PARAMS ((char *, CORE_ADDR, int, struct objfile *,
 #define N_ABS 6
 
 static void
-record_minimal_symbol (name, address, type, objfile, section_offsets)
+record_minimal_symbol (name, address, type, objfile)
      char *name;
      CORE_ADDR address;
      int type;
      struct objfile *objfile;
-     struct section_offsets *section_offsets;
 {
   enum minimal_symbol_type ms_type;
 
@@ -211,7 +198,7 @@ record_minimal_symbol (name, address, type, objfile, section_offsets)
     {
     case N_TEXT:
       ms_type = mst_text;
-      address += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+      address += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
       break;
     case N_DATA:
       ms_type = mst_data;
@@ -257,9 +244,8 @@ struct stbsymbol
 #define STBSYMSIZE 10
 
 static void
-read_minimal_symbols (objfile, section_offsets)
+read_minimal_symbols (objfile)
      struct objfile *objfile;
-     struct section_offsets *section_offsets;
 {
   FILE *fp;
   bfd *abfd;
@@ -314,7 +300,7 @@ read_minimal_symbols (objfile, section_offsets)
            break;
          ch = getc (fp);
        };
-      record_minimal_symbol (buf1, sym.value, sym.type & 7, objfile, section_offsets);
+      record_minimal_symbol (buf1, sym.value, sym.type & 7, objfile);
       off += STBSYMSIZE;
     };
   install_minimal_symbols (objfile);
@@ -326,8 +312,6 @@ read_minimal_symbols (objfile, section_offsets)
    put all the relevant info into a "struct os9k_symfile_info",
    hung off the objfile structure.
 
-   SECTION_OFFSETS contains offsets relative to which the symbols in the
-   various sections are (depending where the sections were actually loaded).
    MAINLINE is true if we are reading the main symbol
    table (as opposed to a shared lib or dynamically loaded file).  */
 
@@ -348,12 +332,12 @@ os9k_symfile_read (objfile, mainline)
   free_pending_blocks ();
   back_to = make_cleanup (really_free_pendings, 0);
 
-  make_cleanup ((make_cleanup_func) discard_minimal_symbols, 0);
-  read_minimal_symbols (objfile, objfile->section_offsets);
+  make_cleanup_discard_minimal_symbols ();
+  read_minimal_symbols (objfile);
 
   /* Now that the symbol table data of the executable file are all in core,
      process them and define symbols accordingly.  */
-  read_os9k_psymtab (objfile->section_offsets, objfile,
+  read_os9k_psymtab (objfile,
                     DBX_TEXT_ADDR (objfile),
                     DBX_TEXT_SIZE (objfile));
 
@@ -565,13 +549,10 @@ fill_sym (dbg_file, abfd)
 /* Given pointers to an a.out symbol table in core containing dbx
    style data, setup partial_symtab's describing each source file for
    which debugging information is available.
-   SYMFILE_NAME is the name of the file we are reading from
-   and SECTION_OFFSETS is the set of offsets for the various sections
-   of the file (a set of zeros if the mainline program).  */
+   SYMFILE_NAME is the name of the file we are reading from. */
 
 static void
-read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
-     struct section_offsets *section_offsets;
+read_os9k_psymtab (objfile, text_addr, text_size)
      struct objfile *objfile;
      CORE_ADDR text_addr;
      int text_size;
@@ -617,7 +598,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
 #ifdef END_OF_TEXT_DEFAULT
   end_of_text_addr = END_OF_TEXT_DEFAULT;
 #else
-  end_of_text_addr = text_addr + section_offsets->offsets[SECT_OFF_TEXT]
+  end_of_text_addr = text_addr + ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile))
     + text_size;               /* Relocate */
 #endif
 
@@ -664,7 +645,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
          continue;
 
        case N_SYM_SE:
-         CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+         CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
          if (psymfile_depth == 1 && pst)
            {
              os9k_end_psymtab (pst, psymtab_include_list, includes_used,
@@ -701,7 +682,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
 
                valu = CUR_SYMBOL_VALUE;
                if (valu)
-                 valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+                 valu += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
                past_first_source_file = 1;
 
                p = strchr (namestring, ':');
@@ -716,7 +697,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
                if (psymfile_depth == 0)
                  {
                    if (!pst)
-                     pst = os9k_start_psymtab (objfile, section_offsets,
+                     pst = os9k_start_psymtab (objfile,
                                                str, valu,
                                                cursymoffset,
                                                symnum - 1,
@@ -893,7 +874,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
              continue;
 
            case 'f':
-             CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+             CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
              if (pst && pst->textlow == 0)
                pst->textlow = CUR_SYMBOL_VALUE;
 
@@ -904,7 +885,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
              continue;
 
            case 'F':
-             CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+             CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
              if (pst && pst->textlow == 0)
                pst->textlow = CUR_SYMBOL_VALUE;
 
@@ -942,7 +923,7 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
            }
 
        case N_SYM_RBRAC:
-         CUR_SYMBOL_VALUE += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+         CUR_SYMBOL_VALUE += ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
 #ifdef HANDLE_RBRAC
          HANDLE_RBRAC (CUR_SYMBOL_VALUE);
          continue;
@@ -992,10 +973,9 @@ read_os9k_psymtab (section_offsets, objfile, text_addr, text_size)
 
 
 static struct partial_symtab *
-os9k_start_psymtab (objfile, section_offsets,
+os9k_start_psymtab (objfile,
            filename, textlow, ldsymoff, ldsymcnt, global_syms, static_syms)
      struct objfile *objfile;
-     struct section_offsets *section_offsets;
      char *filename;
      CORE_ADDR textlow;
      int ldsymoff;
@@ -1004,7 +984,7 @@ os9k_start_psymtab (objfile, section_offsets,
      struct partial_symbol **static_syms;
 {
   struct partial_symtab *result =
-  start_psymtab_common (objfile, section_offsets,
+  start_psymtab_common (objfile, objfile->section_offsets,
                        filename, textlow, global_syms, static_syms);
 
   result->read_symtab_private = (char *)
@@ -1313,7 +1293,6 @@ os9k_read_ofile_symtab (pst)
   int sym_offset;              /* Offset to start of symbols to read */
   CORE_ADDR text_offset;       /* Start of text segment for symbols */
   int text_size;               /* Size of text segment for symbols */
-  struct section_offsets *section_offsets;
   FILE *dbg_file;
 
   objfile = pst->objfile;
@@ -1321,7 +1300,6 @@ os9k_read_ofile_symtab (pst)
   max_symnum = LDSYMCNT (pst);
   text_offset = pst->textlow;
   text_size = pst->texthigh - pst->textlow;
-  section_offsets = pst->section_offsets;
 
   current_objfile = objfile;
   subfile_stack = NULL;
@@ -1386,7 +1364,7 @@ os9k_read_ofile_symtab (pst)
       type = bufp->n_type;
 
       os9k_process_one_symbol ((int) type, (int) bufp->n_desc,
-        (CORE_ADDR) bufp->n_value, bufp->n_strx, section_offsets, objfile);
+        (CORE_ADDR) bufp->n_value, bufp->n_strx, pst->section_offsets, objfile);
 
       /* We skip checking for a new .o or -l file; that should never
          happen in this routine. */
@@ -1435,7 +1413,7 @@ os9k_read_ofile_symtab (pst)
      which comes from pst->textlow is correct. */
   if (last_source_start_addr == 0)
     last_source_start_addr = text_offset;
-  pst->symtab = end_symtab (text_offset + text_size, objfile, SECT_OFF_TEXT);
+  pst->symtab = end_symtab (text_offset + text_size, objfile, SECT_OFF_TEXT (objfile));
   end_stabs ();
 }
 \f
@@ -1485,12 +1463,12 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
     case N_SYM_LBRAC:
       /* On most machines, the block addresses are relative to the
          N_SO, the linker did not relocate them (sigh).  */
-      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
       new = push_context (desc, valu);
       break;
 
     case N_SYM_RBRAC:
-      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
       new = pop_context ();
 
 #if !defined (OS9K_VARIABLES_INSIDE_BLOCK)
@@ -1559,7 +1537,7 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
          one line-number -- core-address correspondence.
          Enter it in the line list for this symbol table. */
       /* Relocate for dynamic loading and for ELF acc fn-relative syms.  */
-      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+      valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
       /* FIXME: loses if sizeof (char *) > sizeof (int) */
       record_line (current_subfile, (int) name, valu);
       break;
@@ -1582,7 +1560,7 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
          switch (deftype)
            {
            case 'S':
-             valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+             valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
              n = strrchr (name, '/');
              if (n != NULL)
                {
@@ -1600,7 +1578,7 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
                {
                  if (last_source_file)
                    {
-                     end_symtab (valu, objfile, SECT_OFF_TEXT);
+                     end_symtab (valu, objfile, SECT_OFF_TEXT (objfile));
                      end_stabs ();
                    }
                  start_stabs ();
@@ -1617,7 +1595,7 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
 
            case 'f':
            case 'F':
-             valu += ANOFFSET (section_offsets, SECT_OFF_TEXT);
+             valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
              function_stab_type = type;
 
              within_function = 1;
@@ -1627,7 +1605,7 @@ os9k_process_one_symbol (type, desc, valu, name, section_offsets, objfile)
 
            case 'V':
            case 'v':
-             valu += ANOFFSET (section_offsets, SECT_OFF_DATA);
+             valu += ANOFFSET (section_offsets, SECT_OFF_DATA (objfile));
              define_symbol (valu, name, desc, type, objfile);
              break;
 
This page took 0.037603 seconds and 4 git commands to generate.