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] |
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] |