]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
GH-126910: reserve FP on AArch64 when generating JIT stencils (GH-146520)
authorDiego Russo <diego.russo@arm.com>
Fri, 27 Mar 2026 17:51:51 +0000 (17:51 +0000)
committerGitHub <noreply@github.com>
Fri, 27 Mar 2026 17:51:51 +0000 (01:51 +0800)
Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst [new file with mode: 0644]
Tools/jit/_targets.py

diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst b/Misc/NEWS.d/next/Core_and_Builtins/2026-03-27-17-14-18.gh-issue-126910.hooVFQ.rst
new file mode 100644 (file)
index 0000000..e3ddf39
--- /dev/null
@@ -0,0 +1 @@
+Set frame pointers in ``aarch64-unknown-linux-gnu`` JIT code, allowing most native profilers and debuggers to unwind through them. Patch by Diego Russo
index fa98dcb5a40851a4bf5cb3f7b246b893be21e7cf..ad2d5b3c780d54fb310e12dbc84d5004b4acd8a2 100644 (file)
@@ -593,7 +593,9 @@ def get_target(host: str) -> _COFF32 | _COFF64 | _ELF | _MachO:
         # -mno-outline-atomics: Keep intrinsics from being emitted.
         args = ["-fpic", "-mno-outline-atomics", "-fno-plt"]
         optimizer = _optimizers.OptimizerAArch64
-        target = _ELF(host, condition, args=args, optimizer=optimizer)
+        target = _ELF(
+            host, condition, args=args, optimizer=optimizer, frame_pointers=True
+        )
     elif re.fullmatch(r"i686-pc-windows-msvc", host):
         host = "i686-pc-windows-msvc"
         condition = "defined(_M_IX86)"