PR27441, inconsistency in weak definitions
authorAlan Modra <amodra@gmail.com>
Wed, 24 Feb 2021 07:31:16 +0000 (18:01 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 25 Feb 2021 03:49:24 +0000 (14:19 +1030)
commitbbaddd4bbeba65200ee805d87c2e3a845842e3eb
tree4658bf3f761fd1feaf3b5eeb88bd1488b3ebc419
parent39b07596938e4c2a7251d77ea01981d475747599
PR27441, inconsistency in weak definitions

This makes IR objects use the same logic as normal objects with
respect to what sort of ref/def makes an as-needed library needed.
Testing the binding of the definition is just plain wrong.  What
matters is the binding of the reference.

PR 27441
* elf-bfd.h (struct elf_link_hash_entry): Add ref_ir_nonweak.
* elflink.c (elf_link_add_object_symbols): Set ref_ir_nonweak and
use when deciding an as-needed library should be loaded instead
of using the binding of the library definition.
bfd/ChangeLog
bfd/elf-bfd.h
bfd/elflink.c