Index: gdb/mipsread.c |
diff --git a/gdb/mipsread.c b/gdb/mipsread.c |
index 23ceece652081b0f7f3202c483691f530800e4ab..d06d2f7c45d2c6f45f49e0af17c4b5d8e6feefae 100644 |
--- a/gdb/mipsread.c |
+++ b/gdb/mipsread.c |
@@ -1,7 +1,6 @@ |
/* Read a symbol table in MIPS' format (Third-Eye). |
- Copyright (C) 1986-1987, 1989-1996, 1998-2001, 2003-2004, 2007-2012 |
- Free Software Foundation, Inc. |
+ Copyright (C) 1986-2013 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. |
@@ -25,7 +24,7 @@ |
mdebugread.c. */ |
#include "defs.h" |
-#include "gdb_string.h" |
+#include <string.h> |
#include "bfd.h" |
#include "symtab.h" |
#include "objfiles.h" |
@@ -228,16 +227,28 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets, |
if (!bfd_get_section_contents (abfd, si.sym_sect, sym_secptr, |
(file_ptr) 0, sym_secsize)) |
- return; |
+ { |
+ do_cleanups (cleanups); |
+ return; |
+ } |
if (!bfd_get_section_contents (abfd, si.str_sect, str_secptr, |
(file_ptr) 0, str_secsize)) |
- return; |
+ { |
+ do_cleanups (cleanups); |
+ return; |
+ } |
if (!bfd_get_section_contents (abfd, si.dyninfo_sect, dyninfo_secptr, |
(file_ptr) 0, dyninfo_secsize)) |
- return; |
+ { |
+ do_cleanups (cleanups); |
+ return; |
+ } |
if (!bfd_get_section_contents (abfd, si.got_sect, got_secptr, |
(file_ptr) 0, got_secsize)) |
- return; |
+ { |
+ do_cleanups (cleanups); |
+ return; |
+ } |
/* Find the number of local GOT entries and the index for the |
first dynamic symbol in the GOT. */ |
@@ -265,7 +276,10 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets, |
} |
} |
if (dt_mips_local_gotno < 0 || dt_mips_gotsym < 0) |
- return; |
+ { |
+ do_cleanups (cleanups); |
+ return; |
+ } |
/* Scan all dynamic symbols and enter them into the minimal symbol |
table if appropriate. */ |
@@ -391,7 +405,6 @@ read_alphacoff_dynamic_symtab (struct section_offsets *section_offsets, |
static const struct sym_fns ecoff_sym_fns = |
{ |
- bfd_target_ecoff_flavour, |
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 */ |
@@ -411,5 +424,5 @@ void _initialize_mipsread (void); |
void |
_initialize_mipsread (void) |
{ |
- add_symtab_fns (&ecoff_sym_fns); |
+ add_symtab_fns (bfd_target_ecoff_flavour, &ecoff_sym_fns); |
} |