12009-02-15 Alan Modra <amodra@bigpond.net.au> 2 3 * elf64-ppc.c (struct _ppc64_elf_section_data): Delete t_symndx, 4 add toc.symndx and toc.add. 5 (ppc64_elf_check_relocs): Don't set htab->tls_get_addr here. 6 Set up toc.add. 7 (get_tls_mask): Add toc_addend param, set from toc.add. Adjust all 8 callers. 9 (ppc64_elf_tls_setup): Set htab->tls_get_addr and tls_get_addr_fd. 10 (branch_reloc_hash_match): New function, extracted from.. 11 (ppc64_elf_tls_optimize): ..here. 12 (ppc64_elf_relocate_section): Properly set addends when optimizing 13 tls sequences. Avoid unnecessary reading and writing of insns. 14 Only redo reloc when symbol changed. Bypass symbol checks when 15 using tlsld_got. 16 * elf32-ppc.c (ppc_elf_tls_setup): Correct comment. 17 (branch_reloc_hash_match): New function, extracted from.. 18 (ppc_elf_tls_optimize): ..here. 19 (ppc_elf_relocate_section): Avoid unnecessary reading of insns. 20 Don't clear addend on zapped __tls_get_addr reloc. 21 222008-08-11 Alan Modra <amodra@bigpond.net.au> 23 24 * elf64-ppc.c (toc_adjusting_stub_needed): Any call via the plt 25 needs r2 valid, not just those to external syms. 26 272007-11-06 Alan Modra <amodra@bigpond.net.au> 28 29 * elf32-ppc.c (ppc_elf_check_relocs): Don't refcount tlsld_got here.. 30 (ppc_elf_gc_sweep_hook): ..or here.. 31 (ppc_elf_tls_optimize): ..or here. Make two passes through the 32 relocs, ensuring that tls_get_addr calls follow gd and ld relocs. 33 (allocate_dynrelocs): Refcount tlsld_got here. 34 (ppc_elf_size_dynamic_sections): Call allocate_dynrelocs before 35 allocating tlsld_got. 36 (ppc_elf_relocate_section): Remove check that a tls_get_addr 37 call follows gd and ld relocs. 38 392007-08-13 Alan Modra <amodra@bigpond.net.au> 40 41 * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define. 42 Update stub comments. 43 (build_plt_stub): Build two variants, one without "addis". 44 (ppc_build_one_stub): Build stubs without "addis" if possible. 45 (ppc_size_one_stub): Size new stubs. 46 |
472007-07-02 Joseph Myers <joseph@codesourcery.com> 48 49 * elfxx-mips.c (mips_elf_calculate_relocation): Handle 50 R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64. 51 * elf64-mips.c (mips_elf64_howto_table_rela): Support 52 R_MIPS_TLS_DTPREL64. 53 542007-07-02 Alan Modra <amodra@bigpond.net.au> --- 1784 unchanged lines hidden --- |