binutils-gdb/include
H.J. Lu 59fa66c538 Handle symbol defined in IR and referenced in DSO
We need to make an IR symbol visible if it is defined in an IR object
and referenced in a dynamic object.  When --as-needed is used, since
linker removes the IR symbol reference of the dynamic object if the
dynamic object isn't needed in the first pass, the IR definition isn't
visible to the dynamic object even if the dynamic object becomes needed
in the second pass.  Add dynamic_ref_after_ir_def to bfd_link_hash_entry
to track IR symbol which is defined in an IR object and later referenced
in a dynamic object.  dynamic_ref_after_ir_def is preserved when restoring
the symbol table for unneeded dynamic object.

bfd/

	PR ld/21382
	* elflink.c (elf_link_add_object_symbols): Preserve
	dynamic_ref_after_ir_def when restoring the symbol table for
	unneeded dynamic object.

include/

	PR ld/21382
	* bfdlink.h (bfd_link_hash_entry): Add dynamic_ref_after_ir_def.

ld/

	PR ld/21382
	* plugin.c (is_visible_from_outside): Symbol may be visible
	from outside if dynamic_ref_after_ir_def is set.
	(plugin_notice): Set dynamic_ref_after_ir_def if the symbol is
	defined in an IR object and referenced in a dynamic object.
	* testsuite/ld-plugin/lto.exp: Run PR ld/21382 tests.
	* testsuite/ld-plugin/pr21382a.c: New file.
	* testsuite/ld-plugin/pr21382b.c: Likewise.
2017-04-20 07:48:35 -07:00
..
aout Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
cgen Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
coff Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
elf Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX 2017-04-04 09:06:04 -07:00
gdb update copyright year range in GDB files 2017-01-01 10:52:34 +04:00
mach-o Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
nlm Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
opcode Reorder PPC_OPCODE_* and set PPC_OPCODE_TMR for e6500 2017-04-11 07:43:21 +09:30
som Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
vms Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
COPYING Update the address and phone number of the FSF organization 2005-05-10 10:21:13 +00:00
COPYING3 * COPYING3: New file. Contains version 3 of the GNU General Public License. 2007-07-17 13:50:23 +00:00
ChangeLog Handle symbol defined in IR and referenced in DSO 2017-04-20 07:48:35 -07:00
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-2016 ChangeLog rotation 2017-01-02 13:55:05 +10:30
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
MAINTAINERS Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
alloca-conf.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ansidecl.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bfdlink.h Handle symbol defined in IR and referenced in DSO 2017-04-20 07:48:35 -07:00
binary-io.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bout.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
demangle.h Sync libiberty sources with GCC. 2017-03-13 17:49:32 +00:00
dis-asm.h Add support for disassembling WebAssembly opcodes. 2017-04-06 17:20:02 +01:00
dwarf2.def Add DW_OP_GNU_variable_value 2017-03-14 12:57:48 -07:00
dwarf2.h Sync dwarf headers with master versions in gcc repository. 2017-01-03 15:18:52 +00:00
dyn-string.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
environ.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fibheap.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
filenames.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
floatformat.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fnmatch.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-bin.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-same.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
fopen-vms.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-c-fe.def Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-c-interface.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
gcc-interface.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
getopt.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hashtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hp-symtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ieee.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
leb128.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
libiberty.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
longlong.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
lto-symtab.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
md5.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
oasys.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
objalloc.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
obstack.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
os9k.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
partition.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
plugin-api.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
progress.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
safe-ctype.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
sha1.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
simple-object.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
sort.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
splay-tree.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
symcat.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
timeval-utils.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
vtv-change-permission.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xregex.h merge from gcc 2011-07-25 17:11:48 +00:00
xregex2.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xtensa-config.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xtensa-isa-internal.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
xtensa-isa.h Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30