diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-08-26 16:43:27 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-03 14:41:29 -0700 |
commit | bfecccd0b34d065c6779186f21584abfb1dbf306 (patch) | |
tree | d08172fe5747979821bbb8908166a6361a8e18c6 /emscripten.py | |
parent | 4ec26690083c3ded80d10f15fce3ced1bdca0b9f (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-x | emscripten.py | 4 |
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) |