@@ -1034,19 +1034,23 @@ const Stage2GLibCVersion = extern struct {
1034
1034
1035
1035
// ABI warning
1036
1036
export fn stage2_detect_dynamic_linker (in_target : * const Stage2Target , out_ptr : * [* :0 ]u8 , out_len : * usize ) Error {
1037
+ const in_arch = in_target .arch - 1 ; // skip over ZigLLVM_UnknownArch
1038
+ const in_sub_arch = in_target .sub_arch - 1 ; // skip over ZigLLVM_NoSubArch
1039
+ const in_os = in_target .os ;
1040
+ const in_abi = in_target .abi - 1 ; // skip over ZigLLVM_UnknownEnvironment
1037
1041
const target : Target = if (in_target .is_native ) .Native else .{
1038
1042
.Cross = .{
1039
- .arch = switch (enumInt (@TagType (Target .Arch ), in_target . arch )) {
1040
- .arm = > .{ .arm = enumInt (Target .Arch .Arm32 , in_target . sub_arch ) },
1041
- .armeb = > .{ .armeb = enumInt (Target .Arch .Arm32 , in_target . sub_arch ) },
1042
- .thumb = > .{ .thumb = enumInt (Target .Arch .Arm32 , in_target . sub_arch ) },
1043
- .thumbeb = > .{ .thumbeb = enumInt (Target .Arch .Arm32 , in_target . sub_arch ) },
1043
+ .arch = switch (enumInt (@TagType (Target .Arch ), in_arch )) {
1044
+ .arm = > .{ .arm = enumInt (Target .Arch .Arm32 , in_sub_arch ) },
1045
+ .armeb = > .{ .armeb = enumInt (Target .Arch .Arm32 , in_sub_arch ) },
1046
+ .thumb = > .{ .thumb = enumInt (Target .Arch .Arm32 , in_sub_arch ) },
1047
+ .thumbeb = > .{ .thumbeb = enumInt (Target .Arch .Arm32 , in_sub_arch ) },
1044
1048
1045
- .aarch64 = > .{ .aarch64 = enumInt (Target .Arch .Arm64 , in_target . sub_arch ) },
1046
- .aarch64_be = > .{ .aarch64_be = enumInt (Target .Arch .Arm64 , in_target . sub_arch ) },
1047
- .aarch64_32 = > .{ .aarch64_32 = enumInt (Target .Arch .Arm64 , in_target . sub_arch ) },
1049
+ .aarch64 = > .{ .aarch64 = enumInt (Target .Arch .Arm64 , in_sub_arch ) },
1050
+ .aarch64_be = > .{ .aarch64_be = enumInt (Target .Arch .Arm64 , in_sub_arch ) },
1051
+ .aarch64_32 = > .{ .aarch64_32 = enumInt (Target .Arch .Arm64 , in_sub_arch ) },
1048
1052
1049
- .kalimba = > .{ .kalimba = enumInt (Target .Arch .Kalimba , in_target . sub_arch ) },
1053
+ .kalimba = > .{ .kalimba = enumInt (Target .Arch .Kalimba , in_sub_arch ) },
1050
1054
1051
1055
.arc = > .arc ,
1052
1056
.avr = > .avr ,
@@ -1091,8 +1095,8 @@ export fn stage2_detect_dynamic_linker(in_target: *const Stage2Target, out_ptr:
1091
1095
.renderscript32 = > .renderscript32 ,
1092
1096
.renderscript64 = > .renderscript64 ,
1093
1097
},
1094
- .os = enumInt (Target .Os , in_target . os ),
1095
- .abi = enumInt (Target .Abi , in_target . abi ),
1098
+ .os = enumInt (Target .Os , in_os ),
1099
+ .abi = enumInt (Target .Abi , in_abi ),
1096
1100
.cpu_features = in_target .cpu_features .cpu_features ,
1097
1101
},
1098
1102
};
0 commit comments