diff options
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/start.zig | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/lib/std/start.zig b/lib/std/start.zig index 8d55c178e4..61e41370b4 100644 --- a/lib/std/start.zig +++ b/lib/std/start.zig @@ -465,21 +465,18 @@ fn posixCallMainAndExit(argc_argv_ptr: [*]usize) callconv(.C) noreturn { // to ask for more stack space. expandStackSize(phdrs); - // Disabled with the riscv backend because it cannot handle this code yet. - if (builtin.zig_backend != .stage2_riscv64) { - const opt_init_array_start = @extern([*]*const fn () callconv(.C) void, .{ - .name = "__init_array_start", - .linkage = .weak, - }); - const opt_init_array_end = @extern([*]*const fn () callconv(.C) void, .{ - .name = "__init_array_end", - .linkage = .weak, - }); - if (opt_init_array_start) |init_array_start| { - const init_array_end = opt_init_array_end.?; - const slice = init_array_start[0 .. init_array_end - init_array_start]; - for (slice) |func| func(); - } + const opt_init_array_start = @extern([*]*const fn () callconv(.C) void, .{ + .name = "__init_array_start", + .linkage = .weak, + }); + const opt_init_array_end = @extern([*]*const fn () callconv(.C) void, .{ + .name = "__init_array_end", + .linkage = .weak, + }); + if (opt_init_array_start) |init_array_start| { + const init_array_end = opt_init_array_end.?; + const slice = init_array_start[0 .. init_array_end - init_array_start]; + for (slice) |func| func(); } } |
