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>