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] binutils TLS support for IA-32/IA-64


Hi!

Attached is the latest version of binutils TLS patch (note for Richard,
this is identical to the last patch I've sent you).
It incorporates Alan's comments:

> > +#define local_got_tls_type(abfd, symsize, n) \
> > +  ((char *)(elf_local_got_refcounts (abfd) + (symsize)))[n]
> 
> A separate var, initialised when elf_local_got_refcounts is
> allocated, would be better than the define.

Done as separate var.

> > +/* Return the base VMA address which should be subtracted from real addresses
> > +   when resolving @dtpoff relocation.
> > +   This is PT_TLS segment p_vaddr.  */
> > +
> > +static bfd_vma
> > +dtpoff_base (abfd)
> > +     bfd *abfd;
> 
> Perhaps cache this, and tpoff, in elf_i386_link_hash_table?

PT_TLS segment's start, size and alignment is cached. That's what almost all
TLS backends will use, but each one slightly differently.

Instead of changing sec->flags into bitfield it removes unused
SEC_CONSTRUCTOR_* flags and uses one bit for SEC_THREAD_LOCAL instead.

Ok to commit?

	Jakub

Attachment: binutils-tls.patch
Description: Text document


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