• R
    [wasm] Emscripten 3.1.1 bump (#63894) · d8f85275
    Radek Doulik 提交于
    * Initial changes for emscripten 2.0.34
    
    * Use emcc-link.rsp in build targets
    
    * Use updated docker images
    
    * Fix compiler warnings
    Co-authored-by: NZoltan Varga <vargaz@gmail.com>
    
    * Put `--profiling-funcs` to `_EmccLinkFlags`
    
    * Fix build
    
        src/mono/mono/mini/mini-runtime.c:3407:25: error: ‘invoke’ undeclared (first use in this function); did you mean ‘revoke’?
           3407 |                         invoke = mono_marshal_get_runtime_invoke_dynamic ();
    
    * Add shell to the environment
    
    Environment setting https://github.com/emscripten-core/emscripten/blob/2.0.34/src/settings.js#L616-L641
    
    From emscripten 2.0.25 release notes
    
        - Support for the 'shell' environment is now disabled by default.  Running under
          `d8`, `js`, or `jsc` is not something that most emscripten users ever want to
          do, so including the support code is, more often than not, unnecessary.  Users
          who want shell support can enable it by including 'shell' in `-s ENVIRONMENT`
          (#14535).
    
    Example of the the size increase for bench sample:
    
        -a---          12/10/2021  3:35 PM         382113 dotnet.js
        -a---          12/13/2021 10:37 AM         383589 dotnet.js
    
    * Add emcc-link.rsp to PlatformManifestFileEntry
    
    * Feedback
    
    https://github.com/emscripten-core/emscripten/blob/2fda25eea756c78c8cb024aa5b6c2b188bf7990f/src/settings.js#L1173-L1176
    
    -s EXPORT_ES6 is link option
    
    * Bump emscripten version
    
    * Bump llvm package version and use its libclang
    
    * Use newer docker images with emscripten 3.1.1
    
    * Remove unused variable
    
    * Add note about icu repo
    
    * Add comment to improve code readability
    
    * Bump the ICU and emsdk versions
    
    * disable non-wasm builds
    
    * disable wasm jobs in runtime, and runtime-staging, as we'll be running runtime-wasm manually
    
    * [wasm] Re-enable tests that were disabled due to the earlier emsdk bump
    
    System.Linq.Tests.csproj: https://github.com/dotnet/runtime/issues/64774
    
    System.Text.Json.Tests.csproj: https://github.com/dotnet/runtime/issues/64775
    
    System.Text.RegularExpressions.Tests.csproj: https://github.com/dotnet/runtime/issues/64769
    
    System.Threading.Channels.Tests.csproj: https://github.com/dotnet/runtime/issues/65012
    
    System.Collections.Immutable.Tests.csproj: https://github.com/dotnet/runtime/issues/65335
    
    * [wasm] Disable nodejs tests
    
    They are still unstable, and fail with:
    
    ```
    [01:27:29] fail: /datadisks/disk1/work/A3DA08F7/w/B1B30976/e/test-main.js:97
    [01:27:29] fail: if (typeof globalThis.crypto === 'undefined') {
    [01:27:29] fail: ^
    [01:27:29] fail:
    [01:27:29] fail: ReferenceError: globalThis is not defined
    [01:27:29] fail:     at Object.<anonymous> (/datadisks/disk1/work/A3DA08F7/w/B1B30976/e/test-main.js:97:1)
    [01:27:29] fail:     at Module._compile (internal/modules/cjs/loader.js:778:30)
    [01:27:29] fail:     at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    [01:27:29] fail:     at Module.load (internal/modules/cjs/loader.js:653:32)
    [01:27:29] fail:     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    [01:27:29] fail:     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    [01:27:29] fail:     at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    [01:27:29] fail:     at startup (internal/bootstrap/node.js:283:19)
    [01:27:29] fail:     at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
    ```
    
    Issue: https://github.com/dotnet/runtime/issues/65485
    
    * fix wbt build
    
    * Update path to node in helix commands.
    
    * disable non-wasm builds
    
    * [wasm] Make emscripten version mismatch an error on CI
    
    * Bump emscripten packages used to preview3, which has emsdk 3.1.1
    
    * Update emscripten package version in Versions.props tooo
    
    * Re-enable wasm jobs
    
    * enable non-wasm jobs
    
    * Add more missing exports
    
    * __dl_seterr shouldn't be needed
    
    * Fix MicrosoftNETCoreRuntimeICUTransportVersion
    
    * Put back the 3.1.1 docker images after merge
    
    * Revert "fix wbt build"
    
    This reverts commit f7c77d995e36130118dd9d98c2c66809aaf42fe2.
    
    * Revert "[wasm] Disable nodejs tests"
    
    This reverts commit 7b90965638b7e90bf4d35c69696f2f361a04ef20.
    
    * Use newer ICU package, last that still had 3.1.1
    
    * Try different helix queue parameter
    
    * Revert "Try different helix queue parameter"
    
    This reverts commit a34230f7fe04760df30c5e63e14826575f1a7545.
    
    * Fix helix queue with docker tag
    
    * Try to set PYTHONPATH for emscripten
    
    * [wasm] Do not set _WasmDevel=true for blazor projects
    
    * Increase timeout
    
    The AOT tests are canceled after timeout
    
    * Fix WBT tests
    Co-authored-by: NAnkit Jain <radical@gmail.com>
    
    * [wasm] Export more functions
    
    `htons,ntohs,_get_daylight,_get_timezone,_get_tzname`
    
    .. to fix:
    
    ```
    EXEC : warning : undefined symbol: htons (referenced by $inetPton6__deps: ['htons','$jstoi_q'], referenced by $writeSockaddr__deps: ['$Sockets','$inetPton4','$inetPton6','$zeroMemory'], referenced by __syscall_accept4__deps: ['$getSocketFromFD','$writeSockaddr','$DNS','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
    EXEC : warning : undefined symbol: ntohs (referenced by $inetNtop6__deps: ['$inetNtop4','ntohs'], referenced by $readSockaddr__deps: ['$Sockets','$inetNtop4','$inetNtop6','ntohs'], referenced by $getSocketAddress__deps: ['$readSockaddr','$FS','$DNS'], referenced by __syscall_bind__deps: ['$getSocketFromFD','$getSocketAddress','$SYSCALLS'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
    EXEC : warning : undefined symbol: _get_daylight (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
    EXEC : warning : undefined symbol: _get_timezone (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
    EXEC : warning : undefined symbol: _get_tzname (referenced by tzset_impl__deps: ['_get_daylight','_get_timezone','_get_tzname'], referenced by tzset__deps: ['tzset_impl'], referenced by localtime_r__deps: ['tzset'], referenced by top-level compiled C/C++ code) [C:\helix\work\workitem\e\publish\ProxyProjectForAOTOnHelix.proj]
    ```
    
    ```
    Starting:    Microsoft.Extensions.Logging.Tests.dll
    Message1
    :
    testKey3:testValue, testKey2:, testKey1:
    missing function: ntohs
    Error
        at Object.onAbort (test-main.js:176:60)
        at abort (./dotnet.js:1316:24)
        at _ntohs (./dotnet.js:4990:35)
        at readSockaddr (./dotnet.js:5091:18)
        ...
    ```
    
    * fix exported function names
    Co-authored-by: NRadek Doulik <radekdoulik@google.com>
    Co-authored-by: NZoltan Varga <vargaz@gmail.com>
    Co-authored-by: NLarry Ewing <lewing@microsoft.com>
    Co-authored-by: NAnkit Jain <radical@gmail.com>
    Co-authored-by: NMarek Fišera <mara@neptuo.com>
    d8f85275
Versions.props 15.4 KB