Skip to content

[lldb] Fix test_chained_frame_providers on 32-bit Arm#177668

Merged
luporl merged 1 commit intollvm:mainfrom
luporl:luporl-fix-chained-frame-prov-test
Jan 23, 2026
Merged

[lldb] Fix test_chained_frame_providers on 32-bit Arm#177668
luporl merged 1 commit intollvm:mainfrom
luporl:luporl-fix-chained-frame-prov-test

Conversation

@luporl
Copy link
Contributor

@luporl luporl commented Jan 23, 2026

PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes #177666

PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes llvm#177666
@luporl luporl requested a review from JDevlieghere as a code owner January 23, 2026 19:59
@llvmbot llvmbot added the lldb label Jan 23, 2026
@llvmbot
Copy link
Member

llvmbot commented Jan 23, 2026

@llvm/pr-subscribers-lldb

Author: Leandro Lupori (luporl)

Changes

PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes #177666


Full diff: https://github.com/llvm/llvm-project/pull/177668.diff

2 Files Affected:

  • (modified) lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py (+2-2)
  • (modified) lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py (+2-2)
diff --git a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
index ceca64a450686..964d213b16887 100644
--- a/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
+++ b/lldb/test/API/functionalities/scripted_frame_provider/TestScriptedFrameProvider.py
@@ -706,7 +706,7 @@ def test_chained_frame_providers(self):
             "baz",
             "Frame 0 should be 'baz' from last provider in chain",
         )
-        self.assertEqual(frame0.GetPC(), 0xBAD)
+        self.assertEqual(frame0.GetPC(), 0xBAC)
 
         frame1 = thread.GetFrameAtIndex(1)
         self.assertIsNotNone(frame1)
@@ -715,7 +715,7 @@ def test_chained_frame_providers(self):
             "bar",
             "Frame 1 should be 'bar' from second provider in chain",
         )
-        self.assertEqual(frame1.GetPC(), 0xBAB)
+        self.assertEqual(frame1.GetPC(), 0xBAA)
 
         frame2 = thread.GetFrameAtIndex(2)
         self.assertIsNotNone(frame2)
diff --git a/lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py b/lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
index e97d11f173045..6233041f68a51 100644
--- a/lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
+++ b/lldb/test/API/functionalities/scripted_frame_provider/test_frame_providers.py
@@ -427,7 +427,7 @@ def get_priority():
     def get_frame_at_index(self, index):
         if index == 0:
             # Return synthetic "bar" frame
-            return CustomScriptedFrame(self.thread, 0, 0xBAB, "bar")
+            return CustomScriptedFrame(self.thread, 0, 0xBAA, "bar")
         elif index - 1 < len(self.input_frames):
             # Pass through input frames (shifted by 1)
             return index - 1
@@ -453,7 +453,7 @@ def get_priority():
     def get_frame_at_index(self, index):
         if index == 0:
             # Return synthetic "baz" frame
-            return CustomScriptedFrame(self.thread, 0, 0xBAD, "baz")
+            return CustomScriptedFrame(self.thread, 0, 0xBAC, "baz")
         elif index - 1 < len(self.input_frames):
             # Pass through input frames (shifted by 1)
             return index - 1

Copy link
Member

@medismailben medismailben left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! LGTM!

@luporl luporl merged commit cd70e2d into llvm:main Jan 23, 2026
13 checks passed
@luporl luporl deleted the luporl-fix-chained-frame-prov-test branch January 23, 2026 21:05
Harrish92 pushed a commit to Harrish92/llvm-project that referenced this pull request Jan 24, 2026
PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes llvm#177666
Icohedron pushed a commit to Icohedron/llvm-project that referenced this pull request Jan 29, 2026
PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes llvm#177666
sshrestha-aa pushed a commit to sshrestha-aa/llvm-project that referenced this pull request Feb 4, 2026
PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes llvm#177666
@medismailben medismailben added this to the LLVM 22.x Release milestone Feb 5, 2026
@github-project-automation github-project-automation bot moved this to Needs Triage in LLVM Release Status Feb 5, 2026
@github-project-automation github-project-automation bot moved this from Needs Triage to Done in LLVM Release Status Feb 5, 2026
c-rhodes pushed a commit to llvmbot/llvm-project that referenced this pull request Feb 9, 2026
PC addresses must always be 16-bit aligned on 32-bit Arm CPUs.

Fixes llvm#177666

(cherry picked from commit cd70e2d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Development

Successfully merging this pull request may close these issues.

[lldb] TestScriptedFrameProvider.py fails on 32-bit Arm

3 participants