]> sourceware.org Git - newlib-cygwin.git/commitdiff
Check if a symbol is hidden by linker script.
authorH.J. Lu <hjl.tools@gmail.com>
Fri, 16 Sep 2011 01:15:19 +0000 (01:15 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Fri, 16 Sep 2011 01:15:19 +0000 (01:15 +0000)
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.

include/ChangeLog
include/bfdlink.h

index 53984e1c01a4e4f6225c265dde5141b446095218..1a4680ed238a61ccc27432474cae572c4d7c79c7 100644 (file)
@@ -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.
index 71b1e253c69f6ee71d1fa1615ceb484b4b52a4e9..c9e127c5c9995230968ca5c625c005fb08c42720 100644 (file)
@@ -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
This page took 0.03578 seconds and 5 git commands to generate.