* amd64-tdep.c (amd64_frame_cache): Fix comment.
[deliverable/binutils-gdb.git] / gdb / mipsread.c
index 1a1c6683296a7e4e4fc638d5cb928b5d54b2feb6..f67eeea98192941683f8ad4dfd94a40b1f8304f7 100644 (file)
@@ -1,5 +1,6 @@
 /* Read a symbol table in MIPS' format (Third-Eye).
-   Copyright 1986, 87, 89, 90, 91, 92, 93, 94, 95, 96, 1998
+   Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
+   1998, 1999, 2000, 2001, 2003, 2004
    Free Software Foundation, Inc.
    Contributed by Alessandro Forin (af@cs.cmu.edu) at CMU.  Major work
    by Per Bothner, John Gilmore and Ian Lance Taylor at Cygnus Support.
 #include "gdb_string.h"
 #include "bfd.h"
 #include "symtab.h"
-#include "symfile.h"
 #include "objfiles.h"
 #include "buildsym.h"
 #include "stabsread.h"
-#include "gdb-stabs.h"
 
 #include "coff/sym.h"
 #include "coff/internal.h"
@@ -113,15 +112,15 @@ mipscoff_symfile_read (struct objfile *objfile, int mainline)
 
   if (mainline
       && objfile->ei.entry_point != INVALID_ENTRY_POINT
-      && objfile->ei.entry_file_lowpc == INVALID_ENTRY_LOWPC)
+      && objfile->ei.deprecated_entry_file_lowpc == INVALID_ENTRY_LOWPC)
     {
       struct minimal_symbol *m;
 
       m = lookup_minimal_symbol_by_pc (objfile->ei.entry_point);
-      if (m && SYMBOL_NAME (m + 1))
+      if (m && DEPRECATED_SYMBOL_NAME (m + 1))
        {
-         objfile->ei.entry_file_lowpc = SYMBOL_VALUE_ADDRESS (m);
-         objfile->ei.entry_file_highpc = SYMBOL_VALUE_ADDRESS (m + 1);
+         objfile->ei.deprecated_entry_file_lowpc = SYMBOL_VALUE_ADDRESS (m);
+         objfile->ei.deprecated_entry_file_highpc = SYMBOL_VALUE_ADDRESS (m + 1);
        }
     }
 
@@ -185,33 +184,31 @@ struct alphacoff_dynsecinfo
     asection *got_sect;                /* Section pointer for .got section */
   };
 
-static void alphacoff_locate_sections (bfd *, asection *, void *);
-
 /* We are called once per section from read_alphacoff_dynamic_symtab.
    We need to examine each section we are passed, check to see
    if it is something we are interested in processing, and
    if so, stash away some access information for the section.  */
 
 static void
-alphacoff_locate_sections (bfd *ignore_abfd, asection *sectp, PTR sip)
+alphacoff_locate_sections (bfd *ignore_abfd, asection *sectp, void *sip)
 {
-  register struct alphacoff_dynsecinfo *si;
+  struct alphacoff_dynsecinfo *si;
 
   si = (struct alphacoff_dynsecinfo *) sip;
 
-  if (STREQ (sectp->name, ".dynsym"))
+  if (DEPRECATED_STREQ (sectp->name, ".dynsym"))
     {
       si->sym_sect = sectp;
     }
-  else if (STREQ (sectp->name, ".dynstr"))
+  else if (DEPRECATED_STREQ (sectp->name, ".dynstr"))
     {
       si->str_sect = sectp;
     }
-  else if (STREQ (sectp->name, ".dynamic"))
+  else if (DEPRECATED_STREQ (sectp->name, ".dynamic"))
     {
       si->dyninfo_sect = sectp;
     }
-  else if (STREQ (sectp->name, ".got"))
+  else if (DEPRECATED_STREQ (sectp->name, ".got"))
     {
       si->got_sect = sectp;
     }
@@ -243,6 +240,7 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets,
   int got_entry_size = 8;
   int dt_mips_local_gotno = -1;
   int dt_mips_gotsym = -1;
+  struct cleanup *cleanups;
 
 
   /* We currently only know how to handle alpha dynamic symbols.  */
@@ -251,7 +249,7 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets,
 
   /* Locate the dynamic symbols sections and read them in.  */
   memset ((char *) &si, 0, sizeof (si));
-  bfd_map_over_sections (abfd, alphacoff_locate_sections, (PTR) & si);
+  bfd_map_over_sections (abfd, alphacoff_locate_sections, (void *) & si);
   if (si.sym_sect == NULL
       || si.str_sect == NULL
       || si.dyninfo_sect == NULL
@@ -262,10 +260,14 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets,
   str_secsize = bfd_get_section_size_before_reloc (si.str_sect);
   dyninfo_secsize = bfd_get_section_size_before_reloc (si.dyninfo_sect);
   got_secsize = bfd_get_section_size_before_reloc (si.got_sect);
-  sym_secptr = alloca (sym_secsize);
-  str_secptr = alloca (str_secsize);
-  dyninfo_secptr = alloca (dyninfo_secsize);
-  got_secptr = alloca (got_secsize);
+  sym_secptr = xmalloc (sym_secsize);
+  cleanups = make_cleanup (free, sym_secptr);
+  str_secptr = xmalloc (str_secsize);
+  make_cleanup (free, str_secptr);
+  dyninfo_secptr = xmalloc (dyninfo_secsize);
+  make_cleanup (free, dyninfo_secptr);
+  got_secptr = xmalloc (got_secsize);
+  make_cleanup (free, got_secptr);
 
   if (!bfd_get_section_contents (abfd, si.sym_sect, sym_secptr,
                                 (file_ptr) 0, sym_secsize))
@@ -418,6 +420,8 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets,
 
       prim_record_minimal_symbol (name, sym_value, ms_type, objfile);
     }
+
+  do_cleanups (cleanups);
 }
 
 /* Initialization */
This page took 0.024474 seconds and 4 git commands to generate.