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
2005-01-31 23:13:34 +00:00
2004-11-09 13:29:16 +00:00
2005-01-15 19:14:54 +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
2005-01-31 23:13:34 +00:00
2004-08-13 03:16:01 +00:00
2003-11-24 18:06:40 +00:00
2005-01-31 23:13:34 +00:00
2004-10-08 14:54:04 +00:00
2004-06-24 04:46:28 +00:00
2005-02-07 02:58:27 +00:00
2003-06-29 10:06:40 +00:00
2005-02-24 20:16:56 +00:00
2005-01-17 14:08:17 +00:00
2005-01-31 23:13:34 +00:00
2005-03-02 21:23:21 +00:00
2005-02-20 14:59:07 +00:00
2005-01-18 08:51:54 +00:00
2005-01-15 19:14:54 +00:00
2005-01-31 23:13:34 +00:00
2003-11-04 11:30:54 +00:00
2004-10-08 14:54:04 +00:00
2005-03-01 00:38:52 +00:00
2005-03-02 09:03:58 +00:00
2005-03-02 21:23:21 +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
2005-02-11 15:57:10 +00:00
2003-11-04 11:30:54 +00:00
2005-02-16 02:38:53 +00:00
2002-11-30 08:39:46 +00:00
2005-02-24 13:34:38 +00:00
2004-10-21 15:28:33 +00:00
2004-11-08 08:12:53 +00:00
2005-01-31 23:13:34 +00:00
2004-10-21 15:28:33 +00:00
2002-11-30 08:39:46 +00:00
2005-02-20 14:59:07 +00:00
2003-11-24 18:06:40 +00:00
2004-11-08 13:17:43 +00:00
2005-01-31 23:13:34 +00:00
2004-10-21 15:28:33 +00:00
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2005-02-20 14:59:07 +00:00
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2002-11-30 08:39:46 +00:00
2005-02-11 17:06:17 +00:00
2002-11-30 08:39:46 +00:00
2005-02-23 16:22:15 +00:00
2005-02-23 16:22:15 +00:00
2004-10-21 15:28:33 +00:00
2003-11-04 11:30:54 +00:00
2004-10-21 15:28:33 +00:00
2005-02-24 20:16:56 +00:00
2005-02-21 11:21:29 +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
2004-08-30 18:58:14 +00:00
2005-02-24 15:49:46 +00:00
2004-02-14 15:38:20 +00:00
2005-02-24 15:49:46 +00:00
2003-06-29 10:06:40 +00:00
2002-11-30 08:39:46 +00:00
2003-11-24 18:06:40 +00:00
2002-11-30 08:39:46 +00:00
2005-02-20 14:59:07 +00:00
2002-11-30 08:39:46 +00:00
2004-03-30 14:04:32 +00:00
2005-02-01 03:27:59 +00:00
2004-07-07 17:28:53 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2004-03-01 10:11:46 +00:00
2004-06-21 14:50:32 +00:00
2005-01-31 23:13:34 +00:00
2003-11-04 11:30:54 +00:00
2002-11-30 08:39:46 +00:00
2004-10-12 08:13:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 11:30:54 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 23:58:06 +00:00
2003-12-03 17:38:48 +00:00
2002-11-30 08:39:46 +00:00
2003-05-13 18:54:25 +00:00
2004-05-05 14:33:14 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 11:30:54 +00:00
2005-01-10 16:33:51 +00:00
2002-11-30 08:39:46 +00:00
2004-12-09 06:08:45 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 11:30:54 +00:00
2005-01-31 23:13:34 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2003-11-20 18:42:21 +00:00
2003-11-04 11:30:54 +00:00
2002-11-30 08:39:46 +00:00
2005-01-17 14:08:17 +00:00
2002-11-30 08:39:46 +00:00
2003-04-04 08:15:15 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2003-09-04 11:04:38 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39: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-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2004-03-27 05:45:50 +00:00
2003-11-04 11:30:54 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 11:30:54 +00:00
2002-11-30 08:39:46 +00:00
2005-02-11 16:41:09 +00:00
2004-12-22 14:25:42 +00:00
2005-02-23 09:56:44 +00:00
2005-02-01 01:11:27 +00:00
2004-12-23 13:48:25 +00:00
2004-10-21 15:28:33 +00:00
2004-06-29 13:46:34 +00:00
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +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
2005-01-31 23:13:34 +00:00
2003-08-07 07:25:34 +00:00
2004-10-21 15:28:33 +00:00
2005-02-06 18:11:30 +00:00
2005-01-31 23:13:34 +00:00
2003-12-01 06:28:24 +00:00
2005-02-11 17:13:02 +00:00
2005-02-11 17:15:32 +00:00
2005-02-11 17:18:41 +00:00
2005-02-23 11:18:11 +00:00
2004-03-26 06:13:40 +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
2005-03-02 21:23:21 +00:00
2004-10-21 15:28:33 +00:00
2004-10-21 15:28:33 +00:00
2004-06-29 13:46:34 +00:00
2002-11-30 08:39:46 +00:00
2005-02-20 14:59:07 +00:00
2003-11-04 06:16:39 +00:00
2005-01-11 09:32:53 +00:00
2004-06-24 04:46:28 +00:00
2005-02-24 13:34:38 +00:00
2003-07-25 06:19:20 +00:00
2005-02-28 15:57:13 +00:00
2005-02-20 14:59:07 +00:00
2005-01-11 09:32:53 +00:00
2005-01-31 23:13:34 +00:00
2005-01-11 09:32:53 +00:00
2004-10-21 15:28:33 +00:00
2005-02-24 13:34:38 +00:00
2005-02-01 01:11:27 +00:00
2004-08-13 03:16:01 +00:00
2005-02-02 01:39:00 +00:00
2005-03-02 21:23:21 +00:00
2005-02-20 14:59:07 +00:00
2005-02-28 23:00:40 +00:00
2005-01-06 09:03:56 +00:00
2005-01-11 09:32:53 +00:00
2005-02-20 14:59:07 +00:00
2005-01-31 23:13:34 +00:00
2005-02-06 18:11:30 +00:00
2005-02-28 15:57:13 +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-24 13:34:38 +00:00
2005-02-20 14:59:07 +00:00
2005-03-02 04:47:25 +00:00
2005-02-20 14:59:07 +00:00
2005-02-14 16:17:04 +00:00
2005-02-28 15:57:13 +00:00
2005-03-02 21:23:21 +00:00
2005-02-16 04:45:23 +00:00
2005-03-02 21:23:21 +00:00
2005-02-15 19:57:54 +00:00
2005-03-02 04:47:25 +00:00
2005-02-24 20:16:56 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 11:30:54 +00:00
2002-12-20 22:41:13 +00:00
2004-10-05 18:09:38 +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-11-20 16:54:15 +00:00
2005-01-31 23:13:34 +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
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2004-10-08 14:54:04 +00:00
2003-11-04 11:30:54 +00:00
2004-06-24 04:46:28 +00:00
2004-10-08 14:54:04 +00:00
2005-02-20 14:59:07 +00:00
2005-02-20 14:59:07 +00:00
2005-03-02 21:23:21 +00:00
2004-07-21 15:42:58 +00:00
2004-07-21 15:42:58 +00:00
2004-10-08 14:54:04 +00:00
2003-08-07 07:25:34 +00:00
2002-11-30 08:39:46 +00:00
2003-11-04 10:41:52 +00:00
2002-11-30 08:39:46 +00:00
2003-08-18 18:26:56 +00:00
2002-11-30 08:39:46 +00:00
2005-02-03 13:54:30 +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
2002-11-06 13:26:29 +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
2004-12-07 10:53:44 +00:00
2002-11-30 08:39:46 +00:00
2003-03-13 09:28:49 +00:00
2004-06-24 04:46:28 +00:00
2003-11-04 10:41:52 +00:00
2004-06-24 04:46:28 +00:00
2005-01-31 23:13:34 +00:00
2004-10-08 14:54:04 +00:00
2003-11-04 11:30:54 +00:00
2004-11-19 11:58:02 +00:00
2002-07-31 16:23:29 +00:00
2005-01-31 23:13:34 +00:00
2005-02-23 03:49:41 +00:00
2004-06-24 04:46:28 +00:00
2002-11-30 08:39:46 +00:00
2005-01-31 23:13:34 +00:00
2002-11-30 08:39:46 +00:00
2004-09-22 22:40:21 +00:00
2002-11-30 08:39:46 +00:00
2005-01-31 23:13:34 +00:00
2002-11-30 08:39:46 +00:00
2002-11-06 13:26:29 +00:00
2005-02-20 14:59:07 +00:00
2002-11-12 15:44:24 +00:00
2002-11-30 08:39:46 +00:00
2004-09-22 22:40:21 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2002-11-30 08:39:46 +00:00
2005-02-28 16:07:33 +00:00
2005-01-31 23:13:34 +00:00
2004-10-08 14:54:04 +00:00
2004-06-24 04:46:28 +00:00
2004-06-29 13:51:20 +00:00
2005-03-02 21:23:21 +00:00
2005-01-31 23:13:34 +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
2005-01-31 23:13:34 +00:00
2005-01-31 23:13:34 +00:00
2004-04-28 18:02:49 +00:00
2004-06-24 04:46:28 +00:00
2005-01-31 23:13:34 +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
2004-10-08 14:54:04 +00:00
2003-11-04 11:30:54 +00:00
2005-03-01 01:56:27 +00:00
2004-10-08 14:54:04 +00:00
2002-11-30 08:39:46 +00:00
2004-06-24 04:46:28 +00:00
2003-03-13 09:28:49 +00:00
2005-02-24 13:34:38 +00:00
2005-03-01 23:00:05 +00:00
2005-02-24 13:34:38 +00:00
2005-02-20 14:59:07 +00:00
2005-01-31 23:13:34 +00:00
2005-02-20 14:59:07 +00:00
2005-02-24 13:34:38 +00:00
2003-11-04 10:41:52 +00:00
2004-10-08 14:54:04 +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