We still build with the `/opt/wasi-sdk` prefix but we don't actually
install into that directory. Instead we install into `build/install`.
This means you don't need to run `sudo make` and you don't end up with
a all the build output being owned by root.
The main different is that this requires the `--sysroot` flag when
running clang to build the testsuite.
* Add a basic testcase for emulated signals.
* Add a testcase for raise(SIGABRT).
* Fix style.
* Actually use all of the C-standard-required signals.
* Update expected stderr.
* Use the right version of this test file.
Co-authored-by: Pat Hickey <pat@moreproductive.org>
The update to LLVM 10.x was done in #108 but the submodule branch was
not updated.
As discussed in #136, the branch line is now removed to avoid such
problems.
* Make build work on Windows
* re-enable windows build workflow
* fix make check
* fix tar_from_installation.sh and dist target
* Review fixups
* No -j4 on Windows
* Get rid of -j4 everywhere in Makefile
* ci: add separate job to run docker build script
so that it doesn't bitrot
* github ci: try turning windows back on?
* workflow: run make in bash (for windows)
* windows doesnt have sudo
* github ci: windows is still broken, will have to fix later
* deb build: in wrong directory to mv build/wasi-sdk...deb
* ci: make filenames of uploaded artifacts more clear
* fix typo in deb creation
To support this, add a mechanism for filtering test output to filter
out uninteresting diffs.
This adds some coverage for the code being changed in
https://github.com/WebAssembly/wasi-libc/pull/184.
- Don't build pushes to non-main branches, only build the PR itself.
- Remove special windows llvm-nm installation
The SDK build process itself builds llvm so we don't need to download
it.
- Make the `name` the first item in each step. I peronally find
this more readable.
This change was mostly generated by changing the upstream llvm
branch to 9.x and running:
$ git submodule update --remote
As well as switching the llvm 9 this change also bring in the
following wasi-libc changes:
5933c20 fix macos filename, use https
7c39519 CI: upgrade to llvm 9.0.0
9ca5187 remove no-self-update workaround for windows azure
9580a25 deprecate azure pipelines CI, build libc on GH Actions
2c2fc9a Don't call `free` on paths which are about to call `_Exit`. (#161)
c6f2c05 gen-headers: Generate assertions of layout from witx (#149)
37c663f Correct minor typo in c_headers.rs (#166)
12f5832 Convert more wasi-libc code to `//`-style comments. (#153)
ec86d4d Improvements to wasi-headers tool (#160)
1fad338 Fix environment variable init to exit successfully. (#159)
a280fea Move math source files. (#151)
dd010be Avoid using cast expressions in WASI API constants. (#148)
Fixes: #101
This uses Apache-2.0, which is the same as what's used in other
WebAssembly CG repositories, plus the LLVM-exception which provides for
GPLv2 compatibility and makes it easier to move code between libraries
and compilers.
wasi-libc builds special versions of printf and other routines optimized
for the case where long double and floating-point in general are not
needed. Ensure that everything still compiles and runs.
This adds a very primitive test harness and tests relevant to the recent
changes to how program startup works, as well as the upcoming changes
to support LTO.
* build: put artifacts into dist/. workflow: upload contents of dist/.
* review feedback
* CI workflow: add comment explaining artifact name
* checkout action to v1
* typo fix
This brings in the following changes:
f645f49 Update signal macros after upgrade to snapshot1 (#144)
8b3266d github actions: pin checkout action to v1 (#145)
410c660 Use constructor functions for optional init routines. (#142)
fe13053 c header generation updated for reorganized witx ast (#139)
cd74e1d Correct the version of #136 on master (#141)
446cb3f Wasi snapshot preview1 (#140)
54102f0 Ignore rights in libpreopen. (#129)
8c9e1c6 Make the `__original_main` definition weak, fixing -flto. (#138)
cf81683 Optimize `fmin`, `fmax`, etc. (#120)
deb8eae Don't pre-check capabilities in `openat`. (#130)
ca9046d Use consistent style for wasi-libc C source files. (#131)
951cc3e Fix unintended recursion in __wasilibc_register_preopened_fd. (#133)
5216983 Avoid a `strdup` call in `__wasilibc_populate_libpreopen`. (#128)
70099d4 Don't link in libpreopen initialization code when it isn't needed. (#127)
ec4549d Temporarily disable the use of `__heap_base`. (#132)
a214f1c Use __heap_base by dlmalloc (#114)
a94d2d0 Avoid varargs conventions when calling open (#126)
7fcc4f2 Revamp and simplify the libpreopen code. (#110)
eb7230c Remove more unsupported headers. (#123)