bfd/
commitd77bb8054496c333349c403605d03329b3c41a09
authorH.J. Lu <hjl@lucon.org>
Tue, 16 Jan 2007 14:56:32 +0000 (16 14:56 +0000)
committerH.J. Lu <hjl@lucon.org>
Tue, 16 Jan 2007 14:56:32 +0000 (16 14:56 +0000)
treec7b299f43e016154b3ca8738c6053effdec58c47
parentd39ed03a7b555f18894fc9a8496eb6a245afec9d
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