From 44afc8c45ed5dd040463ca7935c037d378abe089 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 30 Oct 2006 23:25:51 +0000 Subject: [PATCH] bfd/ 2006-10-30 H.J. Lu 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-10-30 H.J. Lu PR ld/3111 * bfdlink.h (bfd_link_info): Add reduce_memory_overheads. ld/ 2006-10-30 H.J. Lu 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. --- include/ChangeLog | 5 +++++ include/bfdlink.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/include/ChangeLog b/include/ChangeLog index 23841a586..3edbe8d06 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2006-10-30 H.J. Lu + + PR ld/3111 + * bfdlink.h (bfd_link_info): Add reduce_memory_overheads. + 2006-10-25 Trevor Smigiel Yukishige Shibata Nobuhisa Fujinami diff --git a/include/bfdlink.h b/include/bfdlink.h index 0cc91775a..228cab8fd 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -335,6 +335,11 @@ struct bfd_link_info /* TRUE if .gnu.hash section should be created. */ unsigned int emit_gnu_hash: 1; + /* If TRUE reduce memory overheads, at the expense of speed. This will + cause map file generation to use an O(N^2) algorithm and disable + caching ELF symbol buffer. */ + unsigned int reduce_memory_overheads: 1; + /* What to do with unresolved symbols in an object file. When producing executables the default is GENERATE_ERROR. When producing shared libraries the default is IGNORE. The