From 9c3f90c430f91f0a420c01c2bc3c54c274a59012 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 11 Feb 2013 22:15:53 +0000 Subject: [PATCH] * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide suitable definition when using generic linker hash table. --- bfd/ChangeLog | 40 ++++++++++++++++++++++++++++++++++++++++ bfd/elfxx-target.h | 10 ++++++---- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 99e5e28c843..be1139c36c2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-02-12 Alan Modra + + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Provide + suitable definition when using generic linker hash table. + 2013-02-11 Richard Sandiford * elfxx-mips.c (mips_elf_count_got_entries): Delete. @@ -265,6 +270,41 @@ * elfxx-mips.c (mips_elf_recreate_got): Remove free. (mips_elf_resolve_final_got_entries): Remove bogus comment. +2013-02-11 Alan Modra + + * elfcode.h (elf_checksum_contents): Free contents. + * elf-bfd.h (_bfd_elf_link_hash_table_free): Declare. + * elflink.c (_bfd_elf_link_hash_table_free): New function. + (elf_final_link_free): New function, extracted from.. + (bfd_elf_final_link): ..here. Always call + _bfd_elf_write_section_eh_frame_hdr. + * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Default to + _bfd_elf_link_hash_table_free. + * libbfd-in.h (_bfd_merge_sections_free): Declare. + * libbfd.h: Regenerate. + * merge.c (_bfd_merge_sections_free): New function. + * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_hdr): Free + hdr_info->array. + * elf-m10300.c (elf32_mn10300_link_hash_table_free): Call + _bfd_elf_link_hash_table_free. + * elf32-arm.c (elf32_arm_link_hash_table_free): Likewise. + * elf32-avr.c (elf32_avr_link_hash_table_free): Likewise. + * elf32-hppa.c (elf32_hppa_link_hash_table_free): Likewise. + * elf32-i386.c (elf_i386_link_hash_table_free): Likewise. + * elf32-m68hc1x.c (m68hc11_elf_hash_table_free): Likewise. + * elf32-m68k.c (elf_m68k_link_hash_table_free): Likewise. + * elf32-metag.c (elf_metag_link_hash_table_free): Likewise. + * elf32-xgate.c (xgate_elf_bfd_link_hash_table_free): Likewise. + * elf64-aarch64.c (elf64_aarch64_link_hash_table_free): Likewise. + * elf64-ia64-vms.c (elf64_ia64_hash_table_free): Likewise. + * elf64-ppc.c (ppc64_elf_link_hash_table_free): Likewise. + * elf64-x86-64.c (elf_x86_64_link_hash_table_free): Likewise. + * elfnn-ia64.c (elfNN_ia64_hash_table_free): Likewise. + * elf32-cr16.c (elf32_cr16_link_hash_table_free): Delete. + (bfd_elf32_bfd_link_hash_table_free): Don't define. + * elf32-tic6x.c (elf32_tic6x_link_hash_table_free): Delete. + (bfd_elf32_bfd_link_hash_table_free): Dont' define. + 2013-02-10 Alan Modra * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_zmalloc. diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h index e22b2b9a8b3..86c9b1bad4a 100644 --- a/bfd/elfxx-target.h +++ b/bfd/elfxx-target.h @@ -232,14 +232,13 @@ _bfd_elf_canonicalize_dynamic_reloc #endif -#ifndef bfd_elfNN_bfd_link_hash_table_free -#define bfd_elfNN_bfd_link_hash_table_free _bfd_elf_link_hash_table_free -#endif - #ifdef elf_backend_relocate_section #ifndef bfd_elfNN_bfd_link_hash_table_create #define bfd_elfNN_bfd_link_hash_table_create _bfd_elf_link_hash_table_create #endif +#ifndef bfd_elfNN_bfd_link_hash_table_free +#define bfd_elfNN_bfd_link_hash_table_free _bfd_elf_link_hash_table_free +#endif #ifndef bfd_elfNN_bfd_link_add_symbols #define bfd_elfNN_bfd_link_add_symbols bfd_elf_link_add_symbols #endif @@ -256,6 +255,9 @@ #define bfd_elfNN_bfd_link_hash_table_create \ _bfd_generic_link_hash_table_create #endif +#ifndef bfd_elfNN_bfd_link_hash_table_free +#define bfd_elfNN_bfd_link_hash_table_free _bfd_generic_link_hash_table_free +#endif #ifndef bfd_elfNN_bfd_link_add_symbols #define bfd_elfNN_bfd_link_add_symbols _bfd_generic_link_add_symbols #endif -- 2.30.2