binutils-gdb/include
Maciej W. Rozycki d5c928c053 LD: Export relative-from-absolute symbol marking to BFD
It is usually possible to tell absolute and ordinary symbols apart in
BFD throughout the link, by checking whether the section that owns the
symbol is absolute or not.

That however does not work for ordinary symbols defined in a linker
script outside an output section statement.  Initially such symbols are
entered into to the link hash as absolute symbols, owned by the absolute
section.  A flag is set in the internal linker expression defining such
symbols to tell the linker to convert them to section-relative ones in
the final phase of the link.  That flag is however not accessible to BFD
linker code, including BFD target code in particular.

Add a flag to the link hash then to copy the information held in the
linker expression.  Define a macro, `bfd_is_abs_symbol', for BFD code to
use where determining whether a symbol is absolute or ordinary is
required before the final link phase.

This macro will correctly identify the special `__ehdr_start' symbol as
ordinary throughout link, for example, even though early on it will be
assigned to the absolute section.  Of course this does not let BFD code
identify what the symbol's ultimate section will be before the final
link phase has converted this symbol (in `update_definedness').

	include/
	* bfdlink.h (bfd_link_hash_entry): Add `rel_from_abs' member.

	bfd/
	* linker.c (bfd_is_abs_symbol): New macro.
	* bfd-in2.h: Regenerate.

	ld/
	* ldexp.c (exp_fold_tree_1) <etree_assign, etree_provide>
	<etree_provided>: Copy expression's `rel_from_abs' flag to the
	link hash.
2018-07-17 20:04:53 +01:00
..
aout various i386-aout and i386-coff target removal 2018-04-18 09:34:19 +09:30
cgen
coff -Wstringop-truncation warnings 2018-05-04 18:58:23 +09:30
elf Revert "Use offsets instead of addresses in ELF_SECTION_IN_SEGMENT for non SHT_NOBITS" 2018-06-26 21:28:05 +09:30
gdb
mach-o PR22069, Several instances of register accidentally spelled as regsiter 2018-05-09 15:55:28 +09:30
opcode Fix AArch64 encodings for by element instructions. 2018-06-29 12:14:42 +01:00
som
vms
alloca-conf.h
ansidecl.h -Wstringop-truncation warnings 2018-05-04 18:58:23 +09:30
bfdlink.h LD: Export relative-from-absolute symbol marking to BFD 2018-07-17 20:04:53 +01:00
binary-io.h
bout.h
ChangeLog LD: Export relative-from-absolute symbol marking to BFD 2018-07-17 20:04:53 +01:00
ChangeLog-0415
ChangeLog-2016
ChangeLog-2017
ChangeLog-9103
COPYING
COPYING3
demangle.h
diagnostics.h Fix diagnostic errors 2018-07-06 15:18:59 +09:30
dis-asm.h GDB PR tdep/8282: MIPS: Wire in `set disassembler-options' 2018-07-02 23:57:21 +01:00
dwarf2.def include: Sync with GCC 2018-06-19 14:15:17 -04:00
dwarf2.h
dyn-string.h
environ.h
fibheap.h
filenames.h
floatformat.h
fnmatch.h
fopen-bin.h
fopen-same.h
fopen-vms.h
gcc-c-fe.def
gcc-c-interface.h
gcc-cp-fe.def
gcc-cp-interface.h
gcc-interface.h
getopt.h
hashtab.h
hp-symtab.h
leb128.h
libiberty.h
longlong.h include: Sync with GCC 2018-06-19 14:15:17 -04:00
lto-symtab.h
MAINTAINERS
md5.h
oasys.h
objalloc.h
obstack.h
os9k.h
partition.h
plugin-api.h
progress.h
safe-ctype.h
sha1.h
simple-object.h libiberty: Sync with GCC 2018-06-18 09:34:12 -04:00
sort.h
splay-tree.h include: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> 2018-05-31 10:17:13 +01:00
symcat.h
timeval-utils.h
vtv-change-permission.h
xregex2.h
xregex.h
xtensa-config.h
xtensa-isa-internal.h
xtensa-isa.h