summaryrefslogtreecommitdiff
path: root/.github/workflows
Commit message (Collapse)AuthorAgeFilesLines
* CI: Use latest macOS images (#2517)Soni L.2024-12-051-2/+2
| | | | | | macos-12 is no longer available, this changes it to macos-13 (latest available x64 macos) macos-14 is changed to macos-latest (arm64)
* wasm2c: Use wrappers for function references (#2465)Soni L.2024-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang 17(?) tightened UBSAN checks, so that you now get this: ``` - test/wasm2c/spec/call_indirect.txt expected error code 0, got 1. STDERR MISMATCH: --- expected +++ actual @@ -0,0 +1,3 @@ +out/test/wasm2c/spec/call_indirect/call_indirect.0.c:2144:12: runtime error: call to function w2c_call__indirect__0__wasm_f0 through pointer to incorrect function type 'unsigned int (*)(void *)' +/home/runner/work/wabt/wabt/out/test/wasm2c/spec/call_indirect/call_indirect.0.c:1925: note: w2c_call__indirect__0__wasm_f0 defined here +SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior out/test/wasm2c/spec/call_indirect/call_indirect.0.c:2144:12 STDOUT MISMATCH: --- expected +++ actual @@ -1 +0,0 @@ -134/134 tests passed. ``` This happens because emitted functions use a typed module instance, while function references use a `void*` instance. It is UB in C to call the former with the latter, so clang is correct here. We had to pick one of two ways to fix this: either emit `void*` wrapper functions that do the appropriate downcasting for any module functions that go into a table (potentially including imported functions), or the approach that takes significantly less effort of changing everything to `void*` and downcasting internally. ~~We obviously chose the latter.~~ We eventually started emitting wrapper functions.
* wasm2c: Add segue option to make exclusive use of the segment registerShravan Narayan2024-09-181-1/+1
|
* Fix OpenSSL dependency in CMake (#2447)Steven Johnson2024-07-311-3/+28
|
* wasm2c: Segue optimization for modules with a single unshared memory (#2395)Shravan Narayan2024-06-261-1/+2
|
* Align release workflow with CI, for Apple Silicon (#2415)Soni L2024-05-081-3/+3
|
* Add macOS arm64 support and CI testing (#2406)Soni L2024-03-261-3/+3
|
* wasm2c: Fix periodic ASLR related crashes in sanitizer buildsShravan Narayan2024-03-181-0/+4
|
* [ci] Add s390x workflow (#2380)Soni L2024-02-121-0/+47
|
* Fix emscripten build warning and add missing export (#2367)Changqing Jing2024-01-191-2/+3
|
* wasm2c: Add macro and tests to allow disabling stack exhaustion checksShravan Narayan2024-01-021-3/+3
|
* wasm2c: Cleanup/separate code for heap and stack signal handlersShravan Narayan2023-12-141-2/+3
|
* Build ubuntu release assets on ubuntu 20.04 (#2352)YAMAMOTO Takashi2023-12-121-2/+2
| | | | | binaries built on 22.04 require glibc 2.34 and thus are incompatible with 20.04, which is still supported.
* wasm2c runtime: fix mis-nesting of def'n of os_has_altstack_installed (#2346)Keith Winstein2023-12-051-0/+16
| | | | | Also adds an RLBox-like CI test where the embedder takes responsibility for signal handling Co-authored-by: wrv <wrv@utexas.edu>
* Fix CI from upgraded cmake version on GitHub Ubuntu runner (#2273)Keith Winstein2023-07-301-1/+1
|
* Add build and publishing of wabt tools with wasi (#2254)Anuraag Agrawal2023-06-122-25/+33
|
* wasm2c: Separate the macros for allocation and bounds checks strategiesShravan Narayan2023-04-121-1/+1
|
* wasm2c: Checkin prebuilt source code in source folder, add lint checks to ↵Shravan Narayan2023-04-111-0/+2
| | | | ensure these are up to date
* build.yml: use ubuntu-latest for all Linux runners (#2185)Raphael Amorim2023-03-281-4/+2
|
* CI: add CIFuzz action (#2073)DavidKorczynski2023-03-071-0/+22
| | | Signed-off-by: David Korczynski <david@adalogics.com>
* Fix for BUILD_FUZZ_TOOLS=ON (#2154)Sam Clegg2023-03-021-2/+4
| | | Fixes: #2153
* wasm2c: add SIMD support (#2119)Willy R. Vasquez2023-01-291-1/+2
| | | This change incorporates [simd-everywhere](https://github.com/simd-everywhere/simde) into the wasm2c output, which maps wasm SIMD C intrinsics to any supported target architecture.
* Speed up tests by matrixing asan/ubsan x debug/release (#2081)Keith Winstein2023-01-271-28/+9
| | | Will shorten the critical path after wasm2c is running SIMD tests
* Make wasm2c output UBSAN-clean (and run w2c CI w/ UBSAN) (#2080)Keith Winstein2023-01-281-1/+1
| | | | | | We had been running the GitHub UBSAN wasm2c tests with -fsanitize=undefined but without -fno-sanitize-recover, meaning some of the spec tests were printing UBSAN error messages but still returning 0, so we weren't seeing the test failures.
* build.yml: check wasm2c running with software memchecks (#2095)Keith Winstein2022-12-021-0/+18
|
* wasm2c CI: run asan and ubsan tests on clang 14 (#2078)Keith Winstein2022-11-281-2/+4
|
* Fix WITH_WASI build (#2017)Sam Clegg2022-10-061-1/+1
| | | | | Also, make sure we test this configuration. Fixes: #2016
* Create CMake package for wabt (#1980)Alex Reinking2022-09-081-1/+1
| | | | | | | | | | | Allows users to install wabt to a local directory and use find_package to load the wabt and wasm-rt-impl libraries into their build. These users, as well as FetchContent users, may link to these libraries using, for example: find_package(wabt REQUIRED) target_link_libraries(myApp PRIVATE wabt::wabt) Note the wabt:: namespace.
* Raise minimum CMake version to 3.16 (#1968)Alex Reinking2022-08-261-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stated minimum, 3.1, was released on Dec 17, 2014 and did not support a value of 17 for CMAKE_CXX_STANDARD. The first version to do so was 3.8. In fact, attempting to build with CMake 3.7 fails with errors like: CMake Error in CMakeLists.txt: Target "wasm-strip" requires the language dialect "CXX17" , but CMake does not know the compile flags to use to enable it. So we might as well take this chance to raise the minimum to something more recent. I propose 3.16 here because of the following features: * CMP0077 (v3.13) makes the lives of FetchContent users easier by allowing option() to be overridden. * CMP0082 (v3.14) corrects the semantics of install() rules, which is relevant for FetchContent users. * CMake 3.12 allows the namelink of a shared library on Linux to be installed separately (i.e. in a dev package) * CMake 3.14 integrates the standard install destination variables from GNUInstallDirs with the install() command. * CMake 3.15 introduced the CMAKE_MSVC_RUNTIME_LIBRARY variable for controlling the selection of the runtime library from the outside. * CMake 3.16 gained support for generator expressions in RPATH properties, which will make it easier to ship shared libraries. This version is quite conservative and I would even suggest upgrading further. Windows and macOS users enjoy frequent updates from Homebrew and Microsoft Visual Studio. Ubuntu Linux 20.04 LTS ships 3.16 and the newest LTS ships 3.22. Linux users can always install the latest version through PIP, even on ARM, PowerPC, and s390x, and even without sudo. Fixes #1568
* CI: Move emscripten to official Docker image (emsdk:latest) (#1964)Keith Winstein2022-08-161-1/+1
| | | The trzeci/emscripten images are described as deprecated.
* wasm2c: run tests with -O2 on non-Windows (#1939)Keith Winstein2022-07-112-4/+4
| | | | | | | | | Enable optimization when compiling the wasm2c output on non-Windows platforms (effectively GCC and clang). This required: - Preventing load instructions from being optimized away if their value is unused (using inline assembly with an input operand and empty code). This is necessary to force an OOB trap on platforms that use mprotect and the signal handler to detect OOB. - Disabling tail-call optimization in the compiler, to make sure that infinite recursion traps. (This required bumping the version of macOS in GitHub Actions to get a new-enough AppleClang. We should revert this back to 'macos-latest' as soon as that becomes the default.) - Using NaN-quieting versions of a bunch of FP ops that were previously only used on Windows, and adding floor/ceil and promotion/demotion. - Using the '-frounding-math' and '-fsignaling-nans' compiler flags to tell GCC and clang not to fold certain FP ops (e.g. subtracting zero, multiplying by 1). Fixes #1925.
* Build and run wasm2c-generated code under sanitizers in CI. NFC (#1856)Sam Clegg2022-03-081-0/+2
| | | Split out from #1843
* Fix location in config.h in source list (#1807)Sam Clegg2022-03-061-2/+2
| | | | | The wrong name here was causing a cmake warning because it was finding `config.h.in` instead and this behaviour is deprecated.
* Fix lint CI on push (#1839)Soni L2022-02-231-0/+2
|
* Fix CI on main branch (#1838)Soni L2022-02-231-1/+1
|
* Update github action used to publish releases. NFC (#1804)Sam Clegg2022-01-122-24/+22
| | | | | | It seems that the action we were using is not longer working: https://github.com/actions/upload-release-asset See https://github.com/WebAssembly/binaryen/pull/4148
* Add clang-format check to CI (#1683)Heejin Ahn2021-08-051-1/+4
| | | | | | | | | | This adds clang-format check to the CI. This only checks the diff so it doesn't affect the other parts of the codebase. Also generated files in src/prebuilt/ directories are excluded from the check. A new src/prebuilt/.clang-format is added to disable the check in the directory. scripts/clang-format-diff.sh is copied from the same file we are using in Binaryen.
* CI: add github action to build source release tarball (#1615)rofl0r2021-03-021-0/+55
| | | | | | closes #1315 result can be seen here https://github.com/rofl0r/wabt/releases/tag/9.9.99d
* Enable -Werror during CI (#1522)Sam Clegg2020-08-181-2/+2
| | | | Fixes: #1249
* Add install prefix for build releases [skip ci]Ben Smith2020-06-171-1/+1
|
* Fix typo in build_release.ymlBen Smith2020-06-111-1/+1
|
* Update and pin emscipten image used in CI (#1437)Sam Clegg2020-05-211-3/+4
|
* Complete conversion to github actions (#1431)Sam Clegg2020-05-182-3/+155
|
* Move flake8 CI from travis to github actions (#1419)Sam Clegg2020-05-111-0/+11
|
* actions: Avoid triggering both branch and pr builds (#1329)Sam Clegg2020-02-061-1/+7
| | | This adds some more nuanced triggering for github actions.
* Remove support for python2 (#1321)Sam Clegg2020-01-311-7/+1
|
* Initial WASM C API implementation. (#1250)Sam Clegg2020-01-161-0/+2
| | | | All tests except `threads` pass.
* run-tests.py works properly with python3 (#1285)Ben Smith2020-01-081-1/+7
| | | Fixes #1180 and #1181.
* Split run-unittests out as seperate target (#1255)Sam Clegg2019-12-031-1/+3
| | | | | | | | | | | | | | New `check` target now runs other. This allows for github actions to show unittests and system tests as separate steps. Also a couple of CMakeLists.txt cleanups: - Don't use add_definition to add `-fno-exceptions`, this is a C++-only flag. - Lowercase the name of the `sanitizer` function. - Remove opcode.def from list of library input file. On windows when building a DLL .def files are assumed to be windows DLL .def files, which this is not. This change is split out from #1250
* Run github actions on push as well as PR (#1254)Sam Clegg2019-11-261-1/+1
|