From 0f088b2a9417b1d4ed597849ffa671eba25f5051 Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Fri, 3 Jul 2015 15:50:29 +0100 Subject: Add experimental support for --gc-sections with COFF and PE based targets. PR ld/11539 bfd * coffcode.h (coff_bfd_gc_sections): Define default to bfd_coff_gc_sections function. * cofflink.c (init_reloc_cookie): Copy and adjust coff related code about gc-sections from elflink.c to here. (fini_reloc_cookie): Likewise. (init_reloc_cookie_rels): Likewise. (fini_reloc_cookie_rels): Likewise. (init_reloc_cookie_for_section): Likewise. (fini_reloc_cookie_for_section): Likewise. (_bfd_coff_gc_mark_hook): Likewise. (_bfd_coff_gc_mark_rsec): Likewise. (_bfd_coff_gc_mark_reloc): Likewise. (_bfd_coff_gc_mark): Likewise. (_bfd_coff_gc_mark_extra_sections): Likewise. (coff_gc_sweep_symbol_info): Likewise. (coff_gc_sweep_symbol): Likewise. (gc_sweep_hook_fn): Likewise. (coff_gc_sweep): Likewise. (bfd_coff_gc_sections): Likewise. (_bfd_coff_gc_keep): Likewise. * libcoff.h (coff_reloc_cookie): New struct. (bfd_coff_gc_sections): New prototype. (coff_gc_mark_hook_fn): New type. ld * scripttempl/pep.sc: Mark .idata*, .CRT*, .tls*, .rsrc*, .init, .ctor*, .dtor*, .fini, .jcr, .eh_frame, .pdata. .xdata, and .gcc_except_table sections as KEEP. * scripttempl/pe.sc: Likewise. --- bfd/ChangeLog | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'bfd/ChangeLog') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c2f404c..8be0c91 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,32 @@ +2015-07-03 Kai Tietz + Nick Clifton + + PR ld/11539 + * coffcode.h (coff_bfd_gc_sections): Define default + to bfd_coff_gc_sections function. + (coff_gc_mark_hook_fn): New type. + * coffgen.c (init_reloc_cookie): Copy and adjust coff + related code about gc-sections from elflink.c to here. + (fini_reloc_cookie): Likewise. + (init_reloc_cookie_rels): Likewise. + (fini_reloc_cookie_rels): Likewise. + (init_reloc_cookie_for_section): Likewise. + (fini_reloc_cookie_for_section): Likewise. + (_bfd_coff_gc_mark_hook): Likewise. + (_bfd_coff_gc_mark_rsec): Likewise. + (_bfd_coff_gc_mark_reloc): Likewise. + (_bfd_coff_gc_mark): Likewise. + (_bfd_coff_gc_mark_extra_sections): Likewise. + (coff_gc_sweep_symbol_info): Likewise. + (coff_gc_sweep_symbol): Likewise. + (gc_sweep_hook_fn): Likewise. + (coff_gc_sweep): Likewise. + (bfd_coff_gc_sections): Likewise. + (_bfd_coff_gc_keep): Likewise. + * libcoff-in.h (coff_reloc_cookie): New struct. + (bfd_coff_gc_sections): New prototype. + * libcoff.h: Regenerate. + 2015-07-01 Sandra Loosemore Cesar Philippidis -- cgit v1.1