Daniel Jacobowitz 0f20cc3522 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
(struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
	and tls_ldm_offset.
	(struct mips_elf_got_per_bfd_arg): Add global_count.
	(struct mips_elf_count_tls_arg): New.
	(struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
	(struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
	(GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
	(GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
	(TLS_RELOC_P): Define.
	(TP_OFFSET, DTP_OFFSET): Define.
	(dtprel_base, tprel_base): New functions.
	(mips_elf_link_hash_newfunc): Initialize tls_type.
	(mips_elf_got_entry_hash, mips_elf_got_entry_eq)
	(mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
	TLS entries.
	(mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
	(mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
	(mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
	(mips_tls_got_index): New functions.
	(mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
	arguments.  Pass them to mips_elf_create_local_got_entry.  Use
	mips_tls_got_index.
	(mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
	Handle TLS entries.
	(mips_elf_got_page, mips_elf_got16_entry): Update calls to
	mips_elf_create_local_got_entry.
	(mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
	arguments.  Handle TLS entries.
	(mips_elf_sort_hash_table_f): Add non-TLS assertions.
	(mips_elf_record_local_got_symbol): Add new TLS_FLAG argument.  Handle
	TLS entries.
	(mips_elf_record_global_got_symbol): Likewise.
	(mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
	Count TLS entries.
	(mips_elf_merge_gots): Handle TLS entries when merging.
	(mips_elf_initialize_tls_index): New function.
	(mips_elf_set_global_got_offset): Handle TLS entries.
	(mips_elf_adjust_gp): Handle TLS.
	(mips_elf_multi_got): Remove redundant call to
	mips_elf_resolve_final_got_entries.  Initialize global_count.
	Correct a comment.  Initialize new TLS members of mips_got_info.
	Assign TLS GOT indexes for new GOTs.
	(mips_elf_create_got_section): Initialize new TLS members of
	mips_got_info.
	(mips_elf_calculate_relocation): Handle TLS relocs.
	(_bfd_mips_elf_check_relocs): Likewise.  Update calls to changed
	functions.
	(_bfd_mips_elf_always_size_sections): Handle TLS.
	(_bfd_mips_elf_size_dynamic_sections): Likewise.
	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Update calls to
	changed functions.
	(_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
	(_bfd_mips_elf_hide_symbol): Handle TLS.
	* elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
	(mips_reloc_map): Add TLS relocs.
	* elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
	* elf64-mips.c (mips_elf64_howto_table_rel)
	(mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
	* reloc.c: Define new MIPS TLS relocations.
	* libbfd.h, bfd-in2.h: Regenerated.
2005-03-02 21:23:21 +00:00
..
2005-02-21 11:48:00 +00:00
./
2004-11-04 15:54:50 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2004-08-13 03:16:01 +00:00
2004-08-13 03:16:01 +00:00
2004-06-24 04:46:28 +00:00
2003-06-29 10:06:40 +00:00
2005-02-20 14:59:07 +00:00
2005-01-18 08:51:54 +00:00
2005-03-02 09:03:58 +00:00
2002-08-15 23:19:28 +00:00
2004-01-02 11:16:21 +00:00
2004-06-24 04:46:28 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2004-11-08 13:17:43 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2002-08-28 10:38:51 +00:00
2005-01-31 17:18:51 +00:00
2003-06-29 10:06:40 +00:00
2005-02-20 14:59:07 +00:00
2004-07-07 17:28:53 +00:00
2004-03-01 10:11:46 +00:00
2004-10-12 08:13:46 +00:00
2003-04-01 15:50:31 +00:00
2003-11-28 20:07:44 +00:00
2003-08-14 07:03:00 +00:00
2004-06-24 04:46:28 +00:00
2005-02-21 18:00:17 +00:00
2005-02-01 01:11:27 +00:00
2004-10-21 15:28:33 +00:00
2005-02-17 17:11:01 +00:00
2004-08-13 03:16:01 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2004-06-24 04:46:28 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2005-02-01 01:11:27 +00:00
2004-08-13 03:16:01 +00:00
2005-02-20 14:59:07 +00:00
2005-01-06 09:03:56 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +00:00
2005-02-15 19:57:54 +00:00
2002-12-20 22:41:13 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +00:00
2004-07-21 15:42:58 +00:00
2004-07-21 15:42:58 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2003-03-13 09:28:49 +00:00
2003-03-13 09:28:49 +00:00
2004-05-24 16:09:10 +00:00
2005-02-20 14:59:07 +00:00
2003-11-30 18:40:41 +00:00
2005-03-02 09:03:58 +00:00
2005-03-02 09:03:58 +00:00
2005-02-20 14:59:07 +00:00
2003-11-30 18:40:41 +00:00
2005-02-20 14:59:07 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2005-02-20 14:59:07 +00:00
2002-11-12 15:44:24 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2004-06-24 04:46:28 +00:00
2005-02-22 00:50:07 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2005-02-20 14:59:07 +00:00
2004-08-13 03:16:01 +00:00
2004-06-24 04:46:28 +00:00
2005-03-01 01:56:27 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2005-03-01 23:00:05 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +00:00
2004-10-21 15:28:33 +00:00
2005-02-20 14:59:07 +00:00
2003-11-30 18:40:41 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +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.