aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-11-20 22:17:27 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-11-20 22:17:27 +0000
commitdda8ddc56f160befb8f8fc3ddc69d66cec6ac4f8 (patch)
tree6a21a6b6aab0bb38f1f46477eb562273cc48f61b /bfd
parentb039ef04574106adbac611394b008109967d2a73 (diff)
downloadfsf-binutils-gdb-dda8ddc56f160befb8f8fc3ddc69d66cec6ac4f8.zip
fsf-binutils-gdb-dda8ddc56f160befb8f8fc3ddc69d66cec6ac4f8.tar.gz
fsf-binutils-gdb-dda8ddc56f160befb8f8fc3ddc69d66cec6ac4f8.tar.bz2
Remove ref_dynamic_nonweak added by accident
bfd/ 2012-11-20 H.J. Lu <hongjiu.lu@intel.com> PR ld/14862 * elf-bfd.h (elf_link_hash_entry): Remove ref_dynamic_nonweak added by accident. (elf_link_add_object_symbols): Don't set nor check ref_dynamic_nonweak. ld/testsuite/ 2012-11-20 H.J. Lu <hongjiu.lu@intel.com> PR ld/14862 * ld-elf/shared.exp (build_tests): Build libpr14862-1.o and libpr14862.so. (run_tests): Test pr14862. * ld-elf/pr14862-1.c: New file. * ld-elf/pr14862-2.c: Likewise. * ld-elf/pr14862.map: Likewise. * ld-elf/pr14862.out: Likewise.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/elf-bfd.h2
-rw-r--r--bfd/elflink.c9
3 files changed, 10 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 95f9aef..755e747 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2012-11-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/14862
+ * elf-bfd.h (elf_link_hash_entry): Remove ref_dynamic_nonweak
+ added by accident.
+ (elf_link_add_object_symbols): Don't set nor check
+ ref_dynamic_nonweak.
+
2012-11-20 Alan Modra <amodra@gmail.com>
* elf32-rx.c (rx_elf_print_private_bfd_data): Warning fix.
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index aa78ecd..b8d82b1 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -168,8 +168,6 @@ struct elf_link_hash_entry
/* Symbol has a non-weak reference from a non-shared object (other than
the object in which it is defined). */
unsigned int ref_regular_nonweak : 1;
- /* Symbol has a non-weak reference from a shared object. */
- unsigned int ref_dynamic_nonweak : 1;
/* Dynamic symbol has been adjustd. */
unsigned int dynamic_adjusted : 1;
/* Symbol needs a copy reloc. */
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 2fcbac3..f22e023 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -4394,8 +4394,6 @@ error_free_dyn:
{
h->def_dynamic = 0;
h->ref_dynamic = 1;
- /* PR 12549: Note if the dynamic reference is weak. */
- h->ref_dynamic_nonweak = (bind != STB_WEAK);
}
}
@@ -4413,9 +4411,6 @@ error_free_dyn:
{
h->ref_dynamic = 1;
hi->ref_dynamic = 1;
- /* PR 12549: Note if the dynamic reference is weak. */
- hi->ref_dynamic_nonweak =
- h->ref_dynamic_nonweak = (bind != STB_WEAK);
}
else
{
@@ -4503,8 +4498,8 @@ error_free_dyn:
if (!add_needed
&& definition
&& ((dynsym
- && h->ref_regular_nonweak)
- || (h->ref_dynamic_nonweak
+ && h->ref_regular)
+ || (h->ref_dynamic
&& (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0
&& !on_needed_list (elf_dt_name (abfd), htab->needed))))
{