non_ir_ref_dynamic
authorAlan Modra <amodra@gmail.com>
Mon, 15 May 2017 22:26:41 +0000 (07:56 +0930)
committerAlan Modra <amodra@gmail.com>
Tue, 16 May 2017 01:05:02 +0000 (10:35 +0930)
commit4070765b1a1640ff8f43483cd9ee06727f658dfe
treeea06dfc18946668b4a75631e39b22a822f2fd26a
parent8cc2a9796024f2dd472985cc8ed1c65a85ec9a35
non_ir_ref_dynamic

dynamic_ref_after_ir_def is a little odd compared to other symbol
flags in that as the name suggests, it is set only for certain
references after a definition.  It turns out that setting a flag for
any non-ir reference from a dynamic object can be used to solve the
problem for which this flag was invented, which I think is a cleaner.
This patch does that, and sets non_ir_ref only for regular object
references.

include/
* bfdlink.h (struct bfd_link_hash_entry): Update non_ir_ref
comment.  Rename dynamic_ref_after_ir_def to non_ir_ref_dynamic.
ld/
* plugin.c (is_visible_from_outside): Use non_ir_ref_dynamic.
(plugin_notice): Set non_ir_ref for references from regular
objects, non_ir_ref_dynamic for references from dynamic objects.
bfd/
* elf64-ppc.c (add_symbol_adjust): Transfer non_ir_ref_dynamic.
* elflink.c (elf_link_add_object_symbols): Update to use
non_ir_ref_dynamic.
(elf_link_input_bfd): Test non_ir_ref_dynamic in addition to
non_ir_ref.
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
bfd/ChangeLog
bfd/elf64-ppc.c
bfd/elflink.c
bfd/linker.c
include/ChangeLog
include/bfdlink.h
ld/ChangeLog
ld/plugin.c
This page took 0.025869 seconds and 4 git commands to generate.