aboutsummaryrefslogtreecommitdiff
path: root/emscripten.py
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-26 16:43:27 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-09-03 14:41:29 -0700
commitbfecccd0b34d065c6779186f21584abfb1dbf306 (patch)
treed08172fe5747979821bbb8908166a6361a8e18c6 /emscripten.py
parent4ec26690083c3ded80d10f15fce3ced1bdca0b9f (diff)
use addFunction in dlsym, and define F_BASE in side modules so they can run as shared libs
Diffstat (limited to 'emscripten.py')
-rwxr-xr-xemscripten.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/emscripten.py b/emscripten.py
index 9f54e07f..3dba10c3 100755
--- a/emscripten.py
+++ b/emscripten.py
@@ -624,10 +624,14 @@ Runtime.stackRestore = function(top) { asm['stackRestore'](top) };
return masks[sig]
return re.sub(r'{{{ FTM_([\w\d_$]+) }}}', lambda m: fix(m), js) # masks[m.groups(0)[0]]
funcs_js = map(lambda js: function_table_maskize(js, masks), funcs_js)
+
if settings.get('DLOPEN_SUPPORT'):
funcs_js.append('''
asm.maxFunctionIndex = %d;
''' % max_mask)
+ for sig in last_forwarded_json['Functions']['tables'].iterkeys():
+ funcs_js.append(' var F_BASE_%s = 0;\n' % sig)
+
else:
function_tables_defs = '\n'.join([table for table in last_forwarded_json['Functions']['tables'].itervalues()])
outfile.write(function_tables_defs)