Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2018 20:08:01 +0200
From:      Michal Meloun <melounmichal@gmail.com>
To:        Kyle Evans <kevans@freebsd.org>
Cc:        Brooks Davis <brooks@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r337978 - in head/libexec/rtld-elf: . aarch64 arm mips powerpc powerpc64 riscv
Message-ID:  <aaeef8cf-1be0-23e6-5dd8-a7fef8db2446@freebsd.org>
In-Reply-To: <CACNAnaHYkKd5NmaO2%2B2JB2moGT6H_GQ7xW3e%2B%2BKazS60RrPBzw@mail.gmail.com>
References:  <201808171619.w7HGJlZe015255@repo.freebsd.org> <29d939de-108e-c7c4-b4b6-4a7772dca2eb@freebsd.org> <CACNAnaHYkKd5NmaO2%2B2JB2moGT6H_GQ7xW3e%2B%2BKazS60RrPBzw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On 20.08.2018 18:02, Kyle Evans wrote:
> On Mon, Aug 20, 2018 at 11:00 AM, Michal Meloun <melounmichal@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





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aaeef8cf-1be0-23e6-5dd8-a7fef8db2446>