Commit bed54e91 authored by Kirill Smelkov's avatar Kirill Smelkov

Deactivate __attribute__(ctor) workaround

Linking gets broken:

wasm@deco:~/trydynlib$ make test-js
make[1]: Цель «all» не требует выполнения команд.
(cd js && node prog.js)
prog!
external function 'ffunc1' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment
external function 'ffunc1' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment
exception thrown: abort("external function 'ffunc1' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment") at Error
    at jsStackTrace (/home/wasm/trydynlib/js/prog.js:1137:13)
    at stackTrace (/home/wasm/trydynlib/js/prog.js:1154:12)
    at abort (/home/wasm/trydynlib/js/prog.js:106480:44)
    at _ffunc1 (eval at loadDynamicLibrary (/home/wasm/trydynlib/js/prog.js:332:15), <anonymous>:58:33)
    at _kfunc1 (eval at loadDynamicLibrary (/home/wasm/trydynlib/js/prog.js:332:15), <anonymous>:192:2)
    at asm._kfunc1 (eval at loadDynamicLibrary (/home/wasm/trydynlib/js/prog.js:332:15), <anonymous>:213:23)
    at _kfunc1 (/home/wasm/trydynlib/js/prog.js:7566:278)
    at _main (/home/wasm/trydynlib/js/prog.js:30439:8)
    at Object.asm._main (/home/wasm/trydynlib/js/prog.js:105733:21)
    at Object.callMain (/home/wasm/trydynlib/js/prog.js:106310:30)

make: *** [Makefile:10: test-js] Ошибка 1
wasm@deco:~/trydynlib$ make test-wasm
make[1]: Цель «all» не требует выполнения команд.
(cd wasm && node prog.js)
prog!
Assertion failed: missing linked function _ffunc1
Assertion failed: missing linked function _ffunc1
exception thrown: abort("Assertion failed: missing linked function _ffunc1") at Error
    at jsStackTrace (/home/wasm/trydynlib/wasm/prog.js:1281:13)
    at stackTrace (/home/wasm/trydynlib/wasm/prog.js:1298:12)
    at abort (/home/wasm/trydynlib/wasm/prog.js:30517:44)
    at assert (/home/wasm/trydynlib/wasm/prog.js:679:5)
    at env.(anonymous function) (/home/wasm/trydynlib/wasm/prog.js:446:9)
    at wasm-function[7]:7
    at _kfunc1 (/home/wasm/trydynlib/wasm/prog.js:8010:278)
    at wasm-function[144]:54
    at Object.Module._main (/home/wasm/trydynlib/wasm/prog.js:29885:33)
    at Object.callMain (/home/wasm/trydynlib/wasm/prog.js:30347:30)
make: *** [Makefile:10: test-wasm] Ошибка 1
parent a7fb7445
......@@ -37,15 +37,15 @@ var ASM_CONSTS = [];
gb = alignMemory(getMemory(48 + 1), 1 || 1);
gb = alignMemory(getMemory(0 + 4), 4 || 1);
for (var i = gb; i < gb + 48; ++i) HEAP8[i] = 0;
for (var i = gb; i < gb + 0; ++i) HEAP8[i] = 0;
// STATICTOP = STATIC_BASE + 48;
/* global initializers */ __ATINIT__.push({ func: function() { _init() } });
// STATICTOP = STATIC_BASE + 0;
/* global initializers */ __ATINIT__.push();
/* memory initializer */ allocate([108,111,97,100,68,121,110,97,109,105,99,76,105,98,114,97,114,121,40,39,108,105,98,102,95,115,111,46,119,97,115,109,39,41,0], "i8", ALLOC_NONE, gb);
/* memory initializer */ allocate([], "i8", ALLOC_NONE, gb);
......@@ -54,9 +54,6 @@ for (var i = gb; i < gb + 48; ++i) HEAP8[i] = 0;
/* no memory initializer */
// {{PRE_LIBRARY}}
function _emscripten_run_script() {
if (!parentModule['_emscripten_run_script']) abort("external function 'emscripten_run_script' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment");return parentModule['_emscripten_run_script'].apply(null, arguments);
}
function _ffunc1() {
if (!parentModule['_ffunc1']) abort("external function 'ffunc1' is missing. perhaps a side module was not linked in? if this function was expected to arrive from a system library, try to build the MAIN_MODULE with EMCC_FORCE_STDLIBS=1 in the environment");return parentModule['_ffunc1'].apply(null, arguments);
}
......@@ -97,7 +94,7 @@ function intArrayToString(array) {
Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "setTempRet0": setTempRet0, "getTempRet0": getTempRet0, "_emscripten_run_script": _emscripten_run_script, "_ffunc1": _ffunc1, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "gb": gb, "fb": fb };
Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "setTempRet0": setTempRet0, "getTempRet0": getTempRet0, "_ffunc1": _ffunc1, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "gb": gb, "fb": fb };
// EMSCRIPTEN_START_ASM
var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) {
'almost asm';
......@@ -152,7 +149,6 @@ var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) {
var abortStackOverflow=env.abortStackOverflow;
var setTempRet0=env.setTempRet0;
var getTempRet0=env.getTempRet0;
var _emscripten_run_script=env._emscripten_run_script;
var _ffunc1=env._ffunc1;
var tempFloat = 0.0;
......@@ -190,12 +186,6 @@ function setThrew(threw, value) {
}
}
function _init() {
var label = 0, sp = 0;
sp = STACKTOP;
_emscripten_run_script(((gb + (0) | 0)|0));
return;
}
function _kfunc1() {
var label = 0, sp = 0;
sp = STACKTOP;
......@@ -212,17 +202,11 @@ function runPostSets() {
// EMSCRIPTEN_END_FUNCS
return { _init: _init, _kfunc1: _kfunc1, establishStackSpace: establishStackSpace, runPostSets: runPostSets, setThrew: setThrew, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave };
return { _kfunc1: _kfunc1, establishStackSpace: establishStackSpace, runPostSets: runPostSets, setThrew: setThrew, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave };
})
// EMSCRIPTEN_END_ASM
(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
var real__init = asm["_init"]; asm["_init"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real__init.apply(null, arguments);
};
var real__kfunc1 = asm["_kfunc1"]; asm["_kfunc1"] = function() {
assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
......@@ -234,7 +218,6 @@ var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() {
assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
return real_setThrew.apply(null, arguments);
};
var _init = Module["_init"] = asm["_init"];
var _kfunc1 = Module["_kfunc1"] = asm["_kfunc1"];
var runPostSets = Module["runPostSets"] = asm["runPostSets"];
var setThrew = Module["setThrew"] = asm["setThrew"];
......
......@@ -4,6 +4,7 @@
#include <emscripten.h>
#if 0
// XXX should be in make, but currently emscripten cannot do this
__attribute__((constructor))
static void init() {
......@@ -16,6 +17,7 @@ static void init() {
emscripten_run_script("loadDynamicLibrary('libf_so.wasm')");
# endif
}
#endif
LIBKAPI
int kfunc1() {
......
No preview for this file type
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment