[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libunwind] libunwind issue on x86
From: |
M K Saravanan-A19831 |
Subject: |
[libunwind] libunwind issue on x86 |
Date: |
Thu, 1 Sep 2005 12:44:06 +0530 |
I have been using
the libunwind for IA64 and it works great. But when I tried using the same for
x86, I faced a issue where the last frame is missing. This problem occurs when I
unwind from a signal handler, the unwind misses the last frame. I have a signal
handler for SIGSEGV and this signal handler will unwind and print the call
sequence.
I tried a function
call sequence
main()->funca()->funcb()->funcc()->funcd()->funce(). The last
function funce() causes exception and causes the exception handler to run which
does the unwind. The problem here is the last function funce()'s frame is
missing. Here after funcd() there is the frame for __libc_sigaction().
#03 [0x009daec0] __libc_sigaction() +0x110 in
/lib/tls/libc.so.6 (+27ec0)
#04 [0x08049195] funcd(int) +0x11 in
./Exception.out (+1195)
#05 [0x080491a9] funcc(int) +0x11 in ./Exception.out
(+11a9)
#06 [0x080491bd] funcb(int) +0x11 in ./Exception.out (+11bd)
#07
[0x080491d1] funca(int) +0x11 in ./Exception.out (+11d1)
#08 [0x080491fb]
main() +0x27 in ./Exception.out (+11fb)
Is
this a known issue in x86 libunwind? Since the same test work for IA64, I was
wondering if this is a known issue and any workaround
available.
Thanks,
Saravanan
- [libunwind] libunwind issue on x86,
M K Saravanan-A19831 <=