binutils-gdb/bfd
Maciej W. Rozycki 47275900ad PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks
We have an issue in the MIPS backend, with the handling of undefined
hidden and internal weak symbols.  References to such symbols are
supposed to resolve to 0 according to the ELF gABI[1]:

"Unresolved weak symbols have a zero value."

and the 64-bit MIPS psABI[2]:

"If a symbol with one of these [hidden or internal] attributes has no
definition within the executable/DSO being linked, then it must be
resolved to allocated space if common, resolved to zero if weak, or an
error reported otherwise."

however if a GOT relocation is used, then a local GOT entry is created
and used to satisfy the reference.  Such an entry is then (in DSO and
PIE binaries) subject to the usual load-time relocation, which means a
non-zero value will be returned if the base address is non-zero.  This
will defeat the usual run-time sequence like:

void a (void) __attribute__ ((visibility ("hidden"), weak));

void
x (void)
{
  if (a)
    a ();
}

This can be reproduced with this simple code:

$ cat libtest.c
extern int a __attribute__ ((visibility ("hidden"), weak));

int *
x (void)
{
  return &a;
}
$ cat test.c

int *x (void);

int
main (void)
{
  printf ("a: %p\n", x ());

  return 0;
}
$ gcc -shared -fPIC -o libtest.so libtest.c
$ gcc -o test test.c -Wl,-rpath,$(pwd) libtest.so
$ ./test
a: 0x77184000
$

The usual approach targets take is making all the steps required to
assign a GOT entry for the symbol referred, and then leave its contents
at zero with no dynamic relocation attached, therefore ensuring that the
value does not change at load time.  However this is not going to work
with the implicitly relocated GOT the MIPS psABI specifies[3]:

"The dynamic linker relocates the global offset table by first adding
the difference between the base where the shared object is loaded and
the value of the dynamic tag DT_MIPS_BASE_ADDRESS to all local global
offset table entries."

and we cannot therefore use the local GOT part.

And we cannot offhand use the global part either, as the symbol would
then have to be exported and possibly wrongly preempt symbols in other
modules involved in the dynamic load, because as per the ELF gABI[1] we
are not allowed to enter a hidden or internal symbol into the dynamic
symbol table (and then use its associated GOT entry):

"A hidden symbol contained in a relocatable object must be either
removed or converted to STB_LOCAL binding by the link-editor when the
relocatable object is included in an executable file or shared object."

and:

"An internal symbol contained in a relocatable object must be either
removed or converted to STB_LOCAL binding by the link-editor when the
relocatable object is included in an executable file or shared object."

So we have to choose something else.

Our choice is further limited by the need for the reference associated
with the GOT relocation to stay within the signed 16-bit limit from the
GOT pointer base register, while being compliant with the ELF gABI and
the MIPS psABI.  However as Alan Modra has observed[4] one possibility
is to edit (relax) the code such that the GOT reference is removed
altogether.

Based on these observations then modify MIPS BFD linker backend code to:

1. Interpret code associated with GOT relocations and relax the usual LW
   or LD instructions into a corresponding immediate load operation that
   places the value of 0 in the intended register, while leaving the GOT
   entry allocated and initialized as usually.

2. Leave any other instructions associated with GOT relocations in place
   and instead redirect the reference to a global GOT entry associated
   with a special `__gnu_absolute_zero' symbol created for this purpose,
   whose value is 0, SHN_ABS section marks it absolute, binding is
   global and export class protected, ensuring that the locally provided
   value is always used at load time, and that the value is not
   relocated by the dynamic loader.

3. Adjust any high-part GOT relocation used, typically associated with
   a LUI instruction, accordingly, so that run-time consistency is
   maintained, either by resolving to the original entry if the
   instruction associated with the corresponding low-part GOT relocation
   has been relaxed to an immediate load (in which case the value loaded
   with LUI will be overwritten), or by also redirecting the reference
   to `__gnu_absolute_zero' to complete the GOT access sequence if that
   symbol has been used.

4. Add a target `elf_backend_hide_symbol' hook, for the three MIPS ABIs,
   which prevents the `__gnu_absolute_zero' symbol from being forced
   local, to ensure that the redirection works and the symbol remains
   global/protected with existing linker scripts unchanged.

5. Observing the issue with handling SHN_ABS symbols in the GNU dynamic
   loader, covered by glibc PR 19818, set the EI_ABIVERSION field in the
   ELF file header produced to 4 (ABI_ABSOLUTE) if `__gnu_absolute_zero'
   symbol has been produced and the target configured indicates the GNU
   operating system, so that broken versions of the GNU dynamic loader
   gracefully reject the file in loading rather than going astray.  Keep
   EI_ABIVERSION at the original value for other operating systems or if
   no `__gnu_absolute_zero' symbol has been made.

The name of the special `__gnu_absolute_zero' has no meaning other than
how a human reader can interpret it, as it is ignored in dynamic loading
in the handling of the scenarios concerned.  This is because the symbol
resolves locally, and it's only the symbol's attributes that matter so
that the associated GOT entry remains unchanged at load time.

Therefore the name is somewhat arbitrary, observing however the need to
use the name space reserved for the system so that it does not conflict
with a possible user symbol, and hence the leading underscore, and also
the `gnu' infix to denote a GNU feature.  Other implementations wishing
to address the problem in a similar way may choose a different name and
have the solution still work, possibly with a mixture of modules used in
a dynamic having symbols of different names provided, which will however
not interact with each other due to the protected export class.

The symbol can be referred explicitly, however the name is an internal
implementation detail rather than a part of the ABI, and therefore no
specific semantics is guaranteed.

One limitation of this change is that if `__gnu_absolute_zero' has been
already defined, then we do not wipe the old definition and all kinds of
odd behavior can result.  This is however like with other symbols we
internally define, such as `_GLOBAL_OFFSET_TABLE_' or `__rld_map', and
therefore left as a possible future enhancement.

As an optimization the relaxation of LW and LD instructions to a load of
immediate zero is always made, even SVR4 PIC code for code that will end
up in a regular (non-PIE) executable, because there is a cache advantage
with the avoidance of a load from the GOT, even if it is otherwise
guaranteed to remain zero.  It does not reliably happen though, due to a
symbol exportation issue affecting executables, covered by PR ld/21805.

One existing test case needs to be updated, as it triggers relaxation
introduced with this change and consequently linker output does not
match expectations anymore.  As we want to keep the original issue
covered with the test case modify it then to use the LWL instruction in
place of LW, and adjust the output expected accordingly.

References:

[1] "System V Application Binary Interface - DRAFT - 19 October 2010",
    The SCO Group, Section "Symbol Table",
    <http://www.sco.com/developers/gabi/2012-12-31/ch4.symtab.html>

[2] "64-bit ELF Object File Specification, Draft Version 2.5", MIPS
    Technologies / Silicon Graphics Computer Systems, Order Number
    007-4658-001, Section 2.5 "Symbol Table", p. 22,
    <http://techpubs.sgi.com/library/manuals/4000/007-4658-001/pdf/007-4658-001.pdf>

[3] "SYSTEM V APPLICATION BINARY INTERFACE, MIPS RISC Processor
    Supplement, 3rd Edition", Section "Global Offset Table", p. 5-10,
    <http://www.linux-mips.org/pub/linux/mips/doc/ABI/mipsabi.pdf>

[4] "Undo dynamic symbol state after regular object sym type mismatch",
    <https://sourceware.org/ml/binutils/2017-07/msg00265.html>

	bfd/
	PR ld/21375
	* elfxx-mips.h (_bfd_mips_elf_hide_symbol): New prototype.
	(_bfd_mips_elf_linker_flags): Update prototype.
	* elf32-mips.c (elf_backend_hide_symbol): New macro.
	* elf64-mips.c (elf_backend_hide_symbol): Likewise.
	* elfn32-mips.c (elf_backend_hide_symbol): Likewise.
	* elfxx-mips.c (mips_elf_link_hash_table): Add
	`use_absolute_zero' and `gnu_target' members.
	(mips_elf_record_global_got_symbol): Call
	`_bfd_mips_elf_hide_symbol' rather than
	`_bfd_elf_link_hash_hide_symbol'.
	(mips_use_local_got_p): Return FALSE if the symbol is absolute.
	(mips_elf_obtain_contents): Reorder function.
	(mips_elf_nullify_got_load): New function.
	(mips_elf_calculate_relocation): Add `contents' parameter.
	Nullify GOT loads or if it is not possible, then redirect GOT
	relocations to the `__gnu_absolute_zero' symbol, for references
	that are supposed to resolve to zero.
	(mips_elf_define_absolute_zero): New function.
	(_bfd_mips_elf_check_relocs): Prepare for arrangements made in
	`mips_elf_calculate_relocation' for references made via the GOT
	that are supposed to resolve to zero.
	(_bfd_mips_elf_hide_symbol): New function.
	(_bfd_mips_elf_linker_flags): Add the `gnu_target' parameter,
	set the `gnu_target' member of the MIPS hash table.
	(MIPS_LIBC_ABI_ABSOLUTE): New enumeration constant.
	(_bfd_mips_post_process_headers): Use it.

	ld/
	PR ld/21375
	* emultempl/mipself.em: Set `gnu_target' according to ${target}.
	(mips_create_output_section_statements): Update call to
	`_bfd_mips_elf_linker_flags'.
	* testsuite/ld-mips-elf/pr21334.s: Use LWL rather than LW.
	* testsuite/ld-mips-elf/pr21334.dd: Update accordingly.
2018-09-14 20:22:56 +01:00
..
doc Fix use of "command line X" in binutils doc 2018-07-02 11:18:24 +01:00
hosts Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
po csky regen 2018-08-01 10:32:56 +09:30
.gitignore
acinclude.m4 Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aclocal.m4 Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
aix5ppc-core.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aix386-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
aout-cris.c Use standardized error message for unrecognized relocs. 2018-02-27 12:16:04 +00:00
aout-ns32k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aout-target.h ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
aout-tic30.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
aout32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aout64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
aoutx.h Prevent an illegal memory access in gprof by ensuring that string tables for aout format files are always zero-terminated. 2018-04-23 12:52:42 +01:00
arc-got.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arc-plt.def Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
arc-plt.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
archive.c Allow BFD to recognize macOS universal libraries 2018-07-02 08:24:32 -06:00
archive64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
archures.c Allow an IR object with unknown architecture 2018-08-31 19:57:38 -07:00
bfd-in.h Pack reloc_howto_struct 2018-08-21 14:59:53 +09:30
bfd-in2.h PowerPC64 higher REL16 relocations 2018-08-31 22:15:05 +09:30
bfd.c Convert .note.gnu.property section between ELF32 and ELF64 2018-08-08 21:00:18 -07:00
bfd.m4 Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
bfdio.c PR23282, Reinstate seek optimization 2018-06-14 11:32:01 +09:30
bfdwin.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
binary.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
cache.c Tidy bfdio to consistenly use containing archive 2018-06-05 22:39:12 +09:30
cf-i386lynx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ChangeLog PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
ChangeLog-0001
ChangeLog-0203
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016 ChangeLog rotation 2017-01-02 13:55:05 +10:30
ChangeLog-2017 ChangeLog rotation 2018-01-03 17:49:42 +10:30
ChangeLog-9193
ChangeLog-9495
ChangeLog-9697
ChangeLog-9899
cisco-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
coff-alpha.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
coff-arm.c Delete NEWHOWTO and tidy some uses of reloc_howto_struct 2018-08-21 14:59:53 +09:30
coff-bfd.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff-bfd.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff-go32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff-i386.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
coff-ia64.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
coff-mcore.c AOUT/COFF/PE messages 2018-02-26 09:32:35 +10:30
coff-mips.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
coff-ppc.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
coff-rs6000.c Pack reloc_howto_struct 2018-08-21 14:59:53 +09:30
coff-sh.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
coff-stgo32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff-tic4x.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
coff-tic30.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
coff-tic54x.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
coff-tic80.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
coff-x86_64.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
coff-z8k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff-z80.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
coff64-rs6000.c Pack reloc_howto_struct 2018-08-21 14:59:53 +09:30
coffcode.h Tidy bfdio to consistenly use containing archive 2018-06-05 22:39:12 +09:30
coffgen.c Prevent illegal memory access when processing COFF auxillary symbol information. 2018-08-23 11:45:38 +01:00
cofflink.c Replace uses of strncmp with memcmp 2018-05-07 12:33:26 +09:30
coffswap.h Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
compress.c %L conversions 2018-02-19 23:55:54 +10:30
config.bfd Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
config.in Bump to autoconf 2.69 and automake 1.15.1 2018-06-19 16:55:06 -04:00
configure bfd: Move elf-properties.lo to BFD32_LIBS 2018-08-13 07:24:44 -07:00
configure.ac bfd: Move elf-properties.lo to BFD32_LIBS 2018-08-13 07:24:44 -07:00
configure.com Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
configure.host Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
COPYING
corefile.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-aarch64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-alpha.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-arc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-arm.c [ARM] Update bfd's Tag_CPU_arch knowledge 2018-07-02 11:22:20 +01:00
cpu-avr.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-bfin.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-cr16.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-cr16c.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-cris.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-crx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-csky.c Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
cpu-d10v.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-d30v.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-dlx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-epiphany.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-fr30.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-frv.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-ft32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-h8300.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-hppa.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-i386.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-ia64-opc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-ia64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-iamcu.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-ip2k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-iq2000.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-k1om.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-l1om.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-lm32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m9s12x.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m9s12xg.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m32c.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m32r.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m68hc11.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m68hc12.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m68k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m10200.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-m10300.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-mcore.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-mep.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-metag.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-microblaze.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-mips.c [MIPS] Add Loongson 2K1000 proccessor support. 2018-08-29 20:55:25 +08:00
cpu-mmix.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-moxie.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-msp430.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-mt.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-nds32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-nfp.c This patch adds support to objdump for disassembly of NFP (Netronome Flow Processor) ELF files (.nffw) as well as some basic readelf support. 2018-04-30 17:02:59 +01:00
cpu-nios2.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-ns32k.c Pack reloc_howto_struct 2018-08-21 14:59:53 +09:30
cpu-or1k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-pdp11.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-pj.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-plugin.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-powerpc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-pru.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-riscv.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-rl78.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-rs6000.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-rx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-s12z.c Add support for the Freescale s12z processor. 2018-05-18 15:26:18 +01:00
cpu-s390.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-score.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-sh.c Remove sh5 and sh64 support 2018-04-16 15:29:39 +09:30
cpu-sparc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-spu.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tic4x.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tic6x.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tic30.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tic54x.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tic80.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tilegx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-tilepro.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-v850.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-v850_rh850.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-vax.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-visium.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-wasm32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-xc16x.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-xgate.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-xstormy16.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-xtensa.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-z8k.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
cpu-z80.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
dep-in.sed
development.sh bfd/development.sh: Add experimental 2018-08-22 10:32:23 -07:00
dwarf1.c Fix potential integer overflow when reading corrupt dwarf1 debug information. 2018-02-28 10:13:54 +00:00
dwarf2.c PR23425, unresolved symbol diagnostic 2018-09-14 21:21:28 +09:30
ecoff.c Remove netware support 2018-04-16 15:11:22 +09:30
ecofflink.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ecoffswap.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-attrs.c GNU attribute output on errors 2018-07-03 16:46:54 +09:30
elf-bfd.h x86: Remove empty X86_FEATURE_1_AND property 2018-08-17 03:54:16 -07:00
elf-eh-frame.c ELF linker messages 2018-02-26 09:29:15 +10:30
elf-hppa.h Use the correct constants when setting the section type of HPPA unwind sections. 2018-08-22 10:32:53 +01:00
elf-ifunc.c x86; Allow IFUNC pointer defined in PDE 2018-05-14 03:55:50 -07:00
elf-linux-core.h -Wstringop-truncation warnings 2018-05-04 18:58:23 +09:30
elf-m10200.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf-m10300.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf-nacl.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-nacl.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-properties.c x86: Remove empty X86_FEATURE_1_AND property 2018-08-17 03:54:16 -07:00
elf-s390-common.c S/390: Improve partial relro support for 64 bit 2018-07-18 13:20:06 +02:00
elf-s390.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-strtab.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-vxworks.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf-vxworks.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf.c PR23595, simple objcopy of executable failure for msp430-elf 2018-09-03 15:50:54 +09:30
elf32-am33lin.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-arc.c [ARC] Update warning reporting. 2018-08-06 16:41:32 +03:00
elf32-arm.c Suppress string diagnostics for pre-release GCC 2018-07-25 11:50:51 +09:30
elf32-avr.c PR23570, AVR .noinit section defaults to PROGBITS 2018-09-06 14:13:00 +09:30
elf32-avr.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-bfin.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-cr16.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-cr16c.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-cris.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-crx.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-csky.c csky: Support PC relative diff relocation 2018-09-14 21:04:47 +08:00
elf32-d10v.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-d30v.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-dlx.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-dlx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-epiphany.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-fr30.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-frv.c PR binutils/22875: FRV/ELF: Prevent an out-of-bounds howto table access 2018-04-04 02:00:48 +01:00
elf32-ft32.c correct ft32 reloc range test 2018-03-01 09:12:50 +10:30
elf32-gen.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-h8300.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-hppa.c PR23207, hppa ld SIGSEGVs on invalid object files 2018-05-22 19:37:06 +09:30
elf32-hppa.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-i386.c x86-64: Add TLSDESC fields to elf_x86_lazy_plt_layout 2018-05-28 10:46:16 -07:00
elf32-ip2k.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-iq2000.c PR binutils/22875: IQ2000/ELF: Prevent an out-of-bounds howto table access 2018-04-04 02:00:49 +01:00
elf32-lm32.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-m32c.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-m32r.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-m68hc1x.c m68hc1* fixes 2018-07-09 17:27:35 +09:30
elf32-m68hc1x.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-m68hc11.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-m68hc12.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-m68k.c ld: Unify STT_GNU_IFUNC handling 2018-05-28 08:15:21 -07:00
elf32-mcore.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-mep.c Delete NEWHOWTO and tidy some uses of reloc_howto_struct 2018-08-21 14:59:53 +09:30
elf32-metag.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-metag.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-microblaze.c [MicroBlaze] PIC data text relative 2018-04-17 14:47:13 -07:00
elf32-mips.c PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
elf32-moxie.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-msp430.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-mt.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-nds32.c BFD: Use `bfd_is_abs_symbol' to determine whether a symbol is absolute 2018-07-17 20:04:53 +01:00
elf32-nds32.h nds32: Support target directive .ict_model. 2018-02-23 14:27:13 +08:00
elf32-nios2.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-nios2.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-or1k.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-pj.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-ppc.c PowerPC HOWTOs 2018-08-21 14:59:53 +09:30
elf32-ppc.h Inline PLT call optimization 2018-04-09 17:40:54 +09:30
elf32-pru.c Fix binary compatibility between GCC and the TI compiler for the PRU target. 2018-05-09 11:39:32 +01:00
elf32-rl78.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-rx.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-rx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-s12z.c S12Z: Rename reloc R_S12Z_UKNWN_3 to R_S12Z_EXT18 and implement according to recently inferred information about this reloc. 2018-08-21 19:24:21 +02:00
elf32-s390.c Suppress string diagnostics for pre-release GCC 2018-07-25 11:50:51 +09:30
elf32-score.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-score.h Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-score7.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-sh-relocs.h Remove sh5 and sh64 support 2018-04-16 15:29:39 +09:30
elf32-sh.c Prevent a seg-fault in the linker when trying to process SH object files with bogus relocs. 2018-07-30 13:58:15 +01:00
elf32-sparc.c ld: Unify STT_GNU_IFUNC handling 2018-05-28 08:15:21 -07:00
elf32-spu.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-spu.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-tic6x.c TIC6X __c6xabi_DSBT_BASE 2018-06-07 09:07:32 +09:30
elf32-tic6x.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-tilegx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-tilegx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-tilepro.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-tilepro.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf32-v850.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-vax.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-visium.c PR binutils/22875: Visium/ELF: Prevent an out-of-bounds howto table access 2018-04-04 02:00:49 +01:00
elf32-wasm32.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-xc16x.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-xgate.c xgate cleanup 2018-07-10 23:59:07 +09:30
elf32-xstormy16.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf32-xtensa.c xtensa: move dynamic relocations sections consistency check 2018-07-23 12:03:56 -07:00
elf32.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf64-alpha.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf64-gen.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf64-hppa.c Replace unworkable code in HPPA relocs handelr with an assertion. 2018-08-23 13:34:14 +01:00
elf64-hppa.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf64-ia64-vms.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf64-mips.c PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
elf64-mmix.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elf64-nfp.c This patch adds support to objdump for disassembly of NFP (Netronome Flow Processor) ELF files (.nffw) as well as some basic readelf support. 2018-04-30 17:02:59 +01:00
elf64-ppc.c PowerPC64 --emit-relocs support for notoc stubs 2018-08-31 22:15:05 +09:30
elf64-ppc.h Inline PLT call optimization 2018-04-09 17:40:54 +09:30
elf64-s390.c Suppress string diagnostics for pre-release GCC 2018-07-25 11:50:51 +09:30
elf64-sparc.c bfd, sparc: issue an error when reading relocations with invalid symbol references. 2018-09-04 20:31:41 +02:00
elf64-tilegx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf64-tilegx.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elf64-x86-64.c x86-64: Clear the R_X86_64_converted_reloc_bit bit 2018-07-02 13:08:09 -07:00
elf64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elfcode.h Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elfcore.h Don't use %ll 2018-02-19 23:55:55 +10:30
elflink.c Always clear h->verinfo.verdef when overriding a dynamic definition 2018-08-10 12:22:09 -07:00
elfn32-mips.c PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
elfnn-aarch64.c Fix AArch64 stub layout algorithm to allow for the fact that section layut might change a stub's target location. 2018-08-22 10:04:09 +01:00
elfnn-ia64.c Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elfnn-riscv.c RISC-V: Fix TLS and --gc-sections conflict. 2018-08-02 16:13:49 -07:00
elfxx-aarch64.c Suppress string diagnostics for pre-release GCC 2018-07-25 11:50:51 +09:30
elfxx-aarch64.h ld: Unify STT_GNU_IFUNC handling 2018-05-28 08:15:21 -07:00
elfxx-ia64.c Use standardized error message for unrecognized relocs. 2018-02-27 12:16:04 +00:00
elfxx-ia64.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
elfxx-mips.c PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
elfxx-mips.h PR ld/21375: MIPS: Fix non-zero run-time value for undefined weaks 2018-09-14 20:22:56 +01:00
elfxx-riscv.c unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
elfxx-riscv.h unrecognized/unsupported reloc message 2018-02-26 09:28:27 +10:30
elfxx-sparc.c bfd, sparc: avoid duplicated error messages on invalid relocations. 2018-09-04 20:31:41 +02:00
elfxx-sparc.h Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elfxx-target.h x86: Remove empty X86_FEATURE_1_AND property 2018-08-17 03:54:16 -07:00
elfxx-tilegx.c Use standardized error message for unrecognized relocs. 2018-02-27 12:16:04 +00:00
elfxx-tilegx.h Have info_to_howto functions return a success/fail status. Check this result. Stop strip from completeing if one of these functions fails. 2018-02-27 10:15:13 +00:00
elfxx-x86.c x86: Don't mask out the GNU_PROPERTY_X86_UINT32_VALID bit 2018-08-27 15:42:14 -07:00
elfxx-x86.h x86: Remove empty X86_FEATURE_1_AND property 2018-08-17 03:54:16 -07:00
format.c PR22458, failure to choose a matching ELF target 2018-05-16 21:42:58 +09:30
gen-aout.c Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
genlink.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
go32stub.h
hash.c Fix illegal memory accesses trigeered when linking corrupt input files. 2018-04-17 17:47:51 +01:00
host-aout.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
hppabsd-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
hpux-core.c Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
i386aout.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
i386bsd.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
i386lynx.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
i386msdos.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
ihex.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
init.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
irix-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
libaout.h Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
libbfd-in.h Allow BFD to recognize macOS universal libraries 2018-07-02 08:24:32 -06:00
libbfd.c Add functions and macros to read and write 24 bit values. 2018-07-27 11:28:59 +09:30
libbfd.h PowerPC64 higher REL16 relocations 2018-08-31 22:15:05 +09:30
libcoff-in.h libbfd.h and libcoff.h include guards 2018-05-18 13:07:21 +09:30
libcoff.h libbfd.h and libcoff.h include guards 2018-05-18 13:07:21 +09:30
libecoff.h Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
libhppa.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
libpei.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
libxcoff.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
linker.c LD: Export relative-from-absolute symbol marking to BFD 2018-07-17 20:04:53 +01:00
lynx-core.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mach-o-aarch64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mach-o-arm.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mach-o-i386.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mach-o-target.c Stop objcopy from corrupting mach-o files. 2018-06-20 10:43:00 +01:00
mach-o-x86-64.c Add support for the TLV relocation generated by LLVM for x86_64 MACH-O targets. 2018-06-18 12:56:44 +01:00
mach-o.c Fix running objcopy on Mach-O binaries. 2018-08-21 16:34:56 +01:00
mach-o.h Stop objcopy from corrupting mach-o files. 2018-06-20 10:43:00 +01:00
MAINTAINERS Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
Makefile.am bfd: Move elf-properties.lo to BFD32_LIBS 2018-08-13 07:24:44 -07:00
Makefile.in bfd: Move elf-properties.lo to BFD32_LIBS 2018-08-13 07:24:44 -07:00
makefile.vms Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
mep-relocs.pl Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
merge.c %L conversions 2018-02-19 23:55:54 +10:30
mmo.c Don't init array at run time 2018-08-20 09:54:20 +09:30
netbsd-core.c Remove m88k support 2018-04-16 15:23:38 +09:30
netbsd.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ns32k.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ns32knetbsd.c Delete NEWHOWTO and tidy some uses of reloc_howto_struct 2018-08-21 14:59:53 +09:30
opncls.c Fix potential illegal memroy access when using a build-id note with a negative size. 2018-06-20 16:30:05 +01:00
osf-core.c assorted target messages 2018-02-26 09:34:15 +10:30
pc532-mach.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pdp11.c Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
pe-arm-wince.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-arm.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-i386.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-mcore.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-ppc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-sh.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pe-x86_64.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
pef-traceback.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pef.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
pef.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-arm-wince.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-arm.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-i386.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-ia64.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-mcore.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-ppc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-sh.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
pei-x86_64.c Prevent memory access violations when attempting to parse an x86_64 PE binary containing corrupt unwind information. 2018-03-13 14:02:52 +00:00
peicode.h Remove m68k-aout and m68k-coff support 2018-04-16 15:31:36 +09:30
peXXigen.c PR23148, Heap buffer overflow in pe_print_edata 2018-05-09 14:14:10 +09:30
plugin.c Avoid problems with plugins being loaded multiple times. 2018-08-23 16:22:56 +01:00
plugin.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
PORTING Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
ppcboot.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
ptrace-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
README Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
reloc.c PR23425, unresolved symbol diagnostic 2018-09-14 21:21:28 +09:30
reloc16.c Remove h8300-coff support 2018-04-16 15:17:57 +09:30
rs6000-core.c Balance parentheses in expression 2018-08-20 09:45:02 +09:30
sco5-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
section.c PR22458, failure to choose a matching ELF target 2018-05-16 21:42:58 +09:30
simple.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
som.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
som.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
srec.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
stab-syms.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
stabs.c BFD messages 2018-02-26 09:33:15 +10:30
stamp-h.in
syms.c BFD messages 2018-02-26 09:33:15 +10:30
sysdep.h PR23254, ld.bfd mishandles file pointers while scanning archive 2018-06-05 22:39:11 +09:30
targets.c Add support for the C_SKY series of processors. 2018-07-30 12:24:14 +01:00
targmatch.sed
tekhex.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
TODO Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
trad-core.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
vax1knetbsd.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
vaxnetbsd.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
verilog.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
version.h Automatic date update in version.in 2018-09-14 00:00:32 +00:00
version.m4 Update version number on development (aka HEAD) branch. 2018-06-24 18:46:33 +01:00
vms-alpha.c Pack reloc_howto_struct 2018-08-21 14:59:53 +09:30
vms-lib.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
vms-misc.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
vms.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
warning.m4 Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
wasm-module.c Remove bfd stub function casts. 2018-02-16 19:09:23 +10:30
wasm-module.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xcofflink.c BFD/XCOFF: Fix storage class setting for weak defined symbols 2018-07-18 17:51:54 +01:00
xsym.c ld: Hide symbols defined by HIDDEN/PROVIDE_HIDDEN 2018-05-21 20:39:30 -07:00
xsym.h Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xtensa-isa.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30
xtensa-modules.c Update year range in copyright notice of binutils files 2018-01-03 17:49:56 +10:30

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

BFD is an object file library.  It permits applications to use the
same routines to process object files regardless of their format.

BFD is used by the GNU debugger, assembler, linker, and the binary
utilities.

The documentation on using BFD is scanty and may be occasionally
incorrect.  Pointers to documentation problems, or an entirely
rewritten manual, would be appreciated.

There is some BFD internals documentation in doc/bfdint.texi which may
help programmers who want to modify BFD.

BFD is normally built as part of another package.  See the build
instructions for that package, probably in a README file in the
appropriate directory.

BFD supports the following configure options:

  --target=TARGET
	The default target for which to build the library.  TARGET is
	a configuration target triplet, such as sparc-sun-solaris.
  --enable-targets=TARGET,TARGET,TARGET...
	Additional targets the library should support.  To include
	support for all known targets, use --enable-targets=all.
  --enable-64-bit-bfd
	Include support for 64 bit targets.  This is automatically
	turned on if you explicitly request a 64 bit target, but not
	for --enable-targets=all.  This requires a compiler with a 64
	bit integer type, such as gcc.
  --enable-shared
	Build BFD as a shared library.
  --with-mmap
	Use mmap when accessing files.  This is faster on some hosts,
	but slower on others.  It may not work on all hosts.

Report bugs with BFD to bug-binutils@gnu.org.

Patches are encouraged.  When sending patches, always send the output
of diff -u or diff -c from the original file to the new file.  Do not
send default diff output.  Do not make the diff from the new file to
the original file.  Remember that any patch must not break other
systems.  Remember that BFD must support cross compilation from any
host to any target, so patches which use ``#ifdef HOST'' are not
acceptable.  Please also read the ``Reporting Bugs'' section of the
gcc manual.

Bug reports without patches will be remembered, but they may never get
fixed until somebody volunteers to fix them.

Copyright (C) 2012-2018 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.