X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felflink.c;h=f22e023df88c76b2ca055e2f384d38faa78e64d1;hb=69b06cc85f4c884ae68fe35404cdfbcd188f69b9;hp=2fcbac3e06dbbca0e1a06cf636528a5bf1091ff3;hpb=3bfcb6528e6fb6a324b2e119f50f72a0674a1402;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elflink.c b/bfd/elflink.c index 2fcbac3e06..f22e023df8 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)))) {