+===================================================================
+RCS file: /cvs/src/src/bfd/elflink.c,v
+retrieving revision 1.456
+retrieving revision 1.457
+diff -u -r1.456 -r1.457
+--- src/bfd/elflink.c 2012/10/30 12:44:53 1.456
++++ src/bfd/elflink.c 2012/11/20 22:17:26 1.457
+@@ -4394,8 +4394,6 @@
+ {
+ 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 @@
+ {
+ 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 @@
+ 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))))
+ {
+===================================================================
+RCS file: /cvs/src/src/bfd/elf-bfd.h,v
+retrieving revision 1.349
+retrieving revision 1.350
+diff -u -r1.349 -r1.350
+--- src/bfd/elf-bfd.h 2012/10/30 12:44:53 1.349
++++ src/bfd/elf-bfd.h 2012/11/20 22:17:26 1.350
+@@ -168,8 +168,6 @@
+ /* 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. */