| ... | ... | @@ -465,21 +465,18 @@ fn posixCallMainAndExit(argc_argv_ptr: [*]usize) callconv(.C) noreturn { |
| 465 | 465 | // to ask for more stack space. |
| 466 | 466 | expandStackSize(phdrs); |
| 467 | 467 | |
| 468 | | // Disabled with the riscv backend because it cannot handle this code yet. |
| 469 | | if (builtin.zig_backend != .stage2_riscv64) { |
| 470 | | const opt_init_array_start = @extern([*]*const fn () callconv(.C) void, .{ |
| 471 | | .name = "__init_array_start", |
| 472 | | .linkage = .weak, |
| 473 | | }); |
| 474 | | const opt_init_array_end = @extern([*]*const fn () callconv(.C) void, .{ |
| 475 | | .name = "__init_array_end", |
| 476 | | .linkage = .weak, |
| 477 | | }); |
| 478 | | if (opt_init_array_start) |init_array_start| { |
| 479 | | const init_array_end = opt_init_array_end.?; |
| 480 | | const slice = init_array_start[0 .. init_array_end - init_array_start]; |
| 481 | | for (slice) |func| func(); |
| 482 | | } |
| 468 | const opt_init_array_start = @extern([*]*const fn () callconv(.C) void, .{ |
| 469 | .name = "__init_array_start", |
| 470 | .linkage = .weak, |
| 471 | }); |
| 472 | const opt_init_array_end = @extern([*]*const fn () callconv(.C) void, .{ |
| 473 | .name = "__init_array_end", |
| 474 | .linkage = .weak, |
| 475 | }); |
| 476 | if (opt_init_array_start) |init_array_start| { |
| 477 | const init_array_end = opt_init_array_end.?; |
| 478 | const slice = init_array_start[0 .. init_array_end - init_array_start]; |
| 479 | for (slice) |func| func(); |
| 483 | 480 | } |
| 484 | 481 | } |
| 485 | 482 | |