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)
This installs unqualified `nm`, `ar`, and other symlinks, additional
tools including `llvm-objdump` and `llvm-objcopy`, and additional clang
tools such as `clang-format` and `clang-tidy`.
Ubuntu is based on debian and debian a more stable base to build on
IMHO. This shouldn't effect much other than some minor changes in the
exact version clang we use to cross compile and the specific linked
host shared libraries.
Also, run `apt-get clean` to minimize image size (not that that really
matters since this is only used during SDK build).
libc++ and libc++abi have config variables which can be used to enable
multi-arch installation paths. Use those instead of moving the libraries
after they are installed.