sort by:
Revision Author Date Message Commit Date
958055b Rename PThreadinitMainThreadBlock => PThread.prepareMainThread for clarity 26 October 2020, 16:26:38 UTC
f9d491b Verify dlopen flags (#12591) 24 October 2020, 20:43:46 UTC
7b87f0b 2.0.8 (#12597) 24 October 2020, 18:32:59 UTC
d059fd6 emrun: use argparse in more conventional way (#12520) * emrun: use argparse in more conventional way This is not quite NFC since passing command line arguments to the page that start with `-` now requires a separator. This used to work: ./emrun filename.html --foo --bar Where as now one needs to add `--` to signal the end of emrun's argument parsing. So either: ./emrun filename.html -- --foo --bar or: ./emrun -- filename.html --foo --bar * error_check 23 October 2020, 23:08:12 UTC
f93a4a9 Use the same test layout in test_other that we do in test_core. NFC. (#12588) This also allows us to use the same `run_in_out_file_test` method in both places. 23 October 2020, 23:07:09 UTC
5f082af Fix other.test_separate_dwarf_with_filename on windows (#12592) We need to emit a URL in the custom section, which has UNIX-style path separators. 23 October 2020, 22:40:00 UTC
56c5062 Fix dlsym for 64-bit functions (#12586) This basically involved looking the `orig$` functions whenever we want a native WebAssembly function. Regarding test_dlfcn_i64: It seems that this test wasn't actually testing functions that have i64 in thier signature but some kind of i64 handling from back in the asm.js days. See #2060. This change repurposes it to and makes it more useful. 23 October 2020, 18:49:07 UTC
d62987b Cleanup format in test sources. NFC. (#12587) 23 October 2020, 18:41:19 UTC
dab2333 Make ASSERTIONS=2 imply STACK_OVERFLOW_CHECK=2 (#12579) This is in addition to the existing 1 implying 1. The goal is to make it easier to use -s ASSERTIONS=2 and have it check as many things as possible. 23 October 2020, 18:34:53 UTC
a513357 Re-enable browser.test_dylink_dso_needed tests (#12585) This was fixed back in #11028 Fixes: #8753 23 October 2020, 18:23:37 UTC
45c49fa Add support for RTLD_DEFAULT in dlsym (#12583) This implicitly-open handle looks up symbols in the same way that they are looked up when loading shared libraries. i.e. it searches all symbols in the main module + any shared libraries loaded with RTLD_GLOBAL. 23 October 2020, 15:30:55 UTC
1a49031 Add a strict mode test for dynamic linking (#12584) 23 October 2020, 00:33:33 UTC
a58e464 Declare a var for __stack_pointer in relocatable mode (#12582) Without this strict mode will error. Noticed in #12568 22 October 2020, 23:05:17 UTC
8ea21a9 Update STANDALONE_WASM docs after #12020 (#12580) As of #12020 we now require the explicit opt out via --no-entry 22 October 2020, 20:52:23 UTC
071ba77 Emit a relative path in -gseparate-dwarf (#12549) This way the side file can be found relative to the main one. Fixes #12526 22 October 2020, 19:57:18 UTC
0caed62 Re-increment uncaught exception count on rethrow (#12535) In https://github.com/emscripten-core/emscripten/blob/master/src/library_exceptions.js, the uncaught exception count is incremented and decremented exactly once during __cxa_throw and __cxa_begin_catch respectively (as the ABI says it should be). This however doesn't get re-incremented in the event of a rethrow, so anything that happens between the first catch and the second catch (eg. destructors) receive the decremented value. In LLVM the count is incremented again in __cxa_rethrow, which curiously the ABI does not ask us to do, but seems to be the behaviour we expect. Perhaps the ABI assumes that rethrow calls throw under the hood. This PR brings us closer to that, and in alignment with LLVM. The testcase added here now emits the same correct output as a native build, which it did not before this PR. 22 October 2020, 18:32:26 UTC
112b38f Add a check if "document" exists when looking for the script dir (#12553) 22 October 2020, 16:25:44 UTC
9a843c0 jsifier: Avoid emiting many empty lines in JS pre-processing (#12576) Also, add comments about where various chunks of code are included from. 22 October 2020, 14:45:48 UTC
08879a5 dylink: Remove redundant `moduleLocal` symbol map (#12575) After #12574 I noticed that moduleLocal is now just a copy of the relocated module exports. 22 October 2020, 14:45:33 UTC
e3882c9 Fix mis-reporting of `undefined exported functions` on data symbols (#12573) We can already use EXPORT_FUNCTIONS to export data symbols but the symbol check was only looking at function exports. This was leading to erroneous error message for users who were doing `-s EXPORTED_FUNCTIONS=[data_symbol]`. See: #12558 21 October 2020, 22:49:40 UTC
b3c2f6c Minor dylink cleanups. NFC. (#12574) - Rename loadWebAssemblyModule to loadSideModule. - Remove pointless `createLibModule` function. - Avoid pointless name mangling for moduleLocal symbol map. - Avoid extra argument to resovleSymbol. 21 October 2020, 22:46:57 UTC
24a4c4a Add entry points for emdump and file_packager scripts (#12570) Also fix flake8 issues in emdump 21 October 2020, 16:45:45 UTC
2444983 Error out if wasm2js and dynamic linking are used together (#12564) This combination has never been allowed by we didn't show a clear error before. 21 October 2020, 15:29:11 UTC
13da6c1 Remove TODO in test code. NFC. (#12565) This test seems to pass now with the wasm backend 21 October 2020, 15:28:57 UTC
ea19a1a Add dlfcn.h to struct_info.json (#12566) 21 October 2020, 15:28:43 UTC
181b872 Adding name to authors (#12567) 21 October 2020, 15:16:07 UTC
eabd82c [idbfs] Properly check date equivalence (#12560) #12409 introduced a bug. The PR was merged with the assumption that != on Date objects compares the date values just like the greater than operator does. Unfortunately, this checks for object reference equivalence and will always evaluate to false in this case since each timestamp is a separate Date object. 21 October 2020, 02:17:40 UTC
368bf80 [docs] Remove some fastcomp mentions (#12547) 20 October 2020, 20:47:01 UTC
416f76a If async preparing wasm fails with MODULARIZE=1, reject the module ready promise (#12408) For example, if a global constructor performs an invalid memory access, an exception will be thrown that bubbles up to receiveInstantiatedSource. That causes a rejection of the promise returned from instantiateAsync, and we should forward that to the module consumer via the module ready promise. By handling that rejection we also avoid an unhandled-promise-rejection error in browsers. Fixes #12396 20 October 2020, 20:02:08 UTC
a6a0a44 Remove legacy --mutable-sp flag to wasm-emscripten-finalize. NFC. (#12557) This is now the default in binaryen and ignored. 20 October 2020, 19:02:03 UTC
05c0473 Document COOP/COEP requirement for -pthread (#12540) 20 October 2020, 02:03:41 UTC
c8c05ed Update SDL Mix_PlayMusic according SDL docs (#12545) SDL Docs say: === int Mix_PlayMusic(Mix_Music *music, int loops) music Pointer to Mix_Music to play. loops number of times to play through the music. 0 plays the music zero times... -1 plays the music forever (or as close as it can get to that) === So we should not play at all with 0, but it turns out SDL actually does in practice. So don't change that. And for 1, we should play one time and stop, and not loop forever, which this patch fixes. 19 October 2020, 21:41:27 UTC
37b5cfa sdl2-config: bump version (#12538) Third-party SDL modules query require a recent-ish version of SDL2 (e.g. standard SDL2_image requires SDL2 >= 2.0.8). Emscripten currently ships SDL2 tag version_22, that is 2.0.10. 19 October 2020, 21:19:29 UTC
f94626e Update changelog and clarify ABI issues [ci skip] (#12542) 18 October 2020, 22:44:33 UTC
13493fd Use a mutable global as __stack_pointer in dynamic linking (#12536) Without this change we were using a normal Number and then `wasm-emscripten-finalize` would use that value to set an internal mutable global. This change means that users emscripten's dynamic linking now depends on the mutable globals proposal. However this is already available in all major browsers: https://webassembly.org/roadmap/ This is small step towards #12461 which can be landing in isolation without otherwise changing the ABI. Once this lands we can remove `internalizeStackPointerGlobal` from `wasm-emscripten-finalize`. 16 October 2020, 17:58:56 UTC
e05a75e Refactor setting of modify_wasm in RELOCATABLE mode. NFC. (#12534) As of today RELOCATABLE always requires modify_wasm so be explicit about that. Also, only pass --pass-arg=legalize-js-interface-export-originals when that pass is being run. 16 October 2020, 02:12:41 UTC
31df03a Some minor cleanups split out from #12461 (#12532) - Use C over C++ in test_dlfcn_longjmp since the test doesn't use C++ and it makes debugging simpler. - Add/improve a couple of assertions - Remove duplicate `var` in declaration wasmTable. 15 October 2020, 22:46:06 UTC
17c145c tools/ports: supports embuilder --pic when building harfbuzz (#12491) Use the same cflags for C/C++ Final fix for emscripten-core/emsdk#479 15 October 2020, 22:28:24 UTC
04e5f3d Cleanup test_zzz_emrun. NFC. (#12522) 15 October 2020, 18:14:28 UTC
0c8cde5 Document npm dependencies in docs/packaging.md (#12521) See #12519 15 October 2020, 02:22:38 UTC
9faf0a7 emrun: Don't send response on `^exit^` message (#12523) This message means that the browser itself is closing or has already closed. Without this change the tests the rely on this all report exceptions sending the `OK` response. e.g: ``` ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 49430) Traceback (most recent call last): File "/usr/lib/python3.8/socketserver.py", line 650, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python3.8/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.8/http/server.py", line 647, in __init__ super().__init__(*args, **kwargs) File "/usr/lib/python3.8/socketserver.py", line 720, in __init__ self.handle() File "/usr/lib/python3.8/http/server.py", line 427, in handle self.handle_one_request() File "/usr/lib/python3.8/http/server.py", line 415, in handle_one_request method() File "/home/sbc/dev/wasm/emscripten/emrun.py", line 703, in do_POST self.wfile.write(b'OK') File "/usr/lib/python3.8/socketserver.py", line 799, in write self._sock.sendall(b) BrokenPipeError: [Errno 32] Broken pipe ---------------------------------------- ``` 15 October 2020, 02:11:57 UTC
4a8833d Fix typos in packaging docs (#12524) Fixes: #12518 14 October 2020, 19:51:05 UTC
f32c646 Fix ABORT_ON_WASM_EXCEPTIONS wrapper function caching to work with Safari/Firefox (#12441) We used the string name of the function before, but that is different between browsers. Instead, check the actual function. 14 October 2020, 18:01:13 UTC
034b67c Remove unused removeFunctionWasm helper. NFC (#12507) And extract getEmptyTableSlot helper. 14 October 2020, 16:28:39 UTC
72cd886 Allow --argument=foo as well as --argument foo (#12512) This is useful in general but specifically for cmake which links to re-order compiler flags. 14 October 2020, 16:02:11 UTC
6e2c287 Bump min binaryen version (#12504) 14 October 2020, 15:42:44 UTC
590f224 Cleanup argument handling in emcc. NFC. (#12501) It seems to tried to improve this but never finished the job until now. - refer to the current argument as just `arg` throughout the loop - use check_arg to conditionally consume an arg - use consume_arg to unconditionally consume the next arg - move exception handling post-sets outside the main handler loop. 13 October 2020, 22:21:25 UTC
eb05ac6 Use env_modify in test_openjpeg (#12511) 13 October 2020, 21:40:30 UTC
1046cd3 Fix and reenable test_unistd_truncate_noderawfs (#12510) 13 October 2020, 20:21:12 UTC
a3bc227 C environ constructor cleanup (#12509) We had a redundant check there. Also improve the test to handle the case where malloc failed in the constructor. This might help debug the asan failure on the bot on this test (which does not fail locally for me). 13 October 2020, 18:21:32 UTC
b814fe4 ASan testing fixes (#12508) This should fix all current errors on the waterfall for asan, except for the one I can't reproduce locally (environ). 13 October 2020, 18:21:03 UTC
aeb549d Don't try to generate source map in single file mode. (#12505) 13 October 2020, 15:45:16 UTC
6e3d03d Re-enable metadce test after https://reviews.llvm.org/D89152 (#12503) 13 October 2020, 15:13:23 UTC
8421296 2.0.7 13 October 2020, 13:51:51 UTC
90c8740 Use do_replace helper to replace JS placeholders (#12487) This means we won't accidentatlly end up with dead replacements if/when a placeholder is removed from the input. Also remove now-with-only-one-member FilenameReplacementStrings class in favor of just inlining the string. Also change the `{{{ }}}` template markers to signify that his is late-stage replacement unlike the with `{{{ }}}` margers 13 October 2020, 06:30:05 UTC
88dad4c Temporarily disable test_metadce_hello_main_module_2 (#12500) So that https://reviews.llvm.org/D89152 can roll 13 October 2020, 03:49:09 UTC
bd8e5b5 Set memfile in single location (#12485) This cleans up the handling the memfile a little and uses its presence to abdence to drive behaviour rather than check the various settings in multiple places. 12 October 2020, 23:27:47 UTC
c5fdb4d Don't allow libraries to clobber global library iterator variable (#12498) 12 October 2020, 23:25:25 UTC
0c6f198 Remove legacy function stubs. NFC. (#12497) 12 October 2020, 21:48:28 UTC
751eed6 Remove unused WASM_TEXT_FILE. NFC. (#12486) 12 October 2020, 21:04:24 UTC
b15af86 Fix code block in verify emscripten environment docs (#12494) 12 October 2020, 14:04:53 UTC
c13a3c5 Add O_NOCTTY flag to nodefs flags (#12492) 12 October 2020, 01:32:31 UTC
c59a1b0 Remove dead code in src/jsifier.js. NFC. (#12484) Also more cleanup on MINIMAL_RUNTIME output, including formatting of asmLibraryArg and removal of large number of empty lines due to runtime elements. Avoid including $PATH when filesystem access is not needed. 12 October 2020, 01:28:23 UTC
beac72f Ensure EH does not change code after linking (#12493) We used to require Binaryen postprocessing for EH and have a `fail` requirement for it in `other.test_immutable_after_link`. I deleted the requirement in #12399, but it could have been better if I didn't just delete it but changed it to an `ok` requirement. This PR adds that. 11 October 2020, 23:43:24 UTC
e179b57 Don't run binaryen postprocessing for Emscripten EH/SjLj (#12399) Now that we are renaming invoke wrappers and `emscripten_longjmp_jmpbuf` in the wasm backend, using Emscripten EH or SjLj does not need Binaryen's postprocessing. This makes Emscripten not enable Binaryen postprocessing using wasm-emscripten-finalize when we are using them, and deletes all special handling for `emscripten_longjmp_jmpbuf`, given that Emscripten will not see it. Addresses: WebAssembly/binaryen#3043 WebAssembly/binaryen#3081 Companions: https://reviews.llvm.org/D88697 WebAssembly/binaryen#3191 11 October 2020, 09:51:11 UTC
a7f4f96 Formatting cleanups for MINIMAL_RUNTIME output. NFC. (#12483) Largely whitespace changes to make the output file more readable without running it through a formatter. 10 October 2020, 01:34:55 UTC
d909ed0 Remove unused {{GLOBAL_VARS}}. NFC. (#12482) This seems to have served a purpose in the past but isn't doing anything today AFAICT. 09 October 2020, 23:46:23 UTC
6c19faa Remove PREAMBLE_ADDITIONS and MODULE_ADDITIONS (#12481) It looks like support for PREAMBLE_ADDITIONS was removed in #5739 and MODULE_ADDITIONS in #5773. 09 October 2020, 23:45:20 UTC
3f3d300 Rebaseline codesize tests after recent llvm roll (#12479) 09 October 2020, 20:52:13 UTC
5e5c875 Disable other.test_minimal_runtime_code_size on Mac (#12474) After #12464, small code size regression also happened on Mac. Not sure what the exact reason is, but this just disables it to make the autoroller work again. Failure log: https://logs.chromium.org/logs/emscripten-releases/buildbucket/cr-buildbucket.appspot.com/8866979228011064752/+/steps/Emscripten_testsuite__upstream__other_/0/stdout 09 October 2020, 07:15:57 UTC
3cf806d Fix timezone returning wrong values during DST (#12330) Calculate the non-DST-adjusted time properly. fixes #11572 Co-authored-by: Tristan Griffin <tristan.griffin@pnp-hcl.com> Co-authored-by: Tristan Griffin <tristangriffin@icloud.com> 08 October 2020, 19:39:43 UTC
ef4d1e9 Remove EM_LOG_DEMANGLE (#12470) When displaying a callstack from a wasm module names will either not appear at all or they will be populated from the wasm names section which never contains managled names. As far as I can tell mangled names no longer appear be backtraces so demanagling is no longer a useful features. 08 October 2020, 17:47:34 UTC
8b759fa Add EMSCRIPTEN_ defines around webgl extensions (#12386) * Add EMSCRIPTEN_ defines around webgl extensions * Formatting and remove an obsolete ext * Fix * EMSCRIPTEN_ to EMSCRIPTEN_GL_ * Add R16F/RG16F to EXT_color_buffer_half_float * Fix 08 October 2020, 01:47:36 UTC
defac26 Show a clear compile error on pthreads+MODULARIZE without EXPORT_NAME (#12469) 08 October 2020, 01:33:39 UTC
4f8a0be test_core.py: remove @no_wasm decorator (#12466) See: #12335 08 October 2020, 00:24:34 UTC
4153f96 Revive emscripten_log tests (#12471) 08 October 2020, 00:02:04 UTC
5631de2 Report import module name in metadce tests. NFC. (#12468) This is already useful to distinguish wasi imports and will be more relevant with the new PIC ABI. 07 October 2020, 21:55:52 UTC
113fb86 Disable other.test_minimal_runtime_code_size on Windows (#12464) Code size is slightly different on Windows for unknown reasons and the Windows autoroller is not skipping this test even though it is configured to do so. As a result, the autoroller is currently failing to roll in LLVM. We don't know why either of these issues occur, so although it would be nice to figure them out, this PR simply disables the problematic test on Windows as a workaround. 07 October 2020, 20:03:14 UTC
244847b Avoid linking libc++ in more tests (#12467) 07 October 2020, 20:02:10 UTC
e08611a Rebaseline metadce test in prep for PIC ABI refactor (#12465) 07 October 2020, 19:08:35 UTC
bf576fb Use C over C++ where possible in dylink tests (#12451) This avoids name mangling and generally simplifies things which is good for unit tests. 07 October 2020, 18:48:51 UTC
bec573b Implement SAFE_HEAP using acorn, and use it on user JS (#12450) Previously we instrumented the compiled code, and also code in JS libraries using {{{ makeGetValue }}} etc., but not arbitrary HEAP8 etc. usage in user JS code. This fixed that by adding a safeHeap pass to the acorn optimizer. This found a few issues in our JS code too, which have been fixed in recent PRs already. 07 October 2020, 18:41:23 UTC
2ee7da1 Implement a more efficient vecFromJSArray (#12463) This is a followup of #5519 and #5655 since they were closed. It is possible to implement emscripten::vecFromJSArray more efficiently for numeric arrays by using the optimized TypedArray.prototype.set function. The main issue with this method is that it will silently fail(or succeed) if elements of the array or not numbers, as it does not do any type checking but instead works as if it called the javascript Number() function for each element. (See ToNumber for more details) So instead of simply updating vecFromJSArray to use this new implementation and break code (since there's no typechecking anymore) I added a new convertJSArrayToNumberVector (name subject to change) and improved performance a tiny bit for vecFromJSArray by: * Taking the val parameter by const reference instead of copy * Reserving the storage of the vector 07 October 2020, 18:11:03 UTC
e32abfa Don't link in C++ mode by default in STRICT mode (#12452) This makes STRICT mode behave more like gcc and clang and not link in C++ mode unless run via the C++ driver. 07 October 2020, 16:33:32 UTC
1a7a775 Add deps info for emscripten_longjmp (#12456) This was going to be a part of #12399, but commiting this single line first will enable rolling of the corresponding LLVM (https://reviews.llvm.org/D88697) and Binaryen (WebAssembly/binaryen#3191) patches successfully without us needing to disable any Emscripten tests or do a special rolling. 07 October 2020, 15:42:26 UTC
a8a104f Use metaclass to create two tests for when using @with_both_exception_handling (#12454) This allows the wasm_eh variant to be run in isolation and fail in isolation. 07 October 2020, 15:02:16 UTC
18e914b [runner.py] Do not silently ignore incorrect command line skips (#12453) If `skip:some.test_thing` is passed on the command line, do not silently swallow any errors that occur when trying to set it as skipped. This might help debug an issue where the Windows roller is not correctly skipping a test that it is supposed to be skipping. 07 October 2020, 05:13:37 UTC
25360be Document embind array field requiring registration of std::array #4510 (#11834) #4510 Added support for raw array fields by interpreting them as a std::array. However, while mentioned in the pull request, it was not documented that you still have to register the std::array type. 06 October 2020, 20:49:31 UTC
4a2c7a2 Remove unused src/library_strtok_r.c. NFC. (#12449) The JS version of this used to be included in the js library but was removed in: 64300b2ea56bfe6f09f855cfd7f7f6d99ec39bfe This file itself was never actually used. 06 October 2020, 19:44:19 UTC
75ea338 Improve STACK_OVERFLOW_CHECK on SAFE_HEAP and when abort()ing (#12422) STACK_OVERFLOW_CHECK tests address zero, and we should not do that when ASan (already present before this PR) or SAFE_HEAP are used, as they guard that address themselves, and would error on this check. Also don't run stack checks when abort()ing as in that case the program has already quit, and any further logging is irrelevant. (these issues were noticed when properly implementing SAFE_HEAP for user JS code, which was missing) 06 October 2020, 19:27:35 UTC
21fb59b Remove use of set-env in github actions (#12438) See https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/ 06 October 2020, 19:06:56 UTC
4bb8794 Fix a merge conflict with landed pthreads testing PRs (#12447) One PR refactored the pthread_create tests, and another appended to them. To fix it, create a new test for the new mode. 06 October 2020, 18:51:08 UTC
b28e6c7 fix (#12435) 06 October 2020, 16:50:11 UTC
b34e333 Disable tests not expected to pass with SAFE_HEAP (#12436) 06 October 2020, 16:49:46 UTC
8bb460f Fix segfaults in some pthread_stub methods (#12434) Noticed by SAFE_HEAP. It's ok to pass a null pointer to these, and they should ignore it. 06 October 2020, 16:49:04 UTC
616a8e9 Document and test that PROXY_TO_PTHREAD fixes the pthread_create issue (#12431) That is, pthread_create in that mode works as expected, with the pthread being synchronously available (since the creation is proxied to the main runtime thread, which can spin the browser event loop to create the worker). Related to discussion in #11554 06 October 2020, 16:47:37 UTC
e099f2a IDBFS: don't ignore changes files if timestamp decreased (#12409) This saves a file not only if the file's timestamp was increased due to a direct change, but also when the timestamp decreased due to e.g. an in-process unzip which restored a file with an earlier timestamp. 06 October 2020, 16:39:52 UTC
112a096 Don't generate a UI event if the page is unloading (#12442) Without this logs can show "Cannot read property 'clientWidth' of null" errors, which are caused by resize and other events still firing as the page is unloading. This minor change takes an early-out if document.body is null (which happens during unload). 06 October 2020, 16:37:49 UTC
9ce8566 Simplify windows and mac builds (#12445) They each had a single test job. Merge the build+test jobs into a single job, which is simpler (less code in the circleci config) and also faster (avoids the overhead of starting a second job, a second install of choco packages, and persisting and unpersisting data). Also remove gen_struct_info hack (as the hack actually breaks things after the simplification, not splitting it out). 06 October 2020, 16:29:03 UTC
6f45523 Remove unused methods from shared.JS (#12439) These methods don't seem to be used anywhere. Can we remove them? 06 October 2020, 15:26:14 UTC
back to top