Author: Jason Molenda
Date: 2025-09-10T22:58:30-07:00
New Revision: 6a719387704c8c01b29bdb418a4d8a3b5df6b090

URL: 
https://github.com/llvm/llvm-project/commit/6a719387704c8c01b29bdb418a4d8a3b5df6b090
DIFF: 
https://github.com/llvm/llvm-project/commit/6a719387704c8c01b29bdb418a4d8a3b5df6b090.diff

LOG: Revert "[lldb][NFC] Force some logging on to TestCortexMExceptionUnwind.py"

This reverts commit 336503c4e1cdb5eaefde0536a34f0a95bc0c57bf.

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 05849237cca01..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,18 +12,34 @@
 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 = self.dbg.CreateTargetWithFileAndTargetTriple(exe, triple)
-        self.runCmd("target list")
-        self.runCmd("ima li -A -t -b")
+        target.AddModule(exe, "", exe_uuid)
         self.assertTrue(target.IsValid())
 
         core = self.getBuildArtifact("core")
@@ -32,8 +48,12 @@ def test_no_fpu(self):
         process = target.LoadCore(core)
         self.assertTrue(process.IsValid())
 
-        self.runCmd("target list")
-        self.runCmd("ima li -A -t -b")
+        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")
 
         thread = process.GetThreadAtIndex(0)
         self.assertTrue(thread.IsValid())


        
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to