Files
binutils-gdb/bfd
Andreas Jaeger c434dee664 * elf64-x86-64.c: Major rework that introduces all recent changes
to the x86-64 backend.  Get a closer match to elf32-i386.
	(struct elf64_x86_64_dyn_relocs): Rename from
	elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
	all users.
	(struct elf64_x86_64_link_hash_table): Add short cuts to some
	sections.
	(link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
	remove casts, initialize new hash members.
	(create_got_section): New.
	(elf64_x86_64_create_dynamic_sections): New.
	(elf64_x86_64_copy_indirect_symbol): New.
	(elf64_x86_64_check_relocs): Don't allocate space for dynamic
	relocs, .got or .relgot here but do it in allocate_dynrelocs.
	Reference count possible .plt and .got entries.  Don't test input
	section SEC_READONLY here to try to avoid copy relocs, and keep
	dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
	DF_TEXTREL here.  Delay setting of variables until needed.  Cache
	pointer to "sreloc" section in elf_section_data. Tweak condition
	under which .got created.  Report files with bad relocation
	section names.
	(elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
	Reference count possible .plt entries.  Don't deallocate .got and
	.relgot space here.
	(elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
	do copy reloc processing for weakdefs.  Remove redundant casts and
	aborts.  Delay setting of vars until needed.  Move creation of
	dynamic symbols and allocation of .plt and .rela.plt to
	allocate_dynrelocs.  Replace BFD_ASSERT with abort.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
	(allocate_dynrelocs): New.
	(readonly_dynrelocs): New.
	(elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
	Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
	Zero out the dynamic allocated content space.
	(elf64_x86_64_discard_copies): Removed.
	(elf64_x86_64_relocate_section): Make use of dynamic section
	short-cuts.  Localise vars, and delay setting.  Better error
	reporting, replace BFD_ASSERT with abort.  Check
	ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
	regular object file and tread the weak definition as the normal
	one.  Don't discard relocs for undefweak or undefined symbols and
	check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
	relocs.
	(elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
	symbols that have been forced local.  Use same test to decide if
	we can use a relative reloc for got as relocate_section.  Expand
	SHN_UNDEF comment.  Move expressions out of function calls.
	Replace BFD_ASSERT with abort.
	(bfd_elf64_bfd_final_link): Removed.
	(elf_backend_copy_indirect_symbol): Define.
2002-02-21 15:31:53 +00:00
..
2002-02-11 05:05:09 +00:00
2002-02-08 05:33:27 +00:00
2002-02-11 05:05:09 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-10 12:08:29 +00:00
2001-10-02 05:58:41 +00:00
2001-10-10 12:08:29 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-01-07 12:10:15 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-08-25 09:49:44 +00:00
2001-03-08 21:04:02 +00:00
2001-09-21 14:25:09 +00:00
2002-02-08 12:12:15 +00:00
2001-03-08 21:04:02 +00:00
2001-09-21 14:25:09 +00:00
2001-03-08 21:04:02 +00:00
2001-10-10 12:08:29 +00:00
2002-02-11 05:05:09 +00:00
2002-02-18 12:16:55 +00:00
2002-02-18 12:16:55 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-02-14 16:24:20 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-30 15:20:14 +00:00
2001-04-24 15:08:16 +00:00
2001-03-08 21:04:02 +00:00
2002-02-08 05:33:27 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-12-08 03:46:03 +00:00
2001-10-02 05:58:41 +00:00
2001-10-04 15:37:38 +00:00
2001-10-10 12:08:29 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-12-18 17:59:59 +00:00
2002-01-08 04:23:02 +00:00
2001-03-08 21:04:02 +00:00
2001-08-25 09:49:44 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-10-10 12:08:29 +00:00
2001-10-10 12:08:29 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2002-02-11 05:05:09 +00:00
2002-02-11 05:05:09 +00:00
2001-10-02 05:58:41 +00:00
2002-02-17 21:18:33 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-10-29 22:29:59 +00:00
2001-10-02 05:58:41 +00:00
2002-01-30 18:12:17 +00:00
2002-01-21 14:03:27 +00:00
2001-10-10 12:08:29 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2001-03-08 21:04:02 +00:00
2002-02-08 05:33:27 +00:00
2001-10-02 05:58:41 +00:00
2002-02-20 23:00:04 +00:00
2001-10-02 05:58:41 +00:00

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.