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

Michal Meloun melounmichal at gmail.com
Mon Aug 20 18:08:04 UTC 2018



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.

Michal




More information about the svn-src-all mailing list