(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
(sh_elf_link_hash_newfunc): Remove the initialization of
tls_tpoff32 field.
(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
for which tls_tpoff32 flag is set.
(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
of the symbol includes the entry matched with the input_section
and having tls_tpoff32 flag on. When linking statically, set
symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
is defined in this executable.
(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
variables, structure fields or function params to tls_mask or
similar to better reflect usage.
(struct got_entry): Comment.
(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
(get_tls_mask): Rename from get_tls_type.
* interps.c (clear_interpreter_hooks): Convert function definition
to ISO C.
Index: mi/ChangeLog
2003-02-09 Andrew Cagney <ac131313@redhat.com>
* mi-interp.c (mi_remove_notify_hooks): Convert function
definition to ISO C.
(TLS_GD): ..define this instead and update all uses.
(TLS_TPRELGD): Define.
(ppc64_elf_link_hash_table_create): Tweak initialization of
init_refcount and init_offset.
(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
Mark second slot of GD or LD toc entries.
(get_tls_type): Return an int. Distinguish toc GD and LD entries
from other tls types.
(ppc64_elf_tls_setup): New function, split out from..
(ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
return value to properly decide whether toc GD and LD entries can
optimize away __tls_get_addr call. Check next reloc after DTPMOD64
to determine GD or LD rather than looking at TLS_LD flag. Don't
attempt to adjust got entry tls_type here..
(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
look for possible merges.
(ppc64_elf_size_dynamic_sections): Adjust local got entries for
optimization.
(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
Make use of return value from get_tls_type to properly detect GD and
LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
handle tls_get_addr removal when looking at REL24 relocs, do it when
looking at the previous reloc. Check reloc after DTPMOD64 to determine
GD or LD.
* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
* config/tc-mips.c (reloc_needs_lo_p): New function.
(fixup_has_matching_lo_p): New function.
(append_insn): Use reloc_needs_lo_p to check whether a relocation
might need a matching %lo(). Reuse the head of mips_hi_fixup_list
if that fixup already has a matching %lo(). Don't call frag_wane here.
(macro): Call frag_wane here if the last unmatched hi was in the
current frag.
(pic_need_relax): New function, split out from...
(md_estimate_size_before_relax): ...here.
(mips_frob_file): Use reloc_needs_lo_p. Use pic_need_relax to test
whether BFD_RELOC_MIPS_GOT16 fixups refer to global symbols.
gas/testsuite/
* gas/mips/rel12.[sd], gas/mips/rel13.[sd]: New tests.
* gas/mips/mips.exp: Run them.
(read_value): Add parameter is_signed, use signed extraction if
the value is signed.
(_bfd_elf_write_section_eh_frame): Pass signed flag of the
encoding to read_value.
for remote-e7000.c and infttrace.c.
2003-02-05 Fred Fish <fnf@intrinsity.com>
* remote-e7000.c (e7000_drain_command): Fix precedence problem with
'=' and '!='.
* rdi-share/ardi.c (wait_for_debug_message): Fix precedence problem
with '&' and '=='.
(angel_RDI_info): Ditto.
* infttrace.c (threads_continue_all_but_one): Fix precedence problem
with '&' and '!='.
(threads_continue_all_with_signals): Ditto.