* Add support for the Reactor model.
* Mark _activate and _start as wasm exports.
* Rename _activate to _initialize.
* Don't define `_fini`.
* Rename reactor-crt1.c to crt1-reactor.c.
extern void __prepare_for_exit(void);
void _Exit(int) __attribute__((noreturn));
+__attribute__((export_name("_start")))
void _start(void) {
// The linker synthesizes this to call constructors.
__wasm_call_ctors();
__year_to_secs
_environ
_exit
-_fini
_flushlbf
+_initialize
_start
a64l
abort
--- /dev/null
+extern void __wasm_call_ctors(void);
+
+__attribute__((export_name("_initialize")))
+void _initialize(void) {
+ // The linker synthesizes this to call constructors.
+ __wasm_call_ctors();
+}
extern int __original_main(void);
extern void __prepare_for_exit(void);
+__attribute__((export_name("_start")))
void _start(void) {
// The linker synthesizes this to call constructors.
__wasm_call_ctors();
* as a consequence of linking either __toread.c or __towrite.c. */
weak_alias(dummy, __funcs_on_exit);
weak_alias(dummy, __stdio_exit);
+#ifdef __wasilibc_unmodified_upstream // fini
weak_alias(dummy, _fini);
-#ifdef __wasilibc_unmodified_upstream // fini
extern weak hidden void (*const __fini_array_start)(void), (*const __fini_array_end)(void);
static void libc_exit_fini(void)