bfd/
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 7 Sep 2006 17:16:34 +0000 (17:16 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 7 Sep 2006 17:16:34 +0000 (17:16 +0000)
commit55255daec3c2b3f212acfdfe9cefe9fd2899253f
tree1c54880b4a75b647aa760b69aa0c746024b269c3
parent7c94efc52259df93dbe9aa3e4dcb1334bd460aef
bfd/

2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>

* elf-bfd.h (elf_link_hash_entry): Add a dynamic field.
(bfd_elf_link_mark_dynamic_symbol): New.
(SYMBOLIC_BIND): New.

* elf32-i386.c (elf_i386_check_relocs): Replace info->symbolic
with SYMBOLIC_BIND (info, h).
(elf_i386_relocate_section): Likewise.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
(elf64_x86_64_relocate_section): Likewise.
* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.

* elflink.c (bfd_elf_link_mark_dynamic_symbol): New.
(bfd_elf_record_link_assignment): Call
bfd_elf_link_mark_dynamic_symbol on new entry.
(_bfd_elf_merge_symbol): Likewise.
(_bfd_elf_export_symbol): Return if the symbol isn't exported.
(_bfd_elf_fix_symbol_flags): Replace info->symbolic with
SYMBOLIC_BIND (info, h).
(_bfd_elf_dynamic_symbol_p): Likewise.
(_bfd_elf_symbol_refs_local_p): Likewise.
(bfd_elf_size_dynamic_sections): Updated.

include/

2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>

* bfdlink.h (bfd_elf_dynamic_list): New.
(bfd_link_info): Add a dynamic field.

ld/

2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>

* Makefile.am (CXX): Set to g++.
(CXX_FOR_TARGET): Likewise.
* Makefile.in: Regenerated.

* NEWS: Mention --dynamic-list.

* ld.texinfo: Document --dynamic-list.

* ldgram.y: Support dynamic list.

* ldlang.c (lang_process): Call lang_finalize_version_expr_head
on link_info.dynamic if needed.
(lang_append_dynamic_list): New.
(lang_append_dynamic_list_cpp_typeinfo): New.
* ldlang.h (lang_append_dynamic_list): Likewise.
* ldlang.h (lang_append_dynamic_list_cpp_typeinfo): Likewise.

* ldlex.h (input_enum): Add input_dynamic_list.
* ldlex.l: Handle it.

* ldmain.c (main): Initialize link_info.dynamic.

* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
(ld_options): Add entries for OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
(parse_args): Handle OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.

ld/testsuite/

2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>

* ld-elf/dl1.c: New file.
* ld-elf/dl1.list: Likewise.
* ld-elf/dl1.out: Likewise.
* ld-elf/dl1main.c: Likewise.
* ld-elf/dl2.c: Likewise.
* ld-elf/dl2.list: Likewise.
* ld-elf/dl2a.out: Likewise.
* ld-elf/dl2b.out: Likewise.
* ld-elf/dl2main.c: Likewise.
* ld-elf/dl2xxx.c: Likewise.
* ld-elf/dl2xxx.list: Likewise.
* ld-elf/dl3.cc: Likewise.
* ld-elf/dl3.list: Likewise.
* ld-elf/dl3a.out: Likewise.
* ld-elf/dl3b.out: Likewise.
* ld-elf/dl3header.h: Likewise.
* ld-elf/dl3main.cc: Likewise.

* ld-elf/shared.exp: Updated.

* lib/ld-lib.exp (run_ld_link_exec_tests): Take an optional
argument for source language. Use CC/CXX for link, depending
on source language.
(run_cc_link_tests): Likewise.
40 files changed:
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elf32-i386.c
bfd/elf64-x86-64.c
bfd/elflink.c
bfd/elfxx-ia64.c
include/ChangeLog
include/bfdlink.h
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/ld.texinfo
ld/ldgram.y
ld/ldlang.c
ld/ldlang.h
ld/ldlex.h
ld/ldlex.l
ld/ldmain.c
ld/lexsup.c
ld/testsuite/ChangeLog
ld/testsuite/ld-elf/dl1.c [new file with mode: 0644]
ld/testsuite/ld-elf/dl1.list [new file with mode: 0644]
ld/testsuite/ld-elf/dl1.out [new file with mode: 0644]
ld/testsuite/ld-elf/dl1main.c [new file with mode: 0644]
ld/testsuite/ld-elf/dl2.c [new file with mode: 0644]
ld/testsuite/ld-elf/dl2.list [new file with mode: 0644]
ld/testsuite/ld-elf/dl2a.out [new file with mode: 0644]
ld/testsuite/ld-elf/dl2b.out [new file with mode: 0644]
ld/testsuite/ld-elf/dl2main.c [new file with mode: 0644]
ld/testsuite/ld-elf/dl2xxx.c [new file with mode: 0644]
ld/testsuite/ld-elf/dl2xxx.list [new file with mode: 0644]
ld/testsuite/ld-elf/dl3.cc [new file with mode: 0644]
ld/testsuite/ld-elf/dl3.list [new file with mode: 0644]
ld/testsuite/ld-elf/dl3a.out [new file with mode: 0644]
ld/testsuite/ld-elf/dl3b.out [new file with mode: 0644]
ld/testsuite/ld-elf/dl3header.h [new file with mode: 0644]
ld/testsuite/ld-elf/dl3main.cc [new file with mode: 0644]
ld/testsuite/ld-elf/shared.exp
ld/testsuite/lib/ld-lib.exp