WebKit build fails on Windows 32-bit and Linux 32-bit after JDK-8367578

XMLWordPrintable

    • web
    • b15

        JDK-8367578, which pulled in additional WebKit 622.1 fixes from WebKitGTK 2.48.7, fails to build on 32-bit Windows and Linux. The 64-bit builds are fine, which is why we didn't discover it prior to integration.

        ======================================================================================================================

        Linux build failure
        -------------------

        [ 20%] Building CXX object Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp: In static member function 'static JSC::JSValue JSC::LLInt::CLoop::execute(JSC::OpcodeID, void*, JSC::VM*, JSC::ProtoCallFrame*, bool)':
        jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location' used but not defined
          989 | macro(op_instanceof_return_location, 0) \
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:264:58: note: in definition of macro 'OPCODE_ENTRY'
          264 | opcodeMap[__opcode] = std::bit_cast<void*>(&&__opcode); \
              | ^~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
          282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location_wide16' used but not defined
          989 | macro(op_instanceof_return_location, 0) \
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:265:64: note: in definition of macro 'OPCODE_ENTRY'
          265 | opcodeMapWide16[__opcode] = std::bit_cast<void*>(&&__opcode##_wide16); \
              | ^~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
          282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        jfx/modules/web/build/linux/JavaScriptCore/DerivedSources/Bytecodes.h:989:11: error: label 'op_instanceof_return_location_wide32' used but not defined
          989 | macro(op_instanceof_return_location, 0) \
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:266:64: note: in definition of macro 'OPCODE_ENTRY'
          266 | opcodeMapWide32[__opcode] = std::bit_cast<void*>(&&__opcode##_wide32);
              | ^~~~~~~~
        jfx/modules/web/src/main/native/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp:282:9: note: in expansion of macro 'FOR_EACH_BYTECODE_HELPER_ID'
          282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
              | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
        gmake[2]: *** [Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/build.make:112: Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/llint/LowLevelInterpreter.cpp.o] Error 1
        gmake[1]: *** [CMakeFiles/Makefile2:558: Source/JavaScriptCore/CMakeFiles/LowLevelInterpreterLib.dir/all] Error 2
        gmake: *** [Makefile:111: all] Error 2

        > Task :web:compileNativeLinux FAILED

        ======================================================================================================================

        Windows build failure
        ---------------------

        On Windows, we get several warnings of the following type:

        jfx\modules\web\src\main\native\Source\JavaScriptCore\runtime\MathCommon.h(387,1): warning: 'sysv_abi' calling convention is not supported for this target [-Wignored-attributes]
          387 | JSC_DECLARE_NOEXCEPT_JIT_OPERATION(i32_div_u, uint32_t, (uint32_t, uint32_t));
              | ^
        jfx\modules\web\src\main\native\Source\JavaScriptCore\jit\OperationResult.h(287,82): note: expanded from macro 'JSC_DECLARE_NOEXCEPT_JIT_OPERATION'
          287 | #define JSC_DECLARE_NOEXCEPT_JIT_OPERATION(functionName, returnType, parameters) JSC_DECLARE_JIT_OPERATION_IMPL(functionName, returnType, parameters)
              | ^
        jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(135,5): note: expanded from macro 'JSC_DECLARE_JIT_OPERATION_IMPL'
          135 | JSC_DECLARE_JIT_OPERATION_WITH_ATTRIBUTES_IMPL(functionName, , returnType, parameters)
              | ^
        jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(131,38): note: expanded from macro 'JSC_DECLARE_JIT_OPERATION_WITH_ATTRIBUTES_IMPL'
          131 | extern "C" attributes returnType JIT_OPERATION_ATTRIBUTES functionName parameters REFERENCED_FROM_ASM WTF_INTERNAL; \
              | ^
        jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(84,34): note: expanded from macro 'JIT_OPERATION_ATTRIBUTES'
           84 | #define JIT_OPERATION_ATTRIBUTES SYSV_ABI
              | ^
        jfx\modules\web\build\win\WTF\Headers\wtf/PlatformCallingConventions.h(37,33): note: expanded from macro 'SYSV_ABI'
           37 | #define SYSV_ABI __attribute__((sysv_abi))
              | ^

        And then failures:

        jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,9): error: use of undeclared label 'op_instanceof_return_location'
          282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
              | ^
        jfx\modules\web\build\win\JavaScriptCore\DerivedSources\Bytecodes.h(989,11): note: expanded from macro 'FOR_EACH_BYTECODE_HELPER_ID'
          989 | macro(op_instanceof_return_location, 0) \
              | ^
        jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,37): error: use of undeclared label 'op_instanceof_return_location_wide16'
          282 | FOR_EACH_BYTECODE_HELPER_ID(OPCODE_ENTRY)
              | ^
        jfx\modules\web\src\main\native\Source\JavaScriptCore\llint\LowLevelInterpreter.cpp(282,37): error: use of undeclared label 'op_instanceof_return_location_wide32'
        316 warnings and 3 errors generated.
        ninja: build stopped: subcommand failed.

        > Task :web:compileNativeWin FAILED

              Assignee:
              Jay Bhaskar
              Reporter:
              Kevin Rushforth
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: