PATCH: PR ld/3111: LD very slow linking object files containing dwarf2 symbols

Alan Modra amodra@bigpond.net.au
Tue Oct 31 11:29:00 GMT 2006


On Fri, Sep 01, 2006 at 10:47:31AM -0700, H. J. Lu wrote:
> bfd/
> 
> 2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
> 
>         PR ld/3111
> 	* elf-bfd.h (elf_obj_tdata): Add symbuf.
> 	(_bfd_elf_section_already_linked): Add struct bfd_link_info *.
> 	(_bfd_elf_check_kept_section): Likewise.
> 	(bfd_elf_match_symbols_in_sections): Likewise.
> 
> 	* elf.c (assign_section_numbers): Updated to add
> 	struct bfd_link_info *.
> 	(bfd_elf_match_symbols_in_sections): Updated. Cache symbol
> 	buffer if info->reduce_memory_overheads is false.
> 
> 	* elflink.c (match_group_member): Updated to add
> 	struct bfd_link_info *.
> 	(_bfd_elf_check_kept_section): Likewise.
> 	(elf_link_input_bfd): Likewise.
> 	(_bfd_elf_section_already_linked): Likewise.
> 	(bfd_elf_final_link): Free symbol buffer if
> 	info->reduce_memory_overheads is false.
> 
> 	* libbfd-in.h (_bfd_nolink_section_already_linked): Add
> 	struct bfd_link_info *.
> 	(_bfd_generic_section_already_linked): Likewise.
> 	* libbfd.h: Regenerated.
> 
> 	* linker.c (bfd_section_already_linked): Add
> 	struct bfd_link_info *.
> 	(_bfd_generic_section_already_linked): Likewise.
> 	* targets.c (bfd_target): Add struct bfd_link_info * to
> 	_section_already_linked.
> 	* bfd-in2.h: Regenerated.
> 
> include/
> 
> 2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
> 
>         PR ld/3111
> 	* bfdlink.h (bfd_link_info): Add reduce_memory_overheads.
> 
> ld/
> 
> 2006-08-29  H.J. Lu  <hongjiu.lu@intel.com>
> 
>         PR ld/3111
> 	* ld.h (args_type): Remove reduce_memory_overheads.
> 
> 	* ldlang.c (lang_map): Updated.
> 	(section_already_linked): Likewise.
> 	(print_input_section): Likewise.
> 	* ldmain.c (main): Likewise.
> 	* lexsup.c (parse_args): Likewise.

Pleas commit.  No one has come forward with anything better, so this
will have to do.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



More information about the Binutils mailing list