From d9071b0c4242fe1180340d52c6b6207e794675ae Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 13 Dec 2011 14:02:20 +0000 Subject: 2011-12-13 Shinichiro Hamaji * dwarf2.c (bfd_dwarf2_cleanup_debug_info): Accept stash as an argument like other functions to support formats other than ELF. * elf-bfd.h (bfd_dwarf2_cleanup_debug_info): Move to bfd-in.h. * elf.c (_bfd_elf_close_and_cleanup): Pass dwarf2_find_line_info in tdata as a parameter. * libbfd-in.h (bfd_dwarf2_cleanup_debug_info): Move from elf-bfd.h. * libbfd.h (bfd_dwarf2_cleanup_debug_info): Regenerate. * mach-o-target.c (bfd_mach_o_close_and_cleanup): Remove the fallback macro. (bfd_mach_o_find_nearest_line): Likewise. * mach-o.c (bfd_mach_o_find_nearest_line): Add the definition which calls _bfd_dwarf2_find_nearest_line. (bfd_mach_o_close_and_cleanup): Likewise. * mach-o.h (mach_o_data_struct): Add dwarf2_find_line_info. (bfd_mach_o_find_nearest_line): Add declaration. (bfd_mach_o_close_and_cleanup): Add declaration. --- bfd/elf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bfd/elf.c') diff --git a/bfd/elf.c b/bfd/elf.c index f1e4882..bafb3bb 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -7698,11 +7698,12 @@ _bfd_elf_validate_reloc (bfd *abfd, arelent *areloc) bfd_boolean _bfd_elf_close_and_cleanup (bfd *abfd) { - if (bfd_get_format (abfd) == bfd_object) + struct elf_obj_tdata *tdata = elf_tdata (abfd); + if (bfd_get_format (abfd) == bfd_object && tdata != NULL) { - if (elf_tdata (abfd) != NULL && elf_shstrtab (abfd) != NULL) + if (elf_shstrtab (abfd) != NULL) _bfd_elf_strtab_free (elf_shstrtab (abfd)); - _bfd_dwarf2_cleanup_debug_info (abfd); + _bfd_dwarf2_cleanup_debug_info (abfd, &tdata->dwarf2_find_line_info); } return _bfd_generic_close_and_cleanup (abfd); -- cgit v1.1