This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix IA-64 TLS with ld relaxation


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 at redhat dot 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]