Date: Tue, 14 May 2019 23:45:35 +0800 From: =?UTF-8?B?RsSBbmctcnXDrCBTw7JuZw==?= <emacsray@gmail.com> To: jrtc27@jrtc27.com, brooks@freebsd.org, emaste@freebsd.org, kib@freebsd.org Cc: freebsd-toolchain@freebsd.org Subject: TLS Variant I may not satisfy offset%p_align == (base+p_vaddr)%p_align Message-ID: <CAN30aBGLuXYZ5Hf99Jfvg5=kX%2B3QBFi6%2BSx040rC9ppnWP6y1g@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
See https://reviews.llvm.org/D61824 For the PT_TLS segment in the main module, currently when p_vaddr%p_align!=0, FreeBSD rtld behaves like musl (1.1.20~1.1.22) - it aligns the TLS block to 0 modulo main_tls_align. This is incorrect. According to Szabolcs Nagy, glibc/elf/dl-tls.c is correct and FreeBSD rtld/musl/Bionic are wrong. This revision is related: https://reviews.freebsd.org/D16510 I did a quick test with qemu-system-aarch64 FreeBSD-13.0-CURRENT-arm64-aarch64-20190510-r347415-mini-memstick.img while investigating the Android breakage. I haven't looked into the source carefully.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN30aBGLuXYZ5Hf99Jfvg5=kX%2B3QBFi6%2BSx040rC9ppnWP6y1g>