diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/js/binaryen.js-post.js | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f78070115..c040425a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -366,6 +366,7 @@ if(EMSCRIPTEN) target_link_libraries(binaryen_js optimized "--closure 1") target_link_libraries(binaryen_js optimized "--llvm-lto 1") target_link_libraries(binaryen_js debug "--profiling") + target_link_libraries(binaryen_js debug "-s ASSERTIONS") set_property(TARGET binaryen_js PROPERTY CXX_STANDARD 14) set_property(TARGET binaryen_js PROPERTY CXX_STANDARD_REQUIRED ON) install(TARGETS binaryen_js DESTINATION ${CMAKE_INSTALL_BINDIR}) diff --git a/src/js/binaryen.js-post.js b/src/js/binaryen.js-post.js index d5943176e..3d732c1fc 100644 --- a/src/js/binaryen.js-post.js +++ b/src/js/binaryen.js-post.js @@ -2768,6 +2768,12 @@ Module['emitText'] = function(expr) { }; // Parses a binary to a module + +// If building with Emscripten ASSERTIONS, there is a property added to +// Module to guard against users mistakening using the removed readBinary() +// API. We must defuse that carefully. +Object.defineProperty(Module, 'readBinary', { writable: true }); + Module['readBinary'] = function(data) { var buffer = allocate(data, 'i8', ALLOC_NORMAL); var ptr = Module['_BinaryenModuleRead'](buffer, data.length); |