diff --git a/Misc/NEWS.d/next/Build/2026-07-01-17-53-00.gh-issue-152769.Kp7mQ2.rst b/Misc/NEWS.d/next/Build/2026-07-01-17-53-00.gh-issue-152769.Kp7mQ2.rst new file mode 100644 index 000000000000000..04a6ef4f5e0a7f8 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2026-07-01-17-53-00.gh-issue-152769.Kp7mQ2.rst @@ -0,0 +1,4 @@ +Enable the :ref:`perf profiler ` trampoline on Alpine Linux with the +musl C library on ``x86_64`` and ``aarch64``. The +trampoline is architecture-specific and does not depend on the C library, so +the same assembly trampoline used for glibc is reused for musl. diff --git a/configure b/configure index d0738c1909be7b3..c5e25eef9d98566 100755 --- a/configure +++ b/configure @@ -14442,9 +14442,15 @@ case $PLATFORM_TRIPLET in #( x86_64-linux-gnu) : perf_trampoline=yes PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_x86_64.o ;; #( + x86_64-linux-musl) : + perf_trampoline=yes + PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_x86_64.o ;; #( aarch64-linux-gnu) : perf_trampoline=yes PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_aarch64.o ;; #( + aarch64-linux-musl) : + perf_trampoline=yes + PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_aarch64.o ;; #( darwin) : case $MACOSX_DEPLOYMENT_TARGET in #( 10.[0-9]|10.1[0-1]) : diff --git a/configure.ac b/configure.ac index 622d6f6593a1a9c..2b5c732a9b87469 100644 --- a/configure.ac +++ b/configure.ac @@ -3878,8 +3878,12 @@ PERF_TRAMPOLINE_OBJ="" AS_CASE([$PLATFORM_TRIPLET], [x86_64-linux-gnu], [perf_trampoline=yes PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_x86_64.o], + [x86_64-linux-musl], [perf_trampoline=yes + PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_x86_64.o], [aarch64-linux-gnu], [perf_trampoline=yes PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_aarch64.o], + [aarch64-linux-musl], [perf_trampoline=yes + PERF_TRAMPOLINE_OBJ=Python/asm_trampoline_aarch64.o], [darwin], [AS_CASE([$MACOSX_DEPLOYMENT_TARGET], [[10.[0-9]|10.1[0-1]]], [perf_trampoline=no], [perf_trampoline=yes