[lldb][NFC] Force some logging on to TestCortexMExceptionUnwind.py
to possibly debug why this test fails on the
lldb-remote-linux-ubuntu CI bot. I'm sure the Target ArchSpec is
somehow ending up _not_ armv7m-apple-* like it should be, but I'd
like to gather a little more info before I just give up on running
this test on linux systems.
GitOrigin-RevId: 336503c4e1cdb5eaefde0536a34f0a95bc0c57bf
diff --git a/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py b/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
index 30b2a52..0584923 100644
--- a/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
+++ b/test/API/functionalities/unwind/cortex-m-exception/TestCortexMExceptionUnwind.py
@@ -12,34 +12,18 @@
class TestCortexMExceptionUnwind(TestBase):
NO_DEBUG_INFO_TESTCASE = True
- # 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"""
- target = self.dbg.CreateTarget("")
exe = "binary.json"
with open(exe) as f:
exe_json = json.load(f)
exe_uuid = exe_json["uuid"]
+ triple = exe_json["triple"]
- target.AddModule(exe, "", exe_uuid)
+ target = self.dbg.CreateTargetWithFileAndTargetTriple(exe, triple)
+ self.runCmd("target list")
+ self.runCmd("ima li -A -t -b")
self.assertTrue(target.IsValid())
core = self.getBuildArtifact("core")
@@ -48,12 +32,8 @@
process = target.LoadCore(core)
self.assertTrue(process.IsValid())
- if self.TraceOn():
- self.runCmd("target list")
- self.runCmd("image list")
- self.runCmd("target modules dump sections")
- self.runCmd("target modules dump symtab")
- self.runCmd("bt")
+ self.runCmd("target list")
+ self.runCmd("ima li -A -t -b")
thread = process.GetThreadAtIndex(0)
self.assertTrue(thread.IsValid())