This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/19826] invalid pointer returned from __tls_get_addr with static linking
- From: "aoliva at sourceware dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Tue, 20 Sep 2016 06:37:27 +0000
- Subject: [Bug libc/19826] invalid pointer returned from __tls_get_addr with static linking
- Auto-submitted: auto-generated
- References: <bug-19826-131@http.sourceware.org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=19826
--- Comment #9 from Alexandre Oliva <aoliva at sourceware dot org> ---
Err... I don't see where _dl_allocate_tls_init is called either. AFAICT it is
__libc_setup_tls (csu/libc-tls.c) that sets up the DTV in static programs. The
weirdness I see is that it appears to set up DTV[2] with the main program's TLS
static block pointer, but then __tls_get_addr appears to access DTV[1].
I'm still trying to create a static binary linked with current glibc that will
run on either my phone (Neo FreeRunner) or my BBB, but I'm not having much luck
so far. Maybe I'll resort to the Yeeloong: it seems like the same problem
occurs on MIPS.
--
You are receiving this mail because:
You are on the CC list for the bug.