msvc x64 build fix
This commit is contained in:
parent
daac6de533
commit
588d79641a
|
@ -46,8 +46,15 @@ namespace hostfs
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
|
#ifdef __MINGW64__
|
||||||
struct _RUNTIME_FUNCTION;
|
struct _RUNTIME_FUNCTION;
|
||||||
|
typedef struct _RUNTIME_FUNCTION RUNTIME_FUNCTION;
|
||||||
|
#else
|
||||||
|
struct _IMAGE_RUNTIME_FUNCTION_ENTRY;
|
||||||
|
typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
class UnwindInfo
|
class UnwindInfo
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -63,7 +70,7 @@ public:
|
||||||
private:
|
private:
|
||||||
u8 *startAddr;
|
u8 *startAddr;
|
||||||
#ifdef _WIN64
|
#ifdef _WIN64
|
||||||
std::vector<_RUNTIME_FUNCTION *> tables;
|
std::vector<RUNTIME_FUNCTION *> tables;
|
||||||
std::vector<u16> codes;
|
std::vector<u16> codes;
|
||||||
#endif
|
#endif
|
||||||
#if defined(__unix__) || defined(__APPLE__)
|
#if defined(__unix__) || defined(__APPLE__)
|
||||||
|
|
|
@ -65,7 +65,7 @@ void UnwindInfo::endProlog(u32 offset)
|
||||||
codes.push_back(0);
|
codes.push_back(0);
|
||||||
std::reverse(codes.begin(), codes.end());
|
std::reverse(codes.begin(), codes.end());
|
||||||
codes[0] = 1 | (offset << 8);
|
codes[0] = 1 | (offset << 8);
|
||||||
codes[1] = codes.size() - 2;
|
codes[1] = (u8)codes.size() - 2;
|
||||||
if (codes.size() & 1)
|
if (codes.size() & 1)
|
||||||
codes.push_back(0);
|
codes.push_back(0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue