mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-10 11:20:10 +00:00
* sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Add CFI directives.
This commit is contained in:
parent
05c49e6f55
commit
2b4500480e
@ -1,3 +1,8 @@
|
||||
2003-06-15 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
|
||||
Add CFI directives.
|
||||
|
||||
2003-06-15 Guido Guenther <agx@sigxcpu.org>
|
||||
|
||||
* sysdeps/unix/sysv/linux/mips/Makefile: Add missing endif and
|
||||
|
@ -217,13 +217,15 @@ _dl_runtime_profile:\n\
|
||||
" CFI_STARTPROC "\n\
|
||||
_dl_runtime_resolve:\n\
|
||||
_dl_runtime_profile:\n\
|
||||
pushq %rax # Preserve registers otherwise clobbered.\n\
|
||||
pushq %rcx\n\
|
||||
pushq %rdx\n\
|
||||
pushq %rsi\n\
|
||||
pushq %rdi\n\
|
||||
pushq %r8\n\
|
||||
pushq %r9\n\
|
||||
subq $56,%rsp\n\
|
||||
" CFI_ADJUST_CFA_OFFSET(72)" # Incorporate PLT\n\
|
||||
movq %rax,(%rsp) # Preserve registers otherwise clobbered.\n\
|
||||
movq %rcx,8(%rsp)\n\
|
||||
movq %rdx,16(%rsp)\n\
|
||||
movq %rsi,24(%rsp)\n\
|
||||
movq %rdi,32(%rsp)\n\
|
||||
movq %r8,40(%rsp)\n\
|
||||
movq %r9,48(%rsp)\n\
|
||||
movq 64(%rsp), %rsi # Copy args pushed by PLT in register.\n\
|
||||
movq %rsi,%r11 # Multiply by 24\n\
|
||||
addq %r11,%rsi\n\
|
||||
@ -232,14 +234,15 @@ _dl_runtime_profile:\n\
|
||||
movq 56(%rsp), %rdi # %rdi: link_map, %rsi: reloc_offset\n\
|
||||
call fixup # Call resolver.\n\
|
||||
movq %rax, %r11 # Save return value\n\
|
||||
popq %r9 # Get register content back.\n\
|
||||
popq %r8\n\
|
||||
popq %rdi\n\
|
||||
popq %rsi\n\
|
||||
popq %rdx\n\
|
||||
popq %rcx\n\
|
||||
popq %rax\n\
|
||||
addq $16,%rsp # Adjust stack\n\
|
||||
movq 48(%rsp),%r9 # Get register content back.\n\
|
||||
movq 40(%rsp),%r8\n\
|
||||
movq 32(%rsp),%rdi\n\
|
||||
movq 24(%rsp),%rsi\n\
|
||||
movq 16(%rsp),%rdx\n\
|
||||
movq 8(%rsp),%rcx\n\
|
||||
movq (%rsp),%rax\n\
|
||||
addq $72,%rsp # Adjust stack\n\
|
||||
" CFI_ADJUST_CFA_OFFSET(-72)"\n\
|
||||
jmp *%r11 # Jump to function address.\n\
|
||||
" CFI_ENDPROC "\n\
|
||||
.size _dl_runtime_resolve, .-_dl_runtime_resolve\n\
|
||||
|
Loading…
Reference in New Issue
Block a user