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 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