This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
[PATCH] Fix IA-64 TLS with ld relaxation
- From: Jakub Jelinek <jakub at redhat dot com>
- To: binutils at sources dot redhat dot com
- Date: Thu, 27 Mar 2003 23:54:52 +0100
- Subject: [PATCH] Fix IA-64 TLS with ld relaxation
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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