[Lldb-commits] [lldb] f3b7ad4 - [lldb][NFC] Update testsuite skip comment
Jason Molenda via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 9 16:47:33 PDT 2025
Author: Jason Molenda
Date: 2025-09-09T16:47:26-07:00
New Revision: f3b7ad4859037254afc0ee6d938018376c7c03d3
URL: https://github.com/llvm/llvm-project/commit/f3b7ad4859037254afc0ee6d938018376c7c03d3
DIFF: https://github.com/llvm/llvm-project/commit/f3b7ad4859037254afc0ee6d938018376c7c03d3.diff
LOG: [lldb][NFC] Update testsuite skip comment
to explain why the skip was added.
Added:
Modified:
lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
Removed:
################################################################################
diff --git a/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py b/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
index 267f8c805f360..30b2a525eaab1 100644
--- a/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
+++ b/lldb/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
@@ -12,7 +12,24 @@
class TestCortexMExceptionUnwind(TestBase):
NO_DEBUG_INFO_TESTCASE = True
- @skipUnlessDarwin # on the lldb-remote-linux-ubuntu CI, only get 1 stack frame not 6
+ # on the lldb-remote-linux-ubuntu CI, the binary.json's triple of
+ # armv7m-apple is not being set in the Target triple, and we're
+ # picking the wrong ABI plugin, ABISysV_arm.
+ # ABISysV_arm::CreateDefaultUnwindPlan() doesn't have a way to detect
+ # arm/thumb for a stack frame, or even the Target's triple for a
+ # Cortex-M part that is always thumb. It hardcodes r11 as the frame
+ # pointer register, which is correct for arm code but not thumb.
+ # It is never correct # on a Cortex-M target.
+ # The Darwin ABIMacOSX_arm diverges from AAPCS and always uses r7 for
+ # the frame pointer -- the thumb convention -- whether executing arm or
+ # thumb. So its CreateDefaultUnwindPlan picks the correct register for
+ # the frame pointer, and we can walk the stack.
+ # ABISysV_arm::CreateDefaultUnwindPlan will only get one frame and
+ # not be able to continue.
+ #
+ # This may only be occuring on a 32-bit Ubuntu bot; need to test
+ # 64-bit Ubuntu and confirm.
+ @skipUnlessDarwin
def test_no_fpu(self):
"""Test that we can backtrace correctly through an ARM Cortex-M Exception return stack"""
More information about the lldb-commits
mailing list