|
Message-ID: <20190525091816.GJ16415@port70.net> Date: Sat, 25 May 2019 11:18:16 +0200 From: Szabolcs Nagy <nsz@...t70.net> To: musl@...ts.openwall.com Subject: Re: musl can't handle gold's STB_LOCAL TLS symbols * Rich Felker <dalias@...c.org> [2019-05-23 21:12:04 -0400]: > On Thu, May 23, 2019 at 05:47:13PM -0700, Ryan Prichard wrote: > > The test program works with ld.bfd, because ld.bfd converts the DTPMOD > > relocation to 0 and omits the DTPOFF relocation. There was a somewhat > > similar issue with gold+musl involving a DTPMOD relocation to a > > local section symbol, https://sourceware.org/bugzilla/show_bug.cgi?id=17699. > > That issue prompted a thread on the generic-abi group, > > https://groups.google.com/d/topic/generic-abi/dJ4_Y78aQ2M/discussion. > > > > I'm wondering if this problem is a bug in musl or gold. I also wonder if > > I would consider this a bug in gold. There is no reason to leave local > symbols unresolved until runtime; resolving them is ld's whole job. > > > DTPOFF can reference a TLS section, even though the value of a TLS section > > symbol isn't suitable for DTPOFF unless it's first adjusted by the > > segment's p_vaddr. > > I don't see a good reason for it to reference a section either. It > should just have a 0 symbol reference, and store the ld-determined > offset to the object in the addend. Any kind of symbolic reference > here is just going to be a waste of time doing a lookup at runtime. the sysv elf spec allows leaving STB_LOCAL symbols in the dynamic symbol table if they were hidden [1]. it does not say if symbolic dynamic relocs may refer to them, though. i think it should not be too hard to adjust do_relocs to handle this, not sure about do_dlsym. current dlsym does not seem to check OK_BIND so a local sym may preempt a global one. i think allowing plt relocs for local syms can have unexpected effects, so i don't think that would work reliably (on systems that support lazy binding, ifuncs ldaudit and various other plt related hacks). [1] http://www.sco.com/developers/gabi/latest/ch4.symtab.html#visibility
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.