libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Libunwind-devel] arm: issue of reading SP register


From: MyungJoo Ham
Subject: [Libunwind-devel] arm: issue of reading SP register
Date: Mon, 07 Mar 2016 07:28:13 +0000 (GMT)

Hello,


I have been tracking stack unwinding issues for stacks created by CPP
and Assemblies in ARM and found that relying on dwarf->cfa in
src/arm/Gregs.c for SP register has a problem when we are trying to
unwind to a stack that is not supposed to be DWARF compatible
from a stack what is compatible.
https://github.com/dotnet/coreclr/issues/3309


The issue was easilly mitigated by allowing reading SP from SP, not from CFA.
Besides, ARM-DWARF has a big problem of not properly allowing falling back
from a failed trial of DWARF unwinding, which forces me to disable DWARF usage
in ARM-Linux machines. (when DWARF fails, it is supposed to try other two
methods, which fail because DWARF-trial has contaminated required data 
structures:
they succeed if DWARF is skipped.)

In order to bypass such issues, I suggest the following patch,
which is going to be posted as "reply" to this message.




Cheers,
MyungJoo

--
MyungJoo Ham (함명주), Ph.D.
Developer eXperience Lab, S/W Platform Team, Software R&D Center
Samsung Electronics
Cell: +82-10-6714-2858

reply via email to

[Prev in Thread] Current Thread [Next in Thread]