You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
riscv64 fails to build Python/perf_jit_trampoline.c: Unsupported target architecture #121201
Unfortunately without testing in a system that has a working perf we won't be able to merge the PR because we cannot validate that it works. I am not confortable to merge these changes without being able to corroborate the functionality :(
Activity
vstinner commentedon Jul 1, 2024
cc @furkanonder
vstinner commentedon Jul 1, 2024
configure says:
pablogsal commentedon Jul 1, 2024
Hummm, looks like we are missing the definitions for the registers for riscv64 here:
cpython/Python/perf_jit_trampoline.c
Lines 352 to 376 in af8c3d7
@furkanonder can you take a look? Otherwise we may need to deactivate RISKV64 support meanwhile we figure out the DWARF definitions.
pablogsal commentedon Jul 1, 2024
I think it may be enough to add riskv here:
cpython/Python/perf_jit_trampoline.c
Line 371 in af8c3d7
but I am not sure about the numbers. It seems that they match the aarch64 but I would need a riskv machine to try out.
pablogsal commentedon Jul 1, 2024
I way to try out the numbers is to generate DWARF in riskv for the same function and check the numeric values of DWRF_REG_SP and DWRF_REG_RA
gh-121201: Disable perf_trampoline on riscv64 for now (#121328)
pablogsal commentedon Jul 3, 2024
Deactivated for now in ##121328
pythongh-121201: Disable perf_trampoline on riscv64 for now (pythonGH…
terryjreedy commentedon Jul 3, 2024
The backport automerge failed and is still open.
furkanonder commentedon Jul 3, 2024
According to Table 18.2: RISC-V calling convention register usage. looks like this;
Therefore, I set DWRF_REG_RA to 1 and DWRF_REG_SP to 2.
I got an another error here, I have no idea about the extra registers.
Following these changes, the build was completed successfully. I didn't encounter any failed test cases.
[3.13] gh-121201: Disable perf_trampoline on riscv64 for now (GH-121328…
pablogsal commentedon Jul 4, 2024
@furkanonder Can you create another PR with the previous changes and the changes you just did? We can test that against the builedbot then.
Also, please, can you show me the output of
python -m test test_perf_profiler -v?furkanonder commentedon Jul 4, 2024
PR for the changes.
Output:
I followed Python support for the Linux perf profiler to test perf profiling. I think the perf tool is not well supported in my buildbot.
pythongh-121201: Disable perf_trampoline on riscv64 for now (python#1…
pablogsal commentedon Jul 13, 2024
Unfortunately without testing in a system that has a working perf we won't be able to merge the PR because we cannot validate that it works. I am not confortable to merge these changes without being able to corroborate the functionality :(
pythongh-121201: Disable perf_trampoline on riscv64 for now (python#1…