Fixes for Visual Studio

This commit is contained in:
SChernykh 2019-01-14 16:38:28 +01:00
parent 8b9d5cff91
commit 56cacbd5bc
5 changed files with 70 additions and 17 deletions

View file

@ -57,10 +57,15 @@ xmrig::CpuThread::CpuThread(size_t index, Algo algorithm, AlgoVariant av, Multiw
#ifndef XMRIG_NO_ASM
template<typename T, typename U>
static void patchCode(T& dst, U src, const uint32_t iterations, const uint32_t mask)
static void patchCode(T dst, U src, const uint32_t iterations, const uint32_t mask)
{
const uint8_t* p = reinterpret_cast<const uint8_t*>(src);
// Workaround for Visual Studio placing trampoline in debug builds
if (p[0] == 0xE9) {
p += *(int32_t*)(p + 1) + 5;
}
size_t size = 0;
while (*(uint32_t*)(p + size) != 0x90909090) {
++size;