Richard Henderson
3765b1be13
include/elf/
...
* alpha.h (R_ALPHA_TLSGD, R_ALPHA_TLSLDM, R_ALPHA_DTPMOD64,
R_ALPHA_GOTDTPREL, R_ALPHA_DTPREL64, R_ALPHA_DTPRELHI,
R_ALPHA_DTPRELLO, R_ALPHA_DTPREL16, R_ALPHA_GOTTPREL, R_ALPHA_TPREL64,
R_ALPHA_TPRELHI, R_ALPHA_TPRELLO, R_ALPHA_TPREL16): New.
bfd/
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
(struct alpha_elf_obj_tdata): Rename total_got_entries and
n_local_got_entries to total_got_size and local_got_size.
(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
(alpha_got_entry_size): New.
(elf64_alpha_relax_with_lituse): Use it.
(elf64_alpha_relax_without_lituse): Likewise.
(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
(get_got_entry): New.
(elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
(elf64_alpha_calc_got_offsets): Likewise.
(alpha_dynamic_entries_for_reloc): New.
(elf64_alpha_calc_dynrel_sizes): Use it.
(elf64_alpha_size_dynamic_sections): Likewise.
(elf64_alpha_relocate_section): Handle TLS relocations.
* reloc.c: Add Alpha TLS relocations.
* bfd-in2.h, libbfd.h: Rebuild.
gas/
* expr.h (operatorT): Add O_md17..O_md32.
* config/tc-alpha.c (O_lituse_tlsgd, O_lituse_tlsldm, O_tlsgd,
O_tlsldm, O_gotdtprel, O_dtprelhi, O_dtprello, O_dtprel, O_gottprel,
O_tprelhi, O_tprello, O_tprel): New.
(USER_RELOC_P, alpha_reloc_op_tag, debug_exp): Include them.
(DUMMY_RELOC_LITUSE_TLSGD, DUMMY_RELOC_LITUSE_TLSLDM): New.
(LITUSE_TLSGD, LITUSE_TLSLDM): New.
(struct alpha_reloc_tag): Add master, saw_tlsgd, saw_tlsld,
saw_lu_tlsgd, saw_lu_tlsldm. Make multi_section_p a bit field.
(md_apply_fix3): Handle TLS relocations.
(alpha_force_relocation, alpha_fix_adjustable): Likewise.
(alpha_adjust_symtab_relocs): Sort LITERAL relocs after the
associated TLS reloc. Check lituse_tls relocs match up.
(emit_insn): Handle TLS relocations.
(ldX_op): Remove.
gas/testsuite/
* gas/alpha/elf-tls-1.s, gas/alpha/elf-tls-1.d: New.
* gas/alpha/elf-tls-2.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/elf-tls-3.s, gas/alpha/elf-tls-1.l: New.
* gas/alpha/alpha.exp: Run them.
2002-05-30 22:01:38 +00:00
..
2002-05-28 14:08:47 +00:00
2001-09-19 05:33:36 +00:00
2002-04-04 14:04:39 +00:00
2002-05-17 10:34:03 +00:00
2002-05-17 10:34:03 +00:00
2002-05-15 13:47:12 +00:00
2002-01-05 13:11:33 +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
2002-05-15 00:18:58 +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-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2002-05-15 00:18:58 +00:00
2002-01-05 13:11:33 +00:00
2002-03-28 03:27:46 +00:00
2001-12-05 22:46:21 +00:00
2002-03-21 09:15:18 +00:00
2002-05-28 14:08:47 +00:00
2001-10-02 05:58:41 +00:00
2002-05-30 22:01:38 +00:00
2002-05-29 16:03:04 +00:00
2002-05-21 16:21:18 +00:00
2002-05-15 00:18:58 +00:00
2002-05-15 00:18:58 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
1999-05-03 07:29:11 +00:00
2001-03-08 21:04:02 +00:00
2002-05-30 22:01:38 +00:00
2002-01-07 12:10:15 +00:00
2001-03-08 21:04:02 +00:00
2002-03-05 05:26:02 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-01-05 13:11:33 +00:00
2002-05-18 13:13:12 +00:00
2001-09-18 09:57:26 +00:00
2002-01-25 12:12:23 +00:00
2001-08-25 09:49:44 +00:00
2002-05-23 12:37:57 +00:00
2001-03-08 21:04:02 +00:00
2001-08-21 22:39:47 +00:00
2002-04-04 19:53:38 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2002-04-04 19:53:38 +00:00
2002-01-25 12:12:23 +00:00
2002-02-08 12:12:15 +00:00
2001-03-08 21:04:02 +00:00
2002-04-04 19:53:38 +00:00
2002-05-15 00:18:58 +00:00
2002-05-11 17:15:53 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
1999-05-03 07:29:11 +00:00
2001-09-18 09:57:26 +00:00
2001-09-20 23:30:37 +00:00
2001-09-20 23:30:37 +00:00
1999-05-03 07:29:11 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2002-04-25 10:59:24 +00:00
2002-05-15 00:18:58 +00:00
2002-01-25 15:13:52 +00:00
2002-04-04 19:53:38 +00:00
2002-05-04 10:07:18 +00:00
2002-05-30 02:14:13 +00:00
2002-05-13 13:33:30 +00:00
2002-05-30 02:14:13 +00:00
1999-05-03 07:29:11 +00:00
2002-01-22 00:47:21 +00:00
2002-05-30 02:14:13 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +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
1999-05-03 07:29:11 +00:00
2002-05-28 14:08:47 +00:00
2001-03-08 21:04:02 +00:00
2002-05-29 00:58:46 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2002-04-04 14:04:39 +00:00
2002-03-18 16:42:43 +00:00
2000-07-28 21:10:20 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +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
2000-11-16 20:48:09 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
1999-05-03 07:29:11 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-05-19 21:06:34 +00:00
2001-10-30 15:20:14 +00:00
2001-09-18 09:57:26 +00:00
2001-04-24 15:08:16 +00:00
2002-01-31 17:33:08 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2002-04-20 02:54:26 +00:00
2001-03-08 21:04:02 +00:00
2002-04-04 14:04:39 +00:00
2002-04-17 19:31:53 +00:00
2002-03-13 07:30:45 +00:00
1999-05-03 07:29:11 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-09-19 05:33:36 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2001-12-08 03:46:03 +00:00
2001-09-18 09:57:26 +00:00
2001-10-02 05:58:41 +00:00
2002-04-04 14:04:39 +00:00
2001-09-18 09:57:26 +00:00
2002-05-04 12:01:02 +00:00
2002-04-04 19:53:38 +00:00
2001-09-20 23:30:37 +00:00
2001-09-18 09:57:26 +00:00
2001-04-03 14:45:43 +00:00
2001-03-08 21:04:02 +00:00
2001-10-06 06:41:47 +00:00
2002-05-29 16:03:04 +00:00
2001-12-17 00:52:35 +00:00
2002-04-05 23:11:32 +00:00
2002-02-08 19:18:35 +00:00
2001-09-12 23:53:31 +00:00
2002-05-28 14:08:47 +00:00
2002-05-07 00:16:53 +00:00
2001-09-20 23:30:37 +00:00
2001-12-17 00:52:35 +00:00
2002-05-10 02:03:47 +00:00
2002-05-04 02:06:22 +00:00
2002-05-07 00:16:53 +00:00
2002-05-23 13:12:53 +00:00
2002-05-07 00:16:53 +00:00
2001-08-21 08:40:23 +00:00
2002-05-07 00:16:53 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-05-25 13:09:37 +00:00
2001-03-08 21:04:02 +00:00
2002-05-07 00:16:53 +00:00
2002-05-14 23:37:52 +00:00
2002-05-07 00:16:53 +00:00
2002-01-31 17:33:08 +00:00
2001-09-18 09:57:26 +00:00
2002-05-08 05:12:54 +00:00
2002-05-07 00:16:53 +00:00
2002-04-16 04:58:12 +00:00
2001-09-18 09:57:26 +00:00
2002-01-08 04:23:02 +00:00
2002-04-04 19:53:38 +00:00
2002-04-03 17:42:39 +00:00
2002-01-17 13:02:40 +00:00
2002-05-30 02:14:13 +00:00
2002-05-07 00:16:53 +00:00
2001-03-08 21:04:02 +00:00
2002-05-30 22:01:38 +00:00
2001-09-20 23:30:37 +00:00
2002-03-28 03:27:46 +00:00
2002-02-25 05:09:11 +00:00
2002-04-04 07:01:27 +00:00
2002-04-16 04:58:12 +00:00
2002-05-29 05:00:01 +00:00
2002-05-02 09:48:15 +00:00
2002-05-07 00:16:53 +00:00
2002-04-16 04:58:12 +00:00
2002-04-16 04:58:12 +00:00
2002-05-24 14:25:08 +00:00
1999-05-03 07:29:11 +00:00
2002-05-23 13:12:53 +00:00
2002-05-15 00:18:58 +00:00
2002-04-08 11:01:43 +00:00
2002-05-07 00:16:53 +00:00
2002-05-07 00:16:53 +00:00
2001-12-18 11:47:59 +00:00
2002-05-23 13:12:53 +00:00
2002-04-10 16:45:31 +00:00
2001-08-25 09:49:44 +00:00
2001-12-19 23:54:26 +00:00
2002-01-28 16:48:52 +00:00
2002-03-28 03:27:46 +00:00
2002-05-23 13:12:53 +00:00
2002-05-23 13:12:53 +00:00
2002-05-14 23:23:59 +00:00
2002-04-04 07:10:00 +00:00
2002-05-29 05:00:01 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +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
2000-06-28 15:55:41 +00:00
2002-05-17 09:52:04 +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-01-06 07:30:35 +00:00
2002-01-06 07:30:35 +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-03-28 03:27:46 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2002-05-15 00:18:58 +00:00
2002-05-15 00:18:58 +00:00
2001-03-08 21:04:02 +00:00
2002-01-06 07:30:35 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2002-03-18 01:26:57 +00:00
2002-05-30 22:01:38 +00:00
2002-04-04 19:53:38 +00:00
2002-04-04 19:53:38 +00:00
2002-05-15 00:18:58 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2001-09-18 09:57:26 +00:00
2002-05-10 21:20:16 +00:00
2002-05-22 05:06:18 +00:00
2002-01-05 13:11:33 +00:00
2001-10-02 05:58:41 +00:00
2002-04-04 19:53:38 +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
2000-07-05 19:28:06 +00:00
2002-05-30 02:14:13 +00:00
2002-05-30 02:14:13 +00:00
1999-05-03 07:29:11 +00:00
2002-03-05 12:19:08 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
1999-05-03 07:29:11 +00:00
1999-05-03 07:29:11 +00:00
2002-01-05 13:11:33 +00:00
2001-03-08 21:04:02 +00:00
2001-10-02 05:58:41 +00:00
2001-09-18 09:57:26 +00:00
2001-10-10 12:08:29 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
2002-05-15 00:18:58 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-09-18 09:57:26 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2002-05-04 01:31:08 +00:00
2002-02-20 12:42:38 +00:00
2001-10-02 05:58:41 +00:00
2002-03-28 03:27:46 +00:00
2001-03-08 21:04:02 +00:00
2001-03-08 21:04:02 +00:00
1999-05-03 07:29:11 +00:00
2001-12-02 13:14:48 +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
1999-09-11 22:17:33 +00:00
1999-09-11 22:10:33 +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-09-20 23:30:37 +00:00
2002-05-30 11:06:10 +00:00
1999-05-03 07:29:11 +00:00
2002-05-15 00:18:58 +00:00
2002-01-05 13:11:33 +00:00
2001-10-29 22:29:59 +00:00
2001-09-18 09:57:26 +00:00
2002-05-30 22:01:38 +00:00
2001-10-02 05:58:41 +00:00
2002-05-13 13:33:30 +00:00
2002-01-06 07:30:35 +00:00
2002-05-23 13:12:53 +00:00
2002-05-15 00:18:58 +00:00
2001-10-10 12:08:29 +00:00
2002-04-04 19:53:38 +00:00
2001-10-02 05:58:41 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2001-03-08 21:04:02 +00:00
2001-11-26 19:31:27 +00:00
1999-05-03 07:29:11 +00:00
2002-04-04 19:53:38 +00:00
2002-05-28 14:08:47 +00:00
2001-08-19 23:42:47 +00:00
2002-05-30 02:14:13 +00:00
2001-08-29 03:39:47 +00:00
2002-05-15 00:18:58 +00:00
1999-05-03 07:29:11 +00:00
2002-02-11 02:17:39 +00:00
2001-10-02 05:58:41 +00:00
2002-05-15 00:18:58 +00:00
2002-05-29 00:00:05 +00:00
2002-01-06 07:30:35 +00:00
2001-10-02 05:58:41 +00:00
2002-01-06 07:30:35 +00:00
2002-01-30 16:07:28 +00:00
2002-05-15 00:18:58 +00:00
2001-09-18 09:57:26 +00:00
2001-05-11 12:23:48 +00:00
2002-04-30 04:32:51 +00:00