authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-09 15:58:42-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-09 15:58:42-07:00
log7d4bc54277ca89d80af05e76809ab3d041f494ac
treea4acd569d4dcf19be281c411f746ebed88d7020c
parent8583e88db522f0f94f2110f1d255406e5e7e99fd

work around stage1 limitations


1 files changed, 7 insertions(+), 5 deletions(-)

src/link/Elf.zig+7-5
...@@ -3074,22 +3074,24 @@ const CsuObjects = struct {...@@ -3074,22 +3074,24 @@ const CsuObjects = struct {
30743074
3075 var result: CsuObjects = .{};3075 var result: CsuObjects = .{};
30763076
3077 // Flatten crt cases.3077 const Mode = enum {
3078 const mode: enum {
3079 dynamic_lib,3078 dynamic_lib,
3080 dynamic_exe,3079 dynamic_exe,
3081 dynamic_pie,3080 dynamic_pie,
3082 static_exe,3081 static_exe,
3083 static_pie,3082 static_pie,
3084 } = switch (link_options.output_mode) {3083 };
3084
3085 // Flatten crt cases.
3086 const mode: Mode = switch (link_options.output_mode) {
3085 .Obj => return CsuObjects{},3087 .Obj => return CsuObjects{},
3086 .Lib => switch (link_options.link_mode) {3088 .Lib => switch (link_options.link_mode) {
3087 .Dynamic => .dynamic_lib,3089 .Dynamic => .dynamic_lib,
3088 .Static => return CsuObjects{},3090 .Static => return CsuObjects{},
3089 },3091 },
3090 .Exe => switch (link_options.link_mode) {3092 .Exe => switch (link_options.link_mode) {
3091 .Dynamic => if (link_options.pie) .dynamic_pie else .dynamic_exe,3093 .Dynamic => if (link_options.pie) Mode.dynamic_pie else Mode.dynamic_exe,
3092 .Static => if (link_options.pie) .static_pie else .static_exe,3094 .Static => if (link_options.pie) Mode.static_pie else Mode.static_exe,
3093 },3095 },
3094 };3096 };
30953097