Hi, all
__lll_unlock_wake (__lll_unlock_wait) are functions in libc. They use the
DW_CFA_val_expression. While I walk the stack that contains these 2 functions,
I cannot always get the complete call chain. At some time, it seems correct.
However, in most cases, the call chains are broken at these 2 functions.
The patch
http://lists.gnu.org/archive/html/libunwind-devel/2014-01/msg00003.html support
DW_CFA_val_expression. The libunwind that I used is contains this path. My
libunwind's version is upstream. I get it by "git clone".
The libc's version that I tested are glibc-2.5-81 and 2.12-1.25. The OSes are
REL5 & REL6. We used these libc & OSes in our systems.
I put the call chains' graph is in the attachment.
The call chain:
clone->start_thread->counter_thread->__pthread_mutex_unlock_internal->_L_unlock_776->__lll_unlock_wake
are correct ones.
But, clone->start_thread->__lll_unlock_wake
are wrong ones.
Is this problem related to Glibc's version?
Regards
Chenggang
_______________________________________________
Libunwind-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/libunwind-devel