mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-23 19:10:30 +00:00
Get --ftrace working on aarch64
This change implements a new approach to function call logging, that's based on the GCC flag: -fpatchable-function-entry. Read the commentary in build/config.mk to learn how it works.
This commit is contained in:
parent
5b908bc756
commit
eb40cb371d
934 changed files with 2259 additions and 1268 deletions
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_BitBlt,BitBlt,1034
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
BitBlt:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_BitBlt(%rip),%rax
|
||||
jmp __sysv2nt10
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_ChoosePixelFormat,ChoosePixelFormat,1040
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
ChoosePixelFormat:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_ChoosePixelFormat(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_CreateBitmap,CreateBitmap,1056
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
CreateBitmap:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_CreateBitmap(%rip),%rax
|
||||
jmp __sysv2nt6
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_CreateCompatibleBitmap,CreateCompatibleBitmap,1063
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
CreateCompatibleBitmap:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_CreateCompatibleBitmap(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_CreateCompatibleDC,CreateCompatibleDC,1064
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
CreateCompatibleDC:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_CreateCompatibleDC(%rip)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_CreateDIBSection,CreateDIBSection,1069
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
CreateDIBSection:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_CreateDIBSection(%rip),%rax
|
||||
jmp __sysv2nt6
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_CreateRectRgn,CreateRectRgn,1097
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
CreateRectRgn:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_CreateRectRgn(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_DeleteDC,DeleteDC,1384
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
DeleteDC:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_DeleteDC(%rip)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_DeleteObject,DeleteObject,1387
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
DeleteObject:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_DeleteObject(%rip)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_GetPixel,GetPixel,1691
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
GetPixel:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_GetPixel(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_RestoreDC,RestoreDC,1808
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
RestoreDC:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_RestoreDC(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SaveDC,SaveDC,1815
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SaveDC:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_SaveDC(%rip)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SelectObject,SelectObject,1864
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SelectObject:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SelectObject(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetBkMode,SetBkMode,1872
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetBkMode:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetBkMode(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetPixel,SetPixel,1901
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetPixel:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetPixel(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetPixelFormat,SetPixelFormat,1902
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetPixelFormat:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetPixelFormat(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetTextAlign,SetTextAlign,1910
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetTextAlign:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetTextAlign(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetTextColor,SetTextColor,1912
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetTextColor:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetTextColor(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SetTextJustification,SetTextJustification,1913
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SetTextJustification:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetTextJustification(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
#elif defined(__aarch64__)
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
.imp gdi32,__imp_SwapBuffers,SwapBuffers,1929
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
SwapBuffers:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_SwapBuffers(%rip)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue