X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Fsimple.c;h=03d1a158859576bec746ec23d4d71c8170df1db4;hb=200c83b8a913d1f6166db8c79ebcd9bdf2e9b819;hp=b0dec657f9ca0fa265c1c80762529d4ea687349e;hpb=588f62fc9661c66df0713446bd6ba10a2a6cab9d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/simple.c b/bfd/simple.c index b0dec657f9..03d1a15885 100644 --- a/bfd/simple.c +++ b/bfd/simple.c @@ -1,5 +1,5 @@ /* simple.c -- BFD simple client routines - Copyright 2002, 2003, 2004, 2005, 2007, 2008 + Copyright 2002, 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. Contributed by MontaVista Software, Inc. @@ -109,7 +109,7 @@ simple_save_output_info (bfd *abfd ATTRIBUTE_UNUSED, asection *section, void *ptr) { - struct saved_output_info *output_info = ptr; + struct saved_output_info *output_info = (struct saved_output_info *) ptr; output_info[section->index].offset = section->output_offset; output_info[section->index].section = section->output_section; if ((section->flags & SEC_DEBUGGING) != 0 @@ -125,7 +125,7 @@ simple_restore_output_info (bfd *abfd ATTRIBUTE_UNUSED, asection *section, void *ptr) { - struct saved_output_info *output_info = ptr; + struct saved_output_info *output_info = (struct saved_output_info *) ptr; section->output_offset = output_info[section->index].offset; section->output_section = output_info[section->index].section; } @@ -167,17 +167,9 @@ bfd_simple_get_relocated_section_contents (bfd *abfd, if ((abfd->flags & (HAS_RELOC | EXEC_P | DYNAMIC)) != HAS_RELOC || ! (sec->flags & SEC_RELOC)) { - bfd_size_type amt = sec->rawsize > sec->size ? sec->rawsize : sec->size; - bfd_size_type size = sec->rawsize ? sec->rawsize : sec->size; - - if (outbuf == NULL) - contents = bfd_malloc (amt); - else - contents = outbuf; - - if (contents) - bfd_get_section_contents (abfd, sec, contents, 0, size); - + contents = outbuf; + if (!bfd_get_full_section_contents (abfd, sec, &contents)) + return NULL; return contents; } @@ -211,7 +203,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd, if (outbuf == NULL) { bfd_size_type amt = sec->rawsize > sec->size ? sec->rawsize : sec->size; - data = bfd_malloc (amt); + data = (bfd_byte *) bfd_malloc (amt); if (data == NULL) return NULL; outbuf = data; @@ -241,7 +233,7 @@ bfd_simple_get_relocated_section_contents (bfd *abfd, _bfd_generic_link_add_symbols (abfd, &link_info); storage_needed = bfd_get_symtab_upper_bound (abfd); - symbol_table = bfd_malloc (storage_needed); + symbol_table = (asymbol **) bfd_malloc (storage_needed); bfd_canonicalize_symtab (abfd, symbol_table); } else