Bug 2350935
| Summary: | When compiling Python with systemtap support, the branch protections on aarch64 do not get applied | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Charalampos Stratakis <cstratak> |
| Component: | python3.14 | Assignee: | Charalampos Stratakis <cstratak> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | amerey, fche, ksurma, mcermak, mhroncok, mjw, python-maint, python-packagers-sig, wcohen |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | aarch64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | python3.14-3.14.0~a7-1.fc40, python3.14-3.14.0~a7-1.fc41, python3.14-3.14.0~a7-1.fc42, python3.14-3.14.0~a7-1.fc43 | Doc Type: | --- |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-04-23 12:13:14 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Charalampos Stratakis
2025-03-09 04:26:32 UTC
Python/ceval.o Python/import.o Python/sysmodule.o and Modules/gcmodule.o all contain the note in the rpm build. Also building the rpm in mock on an aarch64 machine and then from the BUILD directory rerunning manually: /usr/bin/dtrace -o Python/pydtrace.o -G -s /builddir/build/BUILD/python3.11-3.11.11-build/Python-3.11.11/Include/pydtrace.d Python/ceval.o Python/import.o Python/sysmodule.o Modules/gcmodule.o The results are the same, there is no "bti c" or the note in pydtrace.o Building the upstream sources within a mock environment in an aarch64 machine didn't reproduce the issue so the problem is not mock itself. The /usr/bin/dtrace script doesn't have a command line option to pass along extra hardening cflags. However, it observes the $CLFAGS environment variable and relays those to the inferior gcc. (This is an accidentally undocumented feature.) Consider using: env CFLAGS=$(CFLAGS) /usr/bin/dtrace -o Python/pydtrace.o -G -s [...] (In reply to Frank Ch. Eigler from comment #4) > The /usr/bin/dtrace script doesn't have a command line option to pass along > extra hardening cflags. However, it observes the $CLFAGS environment > variable and relays those to the inferior gcc. (This is an accidentally > undocumented feature.) > > Consider using: > > env CFLAGS=$(CFLAGS) /usr/bin/dtrace -o Python/pydtrace.o -G -s [...] From some preliminary testing this seems to be working, thanks! I'll do some more testing to verify the results everywhere and propose it upstream (although systemtap support is kinda half broken at the moment). Is there any place where this could be documented? I'll plop it into upstream man pages right away. Thanks! Changing the component to the latest Python in Fedora. We can wait for the next release for this. |