File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed
lldb/test/API/functionalities/unwind/cortex-m-exception Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change 12
12
class TestCortexMExceptionUnwind (TestBase ):
13
13
NO_DEBUG_INFO_TESTCASE = True
14
14
15
- @skipUnlessDarwin # on the lldb-remote-linux-ubuntu CI, only get 1 stack frame not 6
15
+ # on the lldb-remote-linux-ubuntu CI, the binary.json's triple of
16
+ # armv7m-apple is not being set in the Target triple, and we're
17
+ # picking the wrong ABI plugin, ABISysV_arm.
18
+ # ABISysV_arm::CreateDefaultUnwindPlan() doesn't have a way to detect
19
+ # arm/thumb for a stack frame, or even the Target's triple for a
20
+ # Cortex-M part that is always thumb. It hardcodes r11 as the frame
21
+ # pointer register, which is correct for arm code but not thumb.
22
+ # It is never correct # on a Cortex-M target.
23
+ # The Darwin ABIMacOSX_arm diverges from AAPCS and always uses r7 for
24
+ # the frame pointer -- the thumb convention -- whether executing arm or
25
+ # thumb. So its CreateDefaultUnwindPlan picks the correct register for
26
+ # the frame pointer, and we can walk the stack.
27
+ # ABISysV_arm::CreateDefaultUnwindPlan will only get one frame and
28
+ # not be able to continue.
29
+ #
30
+ # This may only be occuring on a 32-bit Ubuntu bot; need to test
31
+ # 64-bit Ubuntu and confirm.
32
+ @skipUnlessDarwin
16
33
def test_no_fpu (self ):
17
34
"""Test that we can backtrace correctly through an ARM Cortex-M Exception return stack"""
18
35
You can’t perform that action at this time.
0 commit comments