33 Commits

Author SHA1 Message Date
Sam Clegg
0bf0e9f1fe
wasm.js: Add unwind symbols needed by libc++abi (#35) 2018-01-11 15:21:59 -08:00
Derek Schuff
190dffd141 remove extra logging 2017-12-15 13:23:12 -08:00
Derek Schuff
4b606b59d4 Support node.js in wasm loader
The latest LTS of Node supports wasm, and this allows us to test
against it, as well as the shells.
2017-12-13 15:53:52 -08:00
Sam Clegg
2b92b728e3 Merge remote-tracking branch 'upstream/master' into HEAD 2017-11-29 15:46:05 -08:00
Sam Clegg
b49da62f23
Implement writv syscall so that musl printf works (#26) 2017-11-20 17:13:33 -08:00
Sam Clegg
6a45034cab
[WebAssembly] Cleanup syscall handling in wasm.js (#25)
Also, ignore a couple of syscall by return 0 rather
than -1.  This allows the musl startup code to get
furthur.
2017-11-17 17:01:15 -08:00
Sam Clegg
0f2a7be58e
[WebAssembly] Add syscall numbers of wasm.js (#23)
I verified that this change doesn't change the list
of failing tests on the wasm waterfall.
2017-11-16 12:28:18 -08:00
Sam Clegg
c185c68dd0
[WebAssembly] Use hardcoded list expected undefined symbols (#21)
Rather than generate wasm.syms from wasm.js (which includes
a huge superset of the number of symbols actaully expected
to be undefined at link time) simply hardcode that list as
a test file, which lld can read.
2017-11-07 15:17:25 -08:00
Sam Clegg
8116ebcd0c
[WebAssembly] Fix shared library loading (#17)
Loading of shared libraries was broken back in:
39fde60

This change restores the ability for shared libraries to
be loaded such that they can share memory and provide
function exports to the main executable.

However the executable that libraries still need to built
in a specific way (i.e. all importing the same sized memory)
and their static globals need to be in the different address
range. This has the complication that the executables won't
run the wasm spec interpreter (since it doesn't pass in a
memory to the executables it runs). So although I'm fixing this
here in the musl repo I'm also proposiing that we remove the
continuous testing of this configurations on the wasm waterfall
in favor of concentrating on the statically linking lld case:
WebAssembly/waterfall#271
2017-11-06 14:18:53 -08:00
Sam Clegg
e7fb361e60 [WebAssembly] Fix bug in wasm.js version of strchr 2017-11-03 17:46:28 -07:00
Sam Clegg
319abd03d4
Add --dump-ffi-symbols argument to wasm.js (#5)
This allows a list of all symbols exports by wasm.js to be
generated which is usefull for passing to my prototype of
lld which takes an --allow-undefined-symbols=<filename>
argument.
2017-10-30 17:37:48 -07:00
Sam Clegg
a7161e9449 [WebAssembly] Exclude less in libc.py 2017-10-27 14:39:51 -07:00
Sam Clegg
addf7f9215 [WebAssembly] Add llvm builting '__letf2' to wasm.js 2017-10-20 13:33:55 -07:00
Heejin Ahn
30930bef22 Fix bugs in strcmp/strncmp/strchr
Added strcmp/strncmp implementations that follow the libc spec, and
fixed a bug in strchr. This makes a couple more tests pass in Wasm
waterfall.
2017-08-22 15:46:51 -07:00
JF Bastien
128cf2eece Use read if readbuffer is unavailable 2017-01-02 15:10:34 -08:00
Derek Schuff
39fde6042e Update wasm.js loader to use new WebAssembly JS API 2016-10-26 13:34:58 -07:00
Derek Schuff
2a717f2d43 Add __stdio_write and __stdout_write to musl_hack list of imports
They are now imported because they are address-taken
2016-07-14 09:11:35 -07:00
Derek Schuff
cff987a27b Update wasm.js for v8's change to 2-level FFI namespace 2016-03-08 15:30:28 -08:00
Derek Schuff
cd50df76d4 Use the new exports table on the wasm module object 2016-02-29 13:45:25 -08:00
Derek Schuff
3f4c233ac0 Use 16MB for the linear memory array buffer
Some of the torture tests use big stacks, and 16 is enough larger than 2.
2016-02-18 15:35:14 -08:00
JF Bastien
1648814783 Add clrsbl clrsbll as well 2016-02-14 14:08:20 -08:00
JF Bastien
49dbb74456 Add __builtin_clrsb as NYI
builtin-bitops-1.c now hits it.
2016-02-13 13:57:29 -08:00
JF Bastien
968d8d2158 Improve trap handling, fix isspace. 2016-02-03 08:30:55 -08:00
JF Bastien
7f1742a8c3 Fix reference error. 2016-02-03 04:26:30 -08:00
JF Bastien
682407e272 dlsym: use same pattern as other loader
It's still broken because call_indirect requires a function in the same module.
2016-02-01 09:22:50 -08:00
JF Bastien
8bbb33957b Handle main() not returning EXIT_SUCCESS. 2016-02-01 08:26:21 -08:00
JF Bastien
f73845c1b8 Typo. 2016-02-01 08:05:12 -08:00
JF Bastien
acc1d6453b dlfcn.h implementation and detailed example. 2016-02-01 08:00:42 -08:00
JF Bastien
13f9666606 Stub dlfcn.h 2016-02-01 04:54:06 -08:00
JF Bastien
26e7adf5d0 wasm objects don't have hasOwnProperty and functions aren't Function 2016-01-31 02:49:24 -08:00
JF Bastien
ae7274db9b Add a few todos. 2016-01-30 14:12:19 -08:00
JF Bastien
f11387c0bb Return -1 from syscall stubs. 2016-01-30 13:45:37 -08:00
JF Bastien
e1f64b81c3 Add wasm.js
Imported from: https://github.com/WebAssembly/waterfall/blob/master/src/test/wasm.js
Hash: 8074c23c566a65f32d6b7fac065abf1ffca95473
2016-01-30 09:08:51 -08:00