[PATCH] Fix IA-64 TLS with ld relaxation

Jakub Jelinek jakub@redhat.com
Fri Mar 28 14:54:00 GMT 2003


Hi!

ld relaxation for ldxmov broke LD model TLS in binaries, as
self_dtpmod_offset is computed only the first time some LD relocation is
seen (because it is shared between all of them). When recomputing got
offsets, we need to reset it, so that it is recomputed too.
Commited as obvious.

2003-03-27  Jakub Jelinek  <jakub@redhat.com>

	* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
	to -1 before recomputing got offsets.

--- bfd/elfxx-ia64.c.jj	2003-03-26 03:54:39.000000000 -0500
+++ bfd/elfxx-ia64.c	2003-03-27 17:48:00.000000000 -0500
@@ -1032,6 +1032,7 @@ elfNN_ia64_relax_section (abfd, sec, lin
       struct elfNN_ia64_allocate_data data;
       data.info = link_info;
       data.ofs = 0;
+      ia64_info->self_dtpmod_offset = (bfd_vma) -1;
 
       elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_data_got, &data);
       elfNN_ia64_dyn_sym_traverse (ia64_info, allocate_global_fptr_got, &data);

	Jakub



More information about the Binutils mailing list