bfd/
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 16 Jan 2007 14:56:32 +0000 (14:56 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 16 Jan 2007 14:56:32 +0000 (14:56 +0000)
commit40b36307e31ea3e3606a1698f35d0b9769405615
tree2cb0fb15024ffb5549aaaf04d9cf2ada1d738d3a
parentb20d8971adc2a4b07c6d777716948da8e902c379
bfd/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/3831
* elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
argument, Elf_Internal_Sym *.

* elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
symbol dynamic if info->dynamic_data is TRUE.
(bfd_elf_record_link_assignment): Updated call to
bfd_elf_record_link_assignment.
(_bfd_elf_merge_symbol): Likewise.  Always call
bfd_elf_link_mark_dynamic_symbol.

include/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/3831
* bfdlink.h (bfd_link_info): Rename dynamic to dynamic_list.
Add dynamic and dynamic_data.

ld/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/3831
* NEWS: Mention -Bsymbolic-functions, --dynamic-list-data and
--dynamic-list-cpp-new.

* ld.texinfo: Document -Bsymbolic-functions, --dynamic-list-data
and --dynamic-list-cpp-new.

* ldlang.c (lang_append_dynamic_list_cpp_new): New.
(lang_process): Change link_info.dynamic to
link_info.dynamic_list.
(lang_append_dynamic_list): Likewise.
* ldmain.c (main): Likewise.  Initialize link_info.dynamic and
link_info.dynamic_data to FALSE.

* ldlang.h (lang_append_dynamic_list_cpp_new): New.

* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST_DATA and
OPTION_DYNAMIC_LIST_CPP_NEW.
(ld_options): Add entries for -Bsymbolic-functions,
--dynamic-list-data and --dynamic-list-cpp-new.  Make
-Bsymbolic-functions an alias of --dynamic-list-data.
(parse_args): Change link_info.dynamic to link_info.dynamic_list.
Set link_info.dynamic to TRUE for --dynamic-list and
--dynamic-list-cpp-typeinfo.  Handle --dynamic-list-data and
--dynamic-list-cpp-new.

ld/testsuite/

2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/3831
* ld-elf/del.cc: New.
* ld-elf/dl5.cc: Likewise.
* ld-elf/dl5.out: Likewise.
* ld-elf/new.cc: Likewise.

* ld-elf/shared.exp: Add tests for --dynamic-list-data and
 --dynamic-list-cpp-new.
18 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elflink.c
include/ChangeLog
include/bfdlink.h
ld/ChangeLog
ld/NEWS
ld/ld.texinfo
ld/ldlang.c
ld/ldlang.h
ld/ldmain.c
ld/lexsup.c
ld/testsuite/ChangeLog
ld/testsuite/ld-elf/del.cc [new file with mode: 0644]
ld/testsuite/ld-elf/dl5.cc [new file with mode: 0644]
ld/testsuite/ld-elf/dl5.out [new file with mode: 0644]
ld/testsuite/ld-elf/new.cc [new file with mode: 0644]
ld/testsuite/ld-elf/shared.exp