mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
Add OpenMP support
This commit is contained in:
parent
c1e18e7903
commit
5f8e9f14c1
742 changed files with 94643 additions and 1279 deletions
3
Makefile
3
Makefile
|
@ -286,6 +286,7 @@ include third_party/readline/BUILD.mk # │
|
|||
include third_party/libunwind/BUILD.mk # |
|
||||
include third_party/libcxxabi/BUILD.mk # |
|
||||
include third_party/libcxx/BUILD.mk # │
|
||||
include third_party/openmp/BUILD.mk # │
|
||||
include third_party/double-conversion/BUILD.mk # │
|
||||
include third_party/pcre/BUILD.mk # │
|
||||
include third_party/less/BUILD.mk # │
|
||||
|
@ -441,6 +442,7 @@ COSMOPOLITAN_OBJECTS = \
|
|||
THIRD_PARTY_GETOPT \
|
||||
LIBC_LOG \
|
||||
LIBC_TIME \
|
||||
THIRD_PARTY_OPENMP \
|
||||
THIRD_PARTY_MUSL \
|
||||
THIRD_PARTY_ZLIB_GZ \
|
||||
THIRD_PARTY_LIBCXXABI \
|
||||
|
@ -522,6 +524,7 @@ COSMOCC_PKGS = \
|
|||
THIRD_PARTY_AARCH64 \
|
||||
THIRD_PARTY_LIBCXX \
|
||||
THIRD_PARTY_LIBCXXABI \
|
||||
THIRD_PARTY_OPENMP \
|
||||
THIRD_PARTY_INTEL
|
||||
|
||||
o/$(MODE)/cosmopolitan.a: \
|
||||
|
|
|
@ -40,6 +40,9 @@ o/$(MODE)/%.h: %.c
|
|||
o/$(MODE)/%.o: %.cc
|
||||
@$(COMPILE) -AOBJECTIFY.cxx $(OBJECTIFY.cxx) $(OUTPUT_OPTION) $<
|
||||
|
||||
o/$(MODE)/%.o: %.cpp
|
||||
@$(COMPILE) -AOBJECTIFY.cxx $(OBJECTIFY.cxx) $(OUTPUT_OPTION) $<
|
||||
|
||||
o/$(MODE)/%.lds: %.lds
|
||||
@$(COMPILE) -APREPROCESS $(PREPROCESS.lds) $(OUTPUT_OPTION) $<
|
||||
|
||||
|
|
47
libc/calls/sched_getcpu.c
Normal file
47
libc/calls/sched_getcpu.c
Normal file
|
@ -0,0 +1,47 @@
|
|||
/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-│
|
||||
│ vi: set et ft=c ts=2 sts=2 sw=2 fenc=utf-8 :vi │
|
||||
╞══════════════════════════════════════════════════════════════════════════════╡
|
||||
│ Copyright 2024 Justine Alexandra Roberts Tunney │
|
||||
│ │
|
||||
│ Permission to use, copy, modify, and/or distribute this software for │
|
||||
│ any purpose with or without fee is hereby granted, provided that the │
|
||||
│ above copyright notice and this permission notice appear in all copies. │
|
||||
│ │
|
||||
│ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL │
|
||||
│ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED │
|
||||
│ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE │
|
||||
│ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL │
|
||||
│ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR │
|
||||
│ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER │
|
||||
│ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │
|
||||
│ PERFORMANCE OF THIS SOFTWARE. │
|
||||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/calls/calls.h"
|
||||
#include "libc/calls/struct/cpuset.h"
|
||||
#include "libc/dce.h"
|
||||
#include "libc/nexgen32e/rdtscp.h"
|
||||
#include "libc/nexgen32e/x86feature.h"
|
||||
#include "libc/nt/struct/processornumber.h"
|
||||
#include "libc/nt/synchronization.h"
|
||||
|
||||
int sys_getcpu(unsigned *opt_cpu, unsigned *opt_node, void *tcache);
|
||||
|
||||
/**
|
||||
* Returns ID of CPU on which thread is currently scheduled.
|
||||
*/
|
||||
int sched_getcpu(void) {
|
||||
if (X86_HAVE(RDTSCP)) {
|
||||
unsigned tsc_aux;
|
||||
rdtscp(&tsc_aux);
|
||||
return TSC_AUX_CORE(tsc_aux);
|
||||
} else if (IsWindows()) {
|
||||
struct NtProcessorNumber pn;
|
||||
GetCurrentProcessorNumberEx(&pn);
|
||||
return 64 * pn.Group + pn.Number;
|
||||
} else {
|
||||
unsigned cpu = 0;
|
||||
int rc = sys_getcpu(&cpu, 0, 0);
|
||||
if (rc == -1) return -1;
|
||||
return cpu;
|
||||
}
|
||||
}
|
|
@ -53,5 +53,7 @@ int CPU_COUNT_S(size_t, const cpu_set_t *) libcesque;
|
|||
#define CPU_CLR_S(i, size, set) _CPU_S(i, size, set, &= ~)
|
||||
#define CPU_ISSET_S(i, size, set) _CPU_S(i, size, set, &)
|
||||
|
||||
typedef cpu_set_t cpuset_t; /* for freebsd compatibility */
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* COSMOPOLITAN_LIBC_CALLS_STRUCT_CPUSET_H_ */
|
||||
|
|
|
@ -45,7 +45,7 @@ int gettid(void) {
|
|||
}
|
||||
}
|
||||
if (IsXnuSilicon()) {
|
||||
return enosys();
|
||||
return enosys(); // can only happen if we can't access thread local storage
|
||||
} else {
|
||||
return sys_gettid();
|
||||
}
|
||||
|
|
|
@ -18,8 +18,8 @@ COSMOPOLITAN_C_START_
|
|||
*/
|
||||
#define rdtscp(OPT_OUT_IA32_TSC_AUX) \
|
||||
({ \
|
||||
uint64_t Rax, Rdx; \
|
||||
uint32_t Ecx, *EcxOut; \
|
||||
uint64_t Rax, Rcx, Rdx; \
|
||||
asm volatile("rdtscp" \
|
||||
: "=a"(Rax), "=c"(Ecx), "=d"(Rdx) \
|
||||
: /* no inputs */ \
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp API-MS-Win-Core-Synch-l1-2-0,__imp_WaitOnAddress,WaitOnAddress
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
WaitOnAddress:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp API-MS-Win-Core-Synch-l1-2-0,__imp_WakeByAddressAll,WakeByAddressAll
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
WakeByAddressAll:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp API-MS-Win-Core-Synch-l1-2-0,__imp_WakeByAddressSingle,WakeByAddressSingle
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
WakeByAddressSingle:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp PowrProf,__imp_SetSuspendState,SetSuspendState
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetSuspendState:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_AccessCheck,AccessCheck
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
AccessCheck:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_AdjustTokenPrivileges,AdjustTokenPrivileges
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
AdjustTokenPrivileges:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_CreateProcessAsUserW,CreateProcessAsUserW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateProcessAsUser:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_DeregisterEventSource,DeregisterEventSource
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
DeregisterEventSource:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_DuplicateToken,DuplicateToken
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
DuplicateToken:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_DuplicateTokenEx,DuplicateTokenEx
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
DuplicateTokenEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_GetFileSecurityW,GetFileSecurityW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetFileSecurity:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_GetUserNameW,GetUserNameW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetUserName:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_ImpersonateSelf,ImpersonateSelf
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ImpersonateSelf:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_InitiateShutdownW,InitiateShutdownW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
InitiateShutdown:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_LookupPrivilegeValueW,LookupPrivilegeValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
LookupPrivilegeValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_MapGenericMask,MapGenericMask
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
MapGenericMask:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_OpenProcessToken,OpenProcessToken
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
OpenProcessToken:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_OpenThreadToken,OpenThreadToken
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
OpenThreadToken:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegCloseKey,RegCloseKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegCloseKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegConnectRegistryW,RegConnectRegistryW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegConnectRegistry:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegCreateKeyExW,RegCreateKeyExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegCreateKeyEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegCreateKeyW,RegCreateKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegCreateKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDeleteKeyExW,RegDeleteKeyExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDeleteKeyEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDeleteKeyW,RegDeleteKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDeleteKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDeleteTreeW,RegDeleteTreeW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDeleteTree:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDeleteValueW,RegDeleteValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDeleteValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDisablePredefinedCache,RegDisablePredefinedCache
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDisablePredefinedCache:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegDisableReflectionKey,RegDisableReflectionKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegDisableReflectionKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegEnableReflectionKey,RegEnableReflectionKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegEnableReflectionKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegEnumKeyExW,RegEnumKeyExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegEnumKeyEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegEnumKeyW,RegEnumKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegEnumKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegEnumValueW,RegEnumValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegEnumValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegFlushKey,RegFlushKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegFlushKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegGetKeySecurity,RegGetKeySecurity
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegGetKeySecurity:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegGetValueW,RegGetValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegGetValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegLoadKeyW,RegLoadKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegLoadKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegNotifyChangeKeyValue,RegNotifyChangeKeyValue
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegNotifyChangeKeyValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegOpenCurrentUser,RegOpenCurrentUser
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegOpenCurrentUser:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegOpenKeyExW,RegOpenKeyExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegOpenKeyEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegOpenUserClassesRoot,RegOpenUserClassesRoot
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegOpenUserClassesRoot:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegOverridePredefKey,RegOverridePredefKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegOverridePredefKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegQueryInfoKeyW,RegQueryInfoKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegQueryInfoKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegQueryMultipleValuesW,RegQueryMultipleValuesW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegQueryMultipleValues:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegQueryReflectionKey,RegQueryReflectionKey
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegQueryReflectionKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegQueryValueExW,RegQueryValueExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegQueryValueEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegQueryValueW,RegQueryValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegQueryValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegReplaceKeyW,RegReplaceKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegReplaceKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegRestoreKeyW,RegRestoreKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegRestoreKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegSaveKeyW,RegSaveKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegSaveKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegSetKeySecurity,RegSetKeySecurity
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegSetKeySecurity:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegSetValueExW,RegSetValueExW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegSetValueEx:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegSetValueW,RegSetValueW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegSetValue:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegUnLoadKeyW,RegUnLoadKeyW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegUnLoadKey:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RegisterEventSourceW,RegisterEventSourceW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RegisterEventSource:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_ReportEventA,ReportEventA
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ReportEventA:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_ReportEventW,ReportEventW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ReportEvent:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_RevertToSelf,RevertToSelf
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RevertToSelf:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp advapi32,__imp_SystemFunction036,SystemFunction036
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RtlGenRandom:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_ChooseColorW,ChooseColorW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ChooseColor:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_ChooseFontW,ChooseFontW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ChooseFont:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_GetFileTitleW,GetFileTitleW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetFileTitle:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_GetOpenFileNameW,GetOpenFileNameW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetOpenFileName:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_GetSaveFileNameW,GetSaveFileNameW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetSaveFileName:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_PrintDlgW,PrintDlgW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
PrintDlg:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp comdlg32,__imp_ReplaceTextW,ReplaceTextW
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ReplaceText:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_BitBlt,BitBlt
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
BitBlt:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_ChoosePixelFormat,ChoosePixelFormat
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
ChoosePixelFormat:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_CreateBitmap,CreateBitmap
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateBitmap:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_CreateCompatibleBitmap,CreateCompatibleBitmap
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateCompatibleBitmap:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_CreateCompatibleDC,CreateCompatibleDC
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateCompatibleDC:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_CreateDIBSection,CreateDIBSection
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateDIBSection:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_CreateRectRgn,CreateRectRgn
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateRectRgn:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_DeleteDC,DeleteDC
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
DeleteDC:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_DeleteObject,DeleteObject
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
DeleteObject:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_GetPixel,GetPixel
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetPixel:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_RestoreDC,RestoreDC
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
RestoreDC:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SaveDC,SaveDC
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SaveDC:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SelectObject,SelectObject
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SelectObject:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetBkMode,SetBkMode
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetBkMode:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetPixel,SetPixel
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetPixel:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetPixelFormat,SetPixelFormat
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetPixelFormat:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetTextAlign,SetTextAlign
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetTextAlign:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetTextColor,SetTextColor
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetTextColor:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SetTextJustification,SetTextJustification
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SetTextJustification:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp gdi32,__imp_SwapBuffers,SwapBuffers
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
SwapBuffers:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_AddIPAddress,AddIPAddress
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
AddIPAddress:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_AllocateAndGetTcpExTableFromStack,AllocateAndGetTcpExTableFromStack
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
AllocateAndGetTcpExTableFromStack:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_AllocateAndGetUdpExTableFromStack,AllocateAndGetUdpExTableFromStack
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
AllocateAndGetUdpExTableFromStack:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_CancelIPChangeNotify,CancelIPChangeNotify
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CancelIPChangeNotify:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_CaptureInterfaceHardwareCrossTimestamp,CaptureInterfaceHardwareCrossTimestamp
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CaptureInterfaceHardwareCrossTimestamp:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_CreateIpForwardEntry,CreateIpForwardEntry
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
CreateIpForwardEntry:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_FlushIpNetTable,FlushIpNetTable
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
FlushIpNetTable:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_GetAdapterIndex,GetAdapterIndex
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetAdapterIndex:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
.imp iphlpapi,__imp_GetAdapterOrderMap,GetAdapterOrderMap
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
.ftrace1
|
||||
GetAdapterOrderMap:
|
||||
.ftrace2
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue