This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: [PATCH] IA-64 TLS fixes
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: binutils at sources dot redhat dot com, Ulrich Drepper <drepper at redhat dot com>, Roland McGrath <roland at redhat dot com>, David Mosberger <davidm at napali dot hpl dot hp dot com>
- Date: Thu, 16 Jan 2003 10:12:14 +0100
- Subject: Re: [PATCH] IA-64 TLS fixes
- References: <20030116014106.F6196@sunsite.ms.mff.cuni.cz> <20030116011710.GD26822@redhat.com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Jan 15, 2003 at 05:17:10PM -0800, Richard Henderson wrote:
> On Thu, Jan 16, 2003 at 01:41:06AM +0100, Jakub Jelinek wrote:
> > (allocate_dynrel_entries): Only need .rela.got entry for
> > dtpmod against global symbol.
>
> Hmm? So how does the shared library know what it's module number is?
That's handled in elfNN_ia64_size_dynamic_sections:
+ if (info->shared && ia64_info->self_dtpmod_offset != (bfd_vma) -1)
+ ia64_info->rel_got_sec->_raw_size += sizeof (ElfNN_External_Rela);
allocate_dynrel_entries would allocate one .rela.got slot for every
local symbol which has dtpmod reloc against it, while the code I added
shares all these in the whole binary/library, since the module id is
the same. For binaries, we don't even need dynamic relocations,
the .got slot will contain 1.
Jakub