This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "uClibc-ng - small C library for embedded systems".
The branch, 1.0 has been updated via d63ef2748f18c0f20ea866cb197fa3068f180ec7 (commit) from bb1be3426bfe3f98e00ba5d172bd779df084845e (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit d63ef2748f18c0f20ea866cb197fa3068f180ec7 Author: Junling Zheng zhengjunling@huawei.com Date: Mon Jul 20 13:33:57 2015 +0000
nptl_db/db_info: fix the incorrect initial size for dtvp
When debugging a program on ARMv7 with thread-local storage declared using "__thread", attempting to print a thread-local variable will result in the following message:
Cannot find thread-local storage for Thread <snip> (LWP <snip>), executable file /tmp/tls: capability not available
This can be traced back to uclibc libpthread/nptl_db/td_thr_tls_get_addr.c which gdb uses to look up the address of the TLS. The function returns TD_NOCAPAB due to a mismatch in size between the DTV pointer and the size recorded in the db description. The problem lies in libpthread/nptl_db/db_info.c which initializes the db with the sizeof the union dtv. Instead it should be the sizeof a pointer to union dtv.
Fixed the initial size for dtvp to sizeof a pointer, instead of sizeof the union.
Refer to: http://sourceware.org/ml/libc-alpha/2006-10/msg00088.html https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=416b630981788c1f08e74...
Signed-off-by: Junling Zheng zhengjunling@huawei.com
-----------------------------------------------------------------------
Summary of changes: libpthread/nptl_db/db_info.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libpthread/nptl_db/db_info.c b/libpthread/nptl_db/db_info.c index a57a053..159a027 100644 --- a/libpthread/nptl_db/db_info.c +++ b/libpthread/nptl_db/db_info.c @@ -60,7 +60,7 @@ extern bool __nptl_initial_report_events; i.e. at the very end of the area covered by TLS_PRE_TCB_SIZE. */ DESC (_thread_db_pthread_dtvp, TLS_PRE_TCB_SIZE + offsetof (tcbhead_t, dtv) - - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv) + - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv *) #endif
hooks/post-receive