@@ -189,9 +189,8 @@ CCOPTS_FEATURES =
189189# CCOPTS_FEATURES += -DDUK_OPT_NO_REFERENCE_COUNTING
190190# CCOPTS_FEATURES += -DDUK_OPT_NO_MARK_AND_SWEEP
191191# CCOPTS_FEATURES += -DDUK_OPT_NO_VOLUNTARY_GC
192- CCOPTS_FEATURES += -DDUK_OPT_SEGFAULT_ON_PANIC # segfault on panic allows valgrind to show stack trace on panic
193192# CCOPTS_FEATURES += -DDUK_OPT_NO_FILE_IO
194- # CCOPTS_FEATURES += '-DDUK_OPT_PANIC_HANDLER(code ,msg)={printf( "*** %d: %s\n",(code),(msg)); abort();} '
193+ CCOPTS_FEATURES += '-DDUK_OPT_FATAL_HANDLER(udata ,msg)=do { const char *fatal_msg = (msg); fprintf(stderr, "*** FATAL ERROR: %s\n", fatal_msg ? fatal_msg : "no message"); *((unsigned int *) 0) = (unsigned int) 0xdeadbeefUL; abort(); } while(0) '
195194CCOPTS_FEATURES += -DDUK_OPT_SELF_TESTS
196195# CCOPTS_FEATURES += -DDUK_OPT_NO_TRACEBACKS
197196# CCOPTS_FEATURES += -DDUK_OPT_NO_PC2LINE
@@ -756,7 +755,7 @@ emscriptenduktest: emscripten dist
756755# and providing an eval() facility from both sides. This is a placeholder now
757756# and doesn't do anything useful yet.
758757EMCCOPTS_DUKWEB_EXPORT =-s EXPORTED_FUNCTIONS='["_dukweb_is_open", "_dukweb_open","_dukweb_close","_dukweb_eval"]'
759- EMCCOPTS_DUKWEB_DEFINES='-DDUK_OPT_DECLARE =extern void dukweb_panic_handler(int code, const char *msg);' '-DDUK_OPT_PANIC_HANDLER(code ,msg)={dukweb_panic_handler((code ),(msg));abort();}'
758+ EMCCOPTS_DUKWEB_DEFINES='-DDUK_OPT_DECLARE =extern void dukweb_panic_handler(int code, const char *msg); extern void dukweb_fatal_handler(void *udata, const char *msg); ' '-DDUK_OPT_FATAL_HANDLER(udata ,msg)={dukweb_fatal_handler((udata ),(msg));abort();}'
760759# EMCCOPTS_DUKWEB_DEFINES+=-DDUK_OPT_ASSERTIONS
761760EMCCOPTS_DUKWEB_DEFINES+ =-DDUK_OPT_SELF_TESTS
762761
0 commit comments