mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
[3.14] gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500) (#136544)
gh-136541: Fix several problems of perf trampolines in x86_64 and aarch64 (GH-136500)
This commit fixes the following problems:
* The x86_64 trampolines are not preserving frame pointers
* The hardcoded offsets to the code segment from the FDE only worked properly for x64_64
* The CIE data was not following conventions of aarch64
* The eh_frame for aarch64 was not fully correct
(cherry picked from commit 236f733d8f
)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
This commit is contained in:
parent
a464c4e2e8
commit
5535482d2a
4 changed files with 147 additions and 41 deletions
|
@ -12,9 +12,10 @@ _Py_trampoline_func_start:
|
|||
#if defined(__CET__) && (__CET__ & 1)
|
||||
endbr64
|
||||
#endif
|
||||
sub $8, %rsp
|
||||
call *%rcx
|
||||
add $8, %rsp
|
||||
push %rbp
|
||||
mov %rsp, %rbp
|
||||
call *%rcx
|
||||
pop %rbp
|
||||
ret
|
||||
#endif // __x86_64__
|
||||
#if defined(__aarch64__) && defined(__AARCH64EL__) && !defined(__ILP32__)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue