Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-73657

wasm: building with emscripten 1.38.26 results in errors

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • None
    • 5.12.1
    • QPA
    • None

    Description

      emscripten 1.38.26 removed 'fake' sse/simd support, which removed x86intrin.h file

      https://github.com/emscripten-core/emscripten/pull/7924/commits/a0deb93580bded32549daacd9c4a0835b7a1aaca

       

      Fixing the build by this patch:

      diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
      index c36e1e484f..9ec1f5c884 100644
      — a/src/corelib/tools/qsimd_p.h
      +++ b/src/corelib/tools/qsimd_p.h
      @@ -191,7 +191,7 @@

      1. include <immintrin.h>
      2. endif
        1. if defined(Q_CC_GNU) && !defined(Q_CC_INTEL)
          +# if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && !defined(Q_OS_WASM)
          // GCC 4.4 and Clang 2.8 added a few more intrinsics there
      1. include <x86intrin.h>
      2. endif

       

      results in an error where the qt app does not load, and shows:

      Application exit(random_device)

       

      But using a default shell html shell_minimal.html

      QMAKE_LFLAGS += --shell-file ~/emsdk/emscripten/1.38.26/src/shell_minimal.html

       

      Loads the app correctly.

       

      So there are two issues:

      1. qsimd_p.h
      2. emscriptens library_fs.js

      Attachments

        For Gerrit Dashboard: QTBUG-73657
        # Subject Branch Project Status CR V

        Activity

          People

            lpotter Lorn Potter
            lpotter Lorn Potter
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes