]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/mipsread.c
Sanitize the address before working with allocation tags
[thirdparty/binutils-gdb.git] / gdb / mipsread.c
index e54dc5de45a129e0bd9ed952bb61b365dc1e1484..b51af3eeaa609811d7800cfe4d2dfddb1f5556a5 100644 (file)
@@ -1,6 +1,6 @@
 /* Read a symbol table in MIPS' format (Third-Eye).
 
-   Copyright (C) 1986-2019 Free Software Foundation, Inc.
+   Copyright (C) 1986-2021 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.
@@ -43,7 +43,6 @@
 
 static void
 read_alphacoff_dynamic_symtab (minimal_symbol_reader &,
-                              struct section_offsets *,
                               struct objfile *objfile);
 
 /* Initialize anything that needs initializing when a completely new
@@ -76,7 +75,7 @@ mipscoff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
      process it and define symbols accordingly.  */
 
   if (!((*ecoff_backend (abfd)->debug_swap.read_debug_info)
-       (abfd, (asection *) NULL, &ecoff_data (abfd)->debug_info)))
+       (abfd, NULL, &ecoff_data (abfd)->debug_info)))
     error (_("Error reading symbol table: %s"), bfd_errmsg (bfd_get_error ()));
 
   mdebug_build_psymtabs (reader, objfile, &ecoff_backend (abfd)->debug_swap,
@@ -84,7 +83,7 @@ mipscoff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
 
   /* Add alpha coff dynamic symbols.  */
 
-  read_alphacoff_dynamic_symtab (reader, objfile->section_offsets, objfile);
+  read_alphacoff_dynamic_symtab (reader, objfile);
 
   /* Install any minimal symbols that have been collected as the current
      minimal symbols for this objfile.  */
@@ -174,7 +173,6 @@ alphacoff_locate_sections (bfd *ignore_abfd, asection *sectp, void *sip)
 
 static void
 read_alphacoff_dynamic_symtab (minimal_symbol_reader &reader,
-                              struct section_offsets *section_offsets,
                               struct objfile *objfile)
 {
   bfd *abfd = objfile->obfd;
@@ -200,10 +198,10 @@ read_alphacoff_dynamic_symtab (minimal_symbol_reader &reader,
       || si.dyninfo_sect == NULL || si.got_sect == NULL)
     return;
 
-  gdb::byte_vector sym_sec (bfd_get_section_size (si.sym_sect));
-  gdb::byte_vector str_sec (bfd_get_section_size (si.str_sect));
-  gdb::byte_vector dyninfo_sec (bfd_get_section_size (si.dyninfo_sect));
-  gdb::byte_vector got_sec (bfd_get_section_size (si.got_sect));
+  gdb::byte_vector sym_sec (bfd_section_size (si.sym_sect));
+  gdb::byte_vector str_sec (bfd_section_size (si.str_sect));
+  gdb::byte_vector dyninfo_sec (bfd_section_size (si.dyninfo_sect));
+  gdb::byte_vector got_sec (bfd_section_size (si.got_sect));
 
   if (!bfd_get_section_contents (abfd, si.sym_sect, sym_sec.data (),
                                 (file_ptr) 0, sym_sec.size ()))
@@ -371,18 +369,17 @@ static const struct sym_fns ecoff_sym_fns =
   mipscoff_new_init,           /* init anything gbl to entire symtab */
   mipscoff_symfile_init,       /* read initial info, setup for sym_read() */
   mipscoff_symfile_read,       /* read a symbol file into symtab */
-  NULL,                                /* sym_read_psymbols */
   mipscoff_symfile_finish,     /* finished with file, cleanup */
   default_symfile_offsets,     /* dummy FIXME til implem sym reloc */
   default_symfile_segments,    /* Get segment information from a file.  */
   NULL,
   default_symfile_relocate,    /* Relocate a debug section.  */
   NULL,                                /* sym_probe_fns */
-  &psym_functions
 };
 
+void _initialize_mipsread ();
 void
-_initialize_mipsread (void)
+_initialize_mipsread ()
 {
   add_symtab_fns (bfd_target_ecoff_flavour, &ecoff_sym_fns);
 }