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:
Justine Tunney 2023-06-05 23:35:31 -07:00
parent 5b908bc756
commit eb40cb371d
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
934 changed files with 2259 additions and 1268 deletions

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_FreeAddrInfoExW,FreeAddrInfoExW,26
.text.windows
.ftrace1
FreeAddrInfoEx:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_FreeAddrInfoExW(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_FreeAddrInfoW,FreeAddrInfoW,27
.text.windows
.ftrace1
FreeAddrInfo:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_FreeAddrInfoW(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetAddrInfoExCancel,GetAddrInfoExCancel,29
.text.windows
.ftrace1
GetAddrInfoExCancel:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_GetAddrInfoExCancel(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetAddrInfoExOverlappedResult,GetAddrInfoExOverlappedResult,30
.text.windows
.ftrace1
GetAddrInfoExOverlappedResult:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_GetAddrInfoExOverlappedResult(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetAddrInfoExW,GetAddrInfoExW,31
.text.windows
.ftrace1
GetAddrInfoEx:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_GetAddrInfoExW(%rip),%rax
jmp __sysv2nt10
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetAddrInfoW,GetAddrInfoW,32
.text.windows
.ftrace1
GetAddrInfo:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_GetAddrInfoW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetHostNameW,GetHostNameW,33
.text.windows
.ftrace1
GetHostName:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_GetHostNameW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_GetNameInfoW,GetNameInfoW,34
.text.windows
.ftrace1
GetNameInfo:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_GetNameInfoW(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_SetAddrInfoExW,SetAddrInfoExW,38
.text.windows
.ftrace1
SetAddrInfoEx:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_SetAddrInfoExW(%rip),%rax
jmp __sysv2nt12
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAccept,WSAAccept,41
.text.windows
.ftrace1
WSAAccept:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAccept(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAddressToStringW,WSAAddressToStringW,43
.text.windows
.ftrace1
WSAAddressToString:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAddressToStringW(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAsyncGetHostByAddr,WSAAsyncGetHostByAddr,102
.text.windows
.ftrace1
WSAAsyncGetHostByAddr:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAsyncGetHostByAddr(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAsyncGetHostByName,WSAAsyncGetHostByName,103
.text.windows
.ftrace1
WSAAsyncGetHostByName:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAsyncGetHostByName(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAsyncGetProtoByName,WSAAsyncGetProtoByName,105
.text.windows
.ftrace1
WSAAsyncGetProtoByName:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAsyncGetProtoByName(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAAsyncGetProtoByNumber,WSAAsyncGetProtoByNumber,104
.text.windows
.ftrace1
WSAAsyncGetProtoByNumber:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAAsyncGetProtoByNumber(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSACleanup,WSACleanup,116
.text.windows
.ftrace1
WSACleanup:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
sub $32,%rsp
call *__imp_WSACleanup(%rip)
leave

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSACloseEvent,WSACloseEvent,45
.text.windows
.ftrace1
WSACloseEvent:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSACloseEvent(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAConnect,WSAConnect,46
.text.windows
.ftrace1
WSAConnect:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAConnect(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAConnectByList,WSAConnectByList,47
.text.windows
.ftrace1
WSAConnectByList:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAConnectByList(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAConnectByNameW,WSAConnectByNameW,49
.text.windows
.ftrace1
WSAConnectByName:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAConnectByNameW(%rip),%rax
jmp __sysv2nt10
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSACreateEvent,WSACreateEvent,50
.text.windows
.ftrace1
WSACreateEvent:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
sub $32,%rsp
call *__imp_WSACreateEvent(%rip)
leave

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSADuplicateSocketW,WSADuplicateSocketW,59
.text.windows
.ftrace1
WSADuplicateSocket:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSADuplicateSocketW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAEnumNameSpaceProvidersExW,WSAEnumNameSpaceProvidersExW,62
.text.windows
.ftrace1
WSAEnumNameSpaceProvidersEx:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAEnumNameSpaceProvidersExW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAEnumNameSpaceProvidersW,WSAEnumNameSpaceProvidersW,63
.text.windows
.ftrace1
WSAEnumNameSpaceProviders:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAEnumNameSpaceProvidersW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAEnumNetworkEvents,WSAEnumNetworkEvents,64
.text.windows
.ftrace1
WSAEnumNetworkEvents:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAEnumNetworkEvents(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAEnumProtocolsW,WSAEnumProtocolsW,66
.text.windows
.ftrace1
WSAEnumProtocols:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAEnumProtocolsW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAEventSelect,WSAEventSelect,67
.text.windows
.ftrace1
WSAEventSelect:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAEventSelect(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAGetLastError,WSAGetLastError,111
.text.windows
.ftrace1
WSAGetLastError:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
sub $32,%rsp
call *__imp_WSAGetLastError(%rip)
leave

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAGetOverlappedResult,WSAGetOverlappedResult,68
.text.windows
.ftrace1
WSAGetOverlappedResult:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAGetOverlappedResult(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAGetQOSByName,WSAGetQOSByName,69
.text.windows
.ftrace1
WSAGetQOSByName:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAGetQOSByName(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAGetServiceClassInfoW,WSAGetServiceClassInfoW,71
.text.windows
.ftrace1
WSAGetServiceClassInfo:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAGetServiceClassInfoW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAGetServiceClassNameByClassIdW,WSAGetServiceClassNameByClassIdW,73
.text.windows
.ftrace1
WSAGetServiceClassNameByClassId:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAGetServiceClassNameByClassIdW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAInstallServiceClassW,WSAInstallServiceClassW,77
.text.windows
.ftrace1
WSAInstallServiceClass:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSAInstallServiceClassW(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAIoctl,WSAIoctl,78
.text.windows
.ftrace1
WSAIoctl:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAIoctl(%rip),%rax
jmp __sysv2nt10
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAJoinLeaf,WSAJoinLeaf,79
.text.windows
.ftrace1
WSAJoinLeaf:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAJoinLeaf(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSALookupServiceBeginW,WSALookupServiceBeginW,81
.text.windows
.ftrace1
WSALookupServiceBegin:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSALookupServiceBeginW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSALookupServiceEnd,WSALookupServiceEnd,82
.text.windows
.ftrace1
WSALookupServiceEnd:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSALookupServiceEnd(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSALookupServiceNextW,WSALookupServiceNextW,84
.text.windows
.ftrace1
WSALookupServiceNext:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSALookupServiceNextW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSANSPIoctl,WSANSPIoctl,85
.text.windows
.ftrace1
WSANSPIoctl:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSANSPIoctl(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAPoll,WSAPoll,88
.text.windows
.ftrace1
WSAPoll:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAPoll(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAProviderConfigChange,WSAProviderConfigChange,90
.text.windows
.ftrace1
WSAProviderConfigChange:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAProviderConfigChange(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSARecv,WSARecv,91
.text.windows
.ftrace1
__WSARecv:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSARecv(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSARecvDisconnect,WSARecvDisconnect,92
.text.windows
.ftrace1
WSARecvDisconnect:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSARecvDisconnect(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSARecvFrom,WSARecvFrom,93
.text.windows
.ftrace1
__WSARecvFrom:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSARecvFrom(%rip),%rax
jmp __sysv2nt10
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSARemoveServiceClass,WSARemoveServiceClass,94
.text.windows
.ftrace1
WSARemoveServiceClass:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSARemoveServiceClass(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAResetEvent,WSAResetEvent,95
.text.windows
.ftrace1
WSAResetEvent:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSAResetEvent(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASend,WSASend,96
.text.windows
.ftrace1
WSASend:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASend(%rip),%rax
jmp __sysv2nt8
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASendDisconnect,WSASendDisconnect,97
.text.windows
.ftrace1
WSASendDisconnect:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASendDisconnect(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASendMsg,WSASendMsg,98
.text.windows
.ftrace1
WSASendMsg:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASendMsg(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASendTo,WSASendTo,99
.text.windows
.ftrace1
WSASendTo:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASendTo(%rip),%rax
jmp __sysv2nt10
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASetEvent,WSASetEvent,100
.text.windows
.ftrace1
WSASetEvent:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSASetEvent(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASetLastError,WSASetLastError,112
.text.windows
.ftrace1
WSASetLastError:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_WSASetLastError(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASetServiceW,WSASetServiceW,118
.text.windows
.ftrace1
WSASetService:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASetServiceW(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSASocketW,WSASocketW,120
.text.windows
.ftrace1
WSASocket:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSASocketW(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAStartup,WSAStartup,115
.text.windows
.ftrace1
WSAStartup:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAStartup(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_WSAWaitForMultipleEvents,WSAWaitForMultipleEvents,124
.text.windows
.ftrace1
__WSAWaitForMultipleEvents:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_WSAWaitForMultipleEvents(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_accept,accept,1
.text.windows
.ftrace1
__sys_accept_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_accept(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_bind,bind,2
.text.windows
.ftrace1
__sys_bind_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_bind(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_closesocket,closesocket,3
.text.windows
.ftrace1
__sys_closesocket_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov %rdi,%rcx
sub $32,%rsp
call *__imp_closesocket(%rip)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_getpeername,getpeername,5
.text.windows
.ftrace1
__sys_getpeername_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_getpeername(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_getsockname,getsockname,6
.text.windows
.ftrace1
__sys_getsockname_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_getsockname(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_getsockopt,getsockopt,7
.text.windows
.ftrace1
__sys_getsockopt_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_getsockopt(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_ioctlsocket,ioctlsocket,10
.text.windows
.ftrace1
__sys_ioctlsocket_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_ioctlsocket(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_listen,listen,13
.text.windows
.ftrace1
__sys_listen_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_listen(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_recv,recv,16
.text.windows
.ftrace1
__sys_recv_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_recv(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_recvfrom,recvfrom,17
.text.windows
.ftrace1
__sys_recvfrom_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_recvfrom(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_select,select,18
.text.windows
.ftrace1
__sys_select_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_select(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_send,send,19
.text.windows
.ftrace1
__sys_send_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_send(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_sendto,sendto,20
.text.windows
.ftrace1
__sys_sendto_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_sendto(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_setsockopt,setsockopt,21
.text.windows
.ftrace1
__sys_setsockopt_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_setsockopt(%rip),%rax
jmp __sysv2nt6
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_shutdown,shutdown,22
.text.windows
.ftrace1
__sys_shutdown_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_shutdown(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)

View file

@ -2,11 +2,12 @@
.imp ws2_32,__imp_socket,socket,23
.text.windows
.ftrace1
__sys_socket_nt:
.ftrace2
#ifdef __x86_64__
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_socket(%rip),%rax
jmp __sysv2nt
#elif defined(__aarch64__)