svn commit: r337978 - in head/libexec/rtld-elf: . aarch64 arm mips powerpc powerpc64 riscv

Brooks Davis brooks at freebsd.org
Tue Aug 21 18:26:56 UTC 2018


On Mon, Aug 20, 2018 at 08:08:01PM +0200, Michal Meloun wrote:
> 
> On 20.08.2018 18:02, Kyle Evans wrote:
> > On Mon, Aug 20, 2018 at 11:00 AM, Michal Meloun <melounmichal at gmail.com> wrote:
> >>
> >> On 17.08.2018 18:19, Brooks Davis wrote:
> >>> Author: brooks
> >>> Date: Fri Aug 17 16:19:47 2018
> >>> New Revision: 337978
> >>> URL: https://svnweb.freebsd.org/changeset/base/337978
> >>>
> >>> Log:
> >>>   Rework rtld's TLS Variant I implementation to match r326794
> >>>
> >>>   The above commit fixed handling overaligned TLS segments in libc's
> >>>   TLS Variant I implementation, but rtld provides its own implementation
> >>>   for dynamically-linked executables which lacks these fixes.  Thus,
> >>>   port these changes to rtld.
> >>>
> >>>   Submitted by:       James Clarke
> >>>   Reviewed by:        kbowling
> >>>   Testing byL kbowling (powerpc64), br (riscv), kevans (armv7)
> >>>   Obtained from:      CheriBSD
> >>>   Sponsored by:       DARPA, AFRL
> >>>   Differential Revision:      https://reviews.freebsd.org/D16510
> >>>
> >>> Modified:
> >>>   head/libexec/rtld-elf/aarch64/rtld_machdep.h
> >>>   head/libexec/rtld-elf/arm/rtld_machdep.h
> >>>   head/libexec/rtld-elf/mips/rtld_machdep.h
> >>>   head/libexec/rtld-elf/powerpc/rtld_machdep.h
> >>>   head/libexec/rtld-elf/powerpc64/rtld_machdep.h
> >>>   head/libexec/rtld-elf/riscv/rtld_machdep.h
> >>>   head/libexec/rtld-elf/rtld.c
> >>>
> >> This commit breaks TLS handling for (at least) armv7. Can you please
> >> revert it until I will be able to identify where is problem?
> >> In my case, the libc _ThreadRuneLocale symbol is not zero on program start.
> >>
> > 
> > Interesting that I didn't hit this on my armv7 test
> > 
> 
> No idea yet. For me, it breaks all ctype (isspace()..) related function.
> Originally, I found that bash port gets broken. Its funny if shell takes
> 'a' as non-alphanumeric character, 'x' as whitespace, ...
> Anyway, give me a while - I need to write testcase because bas is too
> complex for effective debugging. This commit isn't fundamentally bad, it
> works for jemalloc thread local variables so I think that only some edge
> case (tbss handling is my candidate) is affected.

Reverted in r338149.

It's quite surprising to me that the system would boot in this state. 
Is there anything non-default about your build environment?

-- Brooks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20180821/bc7eebc0/attachment.sig>


More information about the svn-src-head mailing list