File tree Expand file tree Collapse file tree 3 files changed +12
-8
lines changed Expand file tree Collapse file tree 3 files changed +12
-8
lines changed Original file line number Diff line number Diff line change @@ -614,7 +614,7 @@ def with_all_sjlj(f):
614614 assert callable (f )
615615
616616 @wraps (f )
617- def metafunc (self , mode ):
617+ def metafunc (self , mode , * args , ** kwargs ):
618618 if mode == 'wasm' or mode == 'wasm_exnref' :
619619 if self .is_wasm2js ():
620620 self .skipTest ('wasm2js does not support wasm SjLj' )
@@ -627,10 +627,10 @@ def metafunc(self, mode):
627627 if mode == 'wasm_exnref' :
628628 self .require_wasm_exnref ()
629629 self .set_setting ('WASM_EXNREF' )
630- f (self )
630+ f (self , * args , ** kwargs )
631631 else :
632632 self .set_setting ('SUPPORT_LONGJMP' , 'emscripten' )
633- f (self )
633+ f (self , * args , ** kwargs )
634634
635635 parameterize (metafunc , {'emscripten' : ('emscripten' ,),
636636 'wasm' : ('wasm' ,),
Original file line number Diff line number Diff line change @@ -860,8 +860,12 @@ def test_longjmp_standalone(self):
860860 self .do_core_test ('test_longjmp.c' )
861861
862862 @with_all_sjlj
863- def test_longjmp (self ):
864- self .do_core_test ('test_longjmp.c' )
863+ @parameterized ({
864+ '' : ([],),
865+ 'wasm_workers' : (['-sWASM_WORKERS' ],),
866+ })
867+ def test_longjmp (self , args ):
868+ self .do_core_test ('test_longjmp.c' , emcc_args = args )
865869
866870 @with_all_sjlj
867871 def test_longjmp_zero (self ):
Original file line number Diff line number Diff line change @@ -2276,7 +2276,7 @@ def get_libs_to_link(args):
22762276 if force_include :
22772277 logger .debug (f'forcing stdlibs: { force_include } ' )
22782278
2279- def add_library (libname ):
2279+ def add_library (libname , whole_archive = False ):
22802280 lib = system_libs_map [libname ]
22812281 if lib .name in already_included :
22822282 return
@@ -2285,7 +2285,7 @@ def add_library(libname):
22852285 logger .debug ('including %s (%s)' % (lib .name , lib .get_filename ()))
22862286
22872287 need_whole_archive = lib .name in force_include and lib .get_ext () == '.a'
2288- libs_to_link .append ((lib .get_link_flag (), need_whole_archive ))
2288+ libs_to_link .append ((lib .get_link_flag (), whole_archive or need_whole_archive ))
22892289
22902290 if '-nostartfiles' not in args :
22912291 if settings .SHARED_MEMORY :
@@ -2396,7 +2396,7 @@ def add_sanitizer_libs():
23962396 if settings .WASM_WORKERS and (not settings .SINGLE_FILE and
23972397 not settings .RELOCATABLE and
23982398 not settings .PROXY_TO_WORKER ):
2399- add_library ('libwasm_workers' )
2399+ add_library ('libwasm_workers' , whole_archive = True )
24002400
24012401 if settings .WASMFS :
24022402 # Link in the no-fs version first, so that if it provides all the needed
You can’t perform that action at this time.
0 commit comments