diff options
Diffstat (limited to 'src/include')
| -rw-r--r-- | src/include/dynablock.h | 3 | ||||
| -rw-r--r-- | src/include/os.h | 11 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/include/dynablock.h b/src/include/dynablock.h index b9aeddc0..551a223e 100644 --- a/src/include/dynablock.h +++ b/src/include/dynablock.h @@ -24,4 +24,7 @@ void cancelFillBlock(void); // clear instruction cache on a range void ClearCache(void* start, size_t len); +uintptr_t getX64Address(dynablock_t* db, uintptr_t native_addr); +int getX64AddressInst(dynablock_t* db, uintptr_t x64pc); + #endif //__DYNABLOCK_H_ \ No newline at end of file diff --git a/src/include/os.h b/src/include/os.h index f6e7371d..d4566305 100644 --- a/src/include/os.h +++ b/src/include/os.h @@ -9,7 +9,6 @@ #include <sys/mman.h> #else typedef __int64 ssize_t; - #define dlsym(a, b) NULL #define PROT_READ 0x1 @@ -49,6 +48,8 @@ void EmuInt3(void* emu, void* addr); void* EmuFork(void* emu, int forktype); void PersonalityAddrLimit32Bit(void); + +int IsAddrElfOrFileMapped(uintptr_t addr); // ---------------------------------------------------------------- #ifndef _WIN32 @@ -81,4 +82,12 @@ void PersonalityAddrLimit32Bit(void); #define PROT_WRITE 0x2 #define PROT_EXEC 0x4 +#if defined(__clang__) && !defined(_WIN32) +extern int isinff(float); +extern int isnanf(float); +#elif defined(_WIN32) +#define isnanf _isnanf +#define isinff isinf +#endif + #endif //__OS_H_ |