diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2011-09-16 01:15:19 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2011-09-16 01:15:19 +0000 |
commit | 7c14eb05898d6095d8f694bf41c4f0914d9d96b1 (patch) | |
tree | 950014f8c74ad63ac1ccce07552c9934c58916e7 | |
parent | 02a7f96ef75f02f81125fe92b989cf9deeab462e (diff) | |
download | newlib-7c14eb05898d6095d8f694bf41c4f0914d9d96b1.zip newlib-7c14eb05898d6095d8f694bf41c4f0914d9d96b1.tar.gz newlib-7c14eb05898d6095d8f694bf41c4f0914d9d96b1.tar.bz2 |
Check if a symbol is hidden by linker script.
bfd/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfd-in.h (bfd_elf_size_dynamic_sections): Remove pointer
to struct bfd_elf_version_tree.
* elflink.c (elf_info_failed): Remove verdefs.
(_bfd_elf_export_symbol): Updated.
_bfd_elf_link_assign_sym_version): Likewise.
(bfd_elf_size_dynamic_sections): Remove pointer to struct
bfd_elf_version_tree. Updated.
(bfd_elf_gc_mark_dynamic_ref_symbol): Check if a symbol is hidden
by linker script.
* linker.c (bfd_hide_sym_by_version): New.
* bfd-in2.h: Regenerated.
include/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* bfdlink.h (bfd_link_info): Add version_info.
ld/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ldlang.c (lang_elf_version_info): Removed.
(lang_register_vers_node): Replace lang_elf_version_info with
link_info.version_info.
(lang_add_vers_depend): Likewise.
* pe-dll.c (process_def_file_and_drectve): Likewise.
* emultempl/solaris2.em (elf_solaris2_before_allocation): Likewise.
* ldlang.h (lang_elf_version_info): Removed.
* plugin.c (is_visible_from_outside): Check if symbol is hidden
by version script.
* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation):
Remove lang_elf_version_info.
ld/testsuite/
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
* ld-elf/pr12975.d: New.
* ld-elf/pr12975.s: Likewise.
* ld-elf/pr12975.t: Likewise.
-rw-r--r-- | include/ChangeLog | 5 | ||||
-rw-r--r-- | include/bfdlink.h | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index 53984e1..1a4680e 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2011-09-15 H.J. Lu <hongjiu.lu@intel.com> + + PR ld/12975 + * bfdlink.h (bfd_link_info): Add version_info. + 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * xregex.h (regoff_t): Define. diff --git a/include/bfdlink.h b/include/bfdlink.h index 71b1e25..c9e127c 100644 --- a/include/bfdlink.h +++ b/include/bfdlink.h @@ -245,6 +245,7 @@ struct flag_info }; struct bfd_elf_dynamic_list; +struct bfd_elf_version_tree; /* This structure holds all the information needed to communicate between BFD and the linker when doing a link. */ @@ -496,6 +497,9 @@ struct bfd_link_info /* List of symbols should be dynamic. */ struct bfd_elf_dynamic_list *dynamic_list; + + /* The version information. */ + struct bfd_elf_version_tree *version_info; }; /* This structures holds a set of callback functions. These are called |