RESOLVED INVALID 114438
Compile assert failure for JITStackFrame assembly trampoline
https://bugs.webkit.org/show_bug.cgi?id=114438
Summary Compile assert failure for JITStackFrame assembly trampoline
Jonathan Liu
Reported 2013-04-11 06:33:08 PDT
Building QtWebKit in Qt 5.1 (qt5 stable branch): ..\WTF/wtf/Assertions.h:328:74: error: size of array 'dummyJITStackFrame_callFrame_offset_matches_ctiTrampoline' is negative #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ jit\JITStubs.cpp:371:1: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_callFrame_offset_matches_ctiTrampoline); ^ ..\WTF/wtf/Assertions.h:328:74: error: size of array 'dummyJITStackFrame_code_offset_matches_ctiTrampoline' is negative #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ jit\JITStubs.cpp:372:1: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline); ^ ..\WTF/wtf/Assertions.h:328:74: error: size of array 'dummyJITStackFrame_stub_argument_space_matches_ctiTrampoline' is negative #define COMPILE_ASSERT(exp, name) typedef int dummy##name [(exp) ? 1 : -1] ^ jit\JITStubs.cpp:373:1: note: in expansion of macro 'COMPILE_ASSERT' COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline); ^ Compiler: MinGW-w64 GCC 4.8.0 64-bit POSIX Threading, SEH Exception Handling (MinGW-builds)
Attachments
Patch (1.26 KB, patch)
2013-04-14 02:51 PDT, Jonathan Liu
no flags
Jonathan Liu
Comment 1 2013-04-14 02:51:51 PDT
Allan Sandfeld Jensen
Comment 2 2013-04-14 05:09:40 PDT
Have you tried changing line 367 in JITStubs.cpp: from:#if COMPILER(GCC) && CPU(X86_64) to:#if COMPILER(GCC) && CPU(X86_64) && !OS(WINDOWS) and below from:#elif COMPILER(MSVC) && CPU(X86_64) to:#elif OS(WINDOWS) && CPU(X86_64) Calling convensions should be the same. The ifdefs just seems to assume GCC means SysV calling convension and MSVC is needed for windows.
Jonathan Liu
Comment 3 2013-04-14 06:54:48 PDT
This will be fixed by implementing JIT for MinGW-w64 64-bit - https://bugs.webkit.org/show_bug.cgi?id=114580
Mark Hahnenberg
Comment 4 2013-11-04 10:37:43 PST
Comment on attachment 197981 [details] Patch Clearing review flag since it's been resolved.
Note You need to log in before you can comment on or make changes to this bug.