diff --git a/scripts/build.uv.sh b/scripts/build.uv.sh index 42590497..6f4c9796 100755 --- a/scripts/build.uv.sh +++ b/scripts/build.uv.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -UV_VERSION="1.38.0" +UV_VERSION="1.38.1" mkdir -p deps mkdir -p deps/include diff --git a/src/crypto/randomx/randomx.cpp b/src/crypto/randomx/randomx.cpp index 765c7fb2..5bfd9e78 100644 --- a/src/crypto/randomx/randomx.cpp +++ b/src/crypto/randomx/randomx.cpp @@ -165,18 +165,18 @@ RandomX_ConfigurationBase::RandomX_ConfigurationBase() fillAes4Rx4_Key[6] = rx_set_int_vec_i128(0xf63befa7, 0x2ba9660a, 0xf765a38b, 0xf273c9e7); fillAes4Rx4_Key[7] = rx_set_int_vec_i128(0xc0b0762d, 0x0c06d1fd, 0x915839de, 0x7a7cd609); +# if defined(_M_X64) || defined(__x86_64__) // Workaround for Visual Studio placing trampoline in debug builds. auto addr = [](void (*func)()) { const uint8_t* p = reinterpret_cast(func); -# if defined(_MSC_VER) +# if defined(_MSC_VER) if (p[0] == 0xE9) { p += *(const int32_t*)(p + 1) + 5; } -# endif +# endif return p; }; -#if defined(_M_X64) || defined(__x86_64__) { const uint8_t* a = addr(randomx_sshash_prefetch); const uint8_t* b = addr(randomx_sshash_end); @@ -204,7 +204,7 @@ RandomX_ConfigurationBase::RandomX_ConfigurationBase() const uint8_t* b = addr(randomx_prefetch_scratchpad_end); memcpy(codePrefetchScratchpadTweaked, a, b - a); } -#endif +# endif } static uint32_t Log2(size_t value) { return (value > 1) ? (Log2(value / 2) + 1) : 0; }