X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsomread.c;h=79068cd5e0b9f25c2ff3cd8bac1e881a340ce2ac;hb=2117c711ae07700adb57ea5b5ca61e4c32d7e3d2;hp=db6c4d441e9287632653f32130403e15f9e55935;hpb=66f65e2b480682001987f8cf58b78577c3e85491;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/somread.c b/gdb/somread.c index db6c4d441e..79068cd5e0 100644 --- a/gdb/somread.c +++ b/gdb/somread.c @@ -1,5 +1,5 @@ /* Read HP PA/Risc object files for GDB. - Copyright (C) 1991-2013 Free Software Foundation, Inc. + Copyright (C) 1991-2014 Free Software Foundation, Inc. Written by Fred Fish at Cygnus Support. This file is part of GDB. @@ -27,7 +27,7 @@ #include "stabsread.h" #include "gdb-stabs.h" #include "complaints.h" -#include "gdb_string.h" +#include #include "demangle.h" #include "som.h" #include "libhppa.h" @@ -46,6 +46,7 @@ static void som_symtab_read (bfd *abfd, struct objfile *objfile, struct section_offsets *section_offsets) { + struct cleanup *cleanup; struct gdbarch *gdbarch = get_objfile_arch (objfile); unsigned int number_of_symbols; int val, dynamic; @@ -53,7 +54,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile, asection *shlib_info; struct som_external_symbol_dictionary_record *buf, *bufp, *endbufp; char *symname; - CONST int symsize = sizeof (struct som_external_symbol_dictionary_record); + const int symsize = sizeof (struct som_external_symbol_dictionary_record); #define text_offset ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile)) @@ -65,7 +66,7 @@ som_symtab_read (bfd *abfd, struct objfile *objfile, We avoid using alloca because the memory size could be so large that we could hit the stack size limit. */ buf = xmalloc (symsize * number_of_symbols); - make_cleanup (xfree, buf); + cleanup = make_cleanup (xfree, buf); bfd_seek (abfd, obj_som_sym_filepos (abfd), SEEK_SET); val = bfd_bread (buf, symsize * number_of_symbols, abfd); if (val != symsize * number_of_symbols) @@ -316,6 +317,8 @@ som_symtab_read (bfd *abfd, struct objfile *objfile, section), objfile); } + + do_cleanups (cleanup); } /* Scan and build partial symbols for a symbol file. @@ -531,7 +534,6 @@ som_symfile_offsets (struct objfile *objfile, static const struct sym_fns som_sym_fns = { - bfd_target_som_flavour, som_new_init, /* init anything gbl to entire symtab */ som_symfile_init, /* read initial info, setup for sym_read() */ som_symfile_read, /* read a symbol file into symtab */ @@ -550,5 +552,5 @@ initialize_file_ftype _initialize_somread; void _initialize_somread (void) { - add_symtab_fns (&som_sym_fns); + add_symtab_fns (bfd_target_som_flavour, &som_sym_fns); }