diff --git a/lib/libc/wasi/libc-bottom-half/crt/crt1.c b/lib/libc/wasi/libc-bottom-half/crt/crt1.c deleted file mode 100644 index 5e164dddba..0000000000 --- a/lib/libc/wasi/libc-bottom-half/crt/crt1.c +++ /dev/null @@ -1,24 +0,0 @@ -#include -extern void __wasm_call_ctors(void); -extern int __original_main(void); -extern void __wasm_call_dtors(void); - -__attribute__((export_name("_start"))) -void _start(void) { - // The linker synthesizes this to call constructors. - __wasm_call_ctors(); - - // Call `__original_main` which will either be the application's zero-argument - // `__original_main` function or a libc routine which calls `__main_void`. - // TODO: Call `main` directly once we no longer have to support old compilers. - int r = __original_main(); - - // Call atexit functions, destructors, stdio cleanup, etc. - __wasm_call_dtors(); - - // If main exited successfully, just return, otherwise call - // `__wasi_proc_exit`. - if (r != 0) { - __wasi_proc_exit(r); - } -} diff --git a/src/wasi_libc.zig b/src/wasi_libc.zig index 06d83aff36..0ef8d4f4d4 100644 --- a/src/wasi_libc.zig +++ b/src/wasi_libc.zig @@ -9,7 +9,6 @@ const target_util = @import("target.zig"); const musl = @import("musl.zig"); pub const CRTFile = enum { - crt1_o, crt1_reactor_o, crt1_command_o, libc_a, @@ -71,19 +70,6 @@ pub fn buildCRTFile(comp: *Compilation, crt_file: CRTFile) !void { const arena = &arena_allocator.allocator; switch (crt_file) { - .crt1_o => { - var args = std.ArrayList([]const u8).init(arena); - try addCCArgs(comp, arena, &args, false); - try addLibcBottomHalfIncludes(comp, arena, &args); - return comp.build_crt_file("crt1", .Obj, &[1]Compilation.CSourceFile{ - .{ - .src_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{ - "libc", try sanitize(arena, crt1_src_file), - }), - .extra_flags = args.items, - }, - }); - }, .crt1_reactor_o => { var args = std.ArrayList([]const u8).init(arena); try addCCArgs(comp, arena, &args, false); @@ -1151,7 +1137,6 @@ const libc_top_half_src_files = [_][]const u8{ "wasi/libc-top-half/sources/arc4random.c", }; -const crt1_src_file = "wasi/libc-bottom-half/crt/crt1.c"; const crt1_command_src_file = "wasi/libc-bottom-half/crt/crt1-command.c"; const crt1_reactor_src_file = "wasi/libc-bottom-half/crt/crt1-reactor.c";