Bug report
Bug description:
When building with --enable-experimental-jit the jit_shim.o object lacks GNU property notes for hardware security features. The linker removes all such properties from the output binaries when any input object lacks them.
The regression was introduced with 9633c52 which makes the shim being compiled as a regular object file.
You can reproduce it by using ./configure --enable-experimental-jit=yes-off CFLAGS="-fcf-protection" && make -j.
Before the aforementioned commit a readelf -n python | grep 'x86 feature' would show Properties: x86 feature: IBT, SHSTK, whereas now nothing.
This is the case as well for BTI/PAC/GCS for aarch64 when building with #130864 and -mbranch-protection=standard.
My testing included GCC15.2.1 for the interpreter and Clang 21.1.8 for the jit, on Fedora 43.
CPython versions tested on:
3.16, CPython main branch, 3.15
Operating systems tested on:
Linux
Bug report
Bug description:
When building with
--enable-experimental-jitthe jit_shim.o object lacks GNU property notes for hardware security features. The linker removes all such properties from the output binaries when any input object lacks them.The regression was introduced with 9633c52 which makes the shim being compiled as a regular object file.
You can reproduce it by using
./configure --enable-experimental-jit=yes-off CFLAGS="-fcf-protection" && make -j.Before the aforementioned commit a
readelf -n python | grep 'x86 feature'would showProperties: x86 feature: IBT, SHSTK, whereas now nothing.This is the case as well for BTI/PAC/GCS for aarch64 when building with #130864 and
-mbranch-protection=standard.My testing included GCC15.2.1 for the interpreter and Clang 21.1.8 for the jit, on Fedora 43.
CPython versions tested on:
3.16, CPython main branch, 3.15
Operating systems tested on:
Linux