diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/elfloader.h | 2 | ||||
| -rw-r--r-- | src/include/freq.h | 2 | ||||
| -rw-r--r-- | src/include/os.h | 6 | ||||
| -rw-r--r-- | src/include/x64emu.h | 5 | ||||
| -rw-r--r-- | src/include/x64tls.h | 3 |
5 files changed, 14 insertions, 4 deletions
diff --git a/src/include/elfloader.h b/src/include/elfloader.h index 4184788f..56a0571e 100644 --- a/src/include/elfloader.h +++ b/src/include/elfloader.h @@ -99,4 +99,6 @@ void AddMainElfToLinkmap(elfheader_t* lib); void PltResolver32(x64emu_t* emu); void PltResolver64(x64emu_t* emu); +const char* getAddrFunctionName(uintptr_t addr); + #endif //__ELF_LOADER_H_ diff --git a/src/include/freq.h b/src/include/freq.h index 2f3a2427..fe94bef9 100644 --- a/src/include/freq.h +++ b/src/include/freq.h @@ -1,6 +1,8 @@ #ifndef __FREQ_H_ #define __FREQ_H_ +#include <stdint.h> + typedef struct x64emu_s x64emu_t; uint64_t ReadTSC(x64emu_t* emu); diff --git a/src/include/os.h b/src/include/os.h index d4566305..1257cc48 100644 --- a/src/include/os.h +++ b/src/include/os.h @@ -41,6 +41,9 @@ int SchedYield(void); void EmuX64Syscall(void* emu); void EmuX86Syscall(void* emu); +void* GetSeg43Base(); +void* GetSegmentBase(uint32_t desc); + // These functions only applies to Linux -------------------------- int IsBridgeSignature(char s, char c); int IsNativeCall(uintptr_t addr, int is32bits, uintptr_t* calladdress, uint16_t* retn); @@ -50,6 +53,7 @@ void* EmuFork(void* emu, int forktype); void PersonalityAddrLimit32Bit(void); int IsAddrElfOrFileMapped(uintptr_t addr); +const char* GetNativeName(void* p); // ---------------------------------------------------------------- #ifndef _WIN32 @@ -86,7 +90,7 @@ int IsAddrElfOrFileMapped(uintptr_t addr); extern int isinff(float); extern int isnanf(float); #elif defined(_WIN32) -#define isnanf _isnanf +#define isnanf isnan #define isinff isinf #endif diff --git a/src/include/x64emu.h b/src/include/x64emu.h index d4311c77..ab60a57c 100644 --- a/src/include/x64emu.h +++ b/src/include/x64emu.h @@ -1,6 +1,8 @@ #ifndef __X86EMU_H_ #define __X86EMU_H_ +#include <stdint.h> + typedef struct x64emu_s x64emu_t; typedef struct box64context_s box64context_t; typedef struct elfheader_s elfheader_t; @@ -27,6 +29,7 @@ long double LD2localLD(void* ld); // long double (80bits pointer) -> long void LD2D(void* ld, void* d); // long double (80bits) -> double (64bits) void D2LD(void* d, void* ld); // double (64bits) -> long double (64bits) -const char* getAddrFunctionName(uintptr_t addr); +uintptr_t GetSegmentBaseEmu(x64emu_t* emu, int seg); +void UpdateFlags(x64emu_t* emu); #endif //__X86EMU_H_ diff --git a/src/include/x64tls.h b/src/include/x64tls.h index 66f0d9eb..e8eefd31 100644 --- a/src/include/x64tls.h +++ b/src/include/x64tls.h @@ -7,8 +7,7 @@ typedef struct thread_area_32_s thread_area_32_t; uint32_t my_set_thread_area_32(x64emu_t* emu, thread_area_32_t* td); uint32_t my_modify_ldt(x64emu_t* emu, int op, thread_area_t* td, int size); -tlsdatasize_t* getTLSData(box64context_t *context); -void* GetSegmentBase(uint32_t desc); +tlsdatasize_t* getTLSData(box64context_t* context); int my_arch_prctl(x64emu_t *emu, int code, void* addr); |