| ... | ... | @@ -833,7 +833,17 @@ export fn stage2_target_details_get_builtin_str(target_details: ?*const Stage2Ta |
| 833 | 833 | return @as([*:0]const u8, null_terminated_empty_string); |
| 834 | 834 | } |
| 835 | 835 | |
| 836 | | const riscv_default_features: []*const std.target.Feature = &[_]*const std.target.Feature { |
| 836 | const riscv32_default_features: []*const std.target.Feature = &[_]*const std.target.Feature { |
| 837 | &std.target.riscv.feature_a, |
| 838 | &std.target.riscv.feature_c, |
| 839 | &std.target.riscv.feature_d, |
| 840 | &std.target.riscv.feature_f, |
| 841 | &std.target.riscv.feature_m, |
| 842 | &std.target.riscv.feature_relax, |
| 843 | }; |
| 844 | |
| 845 | const riscv64_default_features: []*const std.target.Feature = &[_]*const std.target.Feature { |
| 846 | &std.target.riscv.feature_bit64, |
| 837 | 847 | &std.target.riscv.feature_a, |
| 838 | 848 | &std.target.riscv.feature_c, |
| 839 | 849 | &std.target.riscv.feature_d, |
| ... | ... | @@ -880,9 +890,14 @@ fn createDefaultTargetDetails(arch: @TagType(std.Target.Arch), os: std.Target.Os |
| 880 | 890 | const allocator = std.heap.c_allocator; |
| 881 | 891 | |
| 882 | 892 | return switch (arch) { |
| 883 | | .riscv32, .riscv64 => blk: { |
| 893 | .riscv32 => blk: { |
| 894 | const ptr = try allocator.create(Stage2TargetDetails); |
| 895 | ptr.* = try Stage2TargetDetails.initFeatures(allocator, arch, riscv32_default_features); |
| 896 | break :blk ptr; |
| 897 | }, |
| 898 | .riscv64 => blk: { |
| 884 | 899 | const ptr = try allocator.create(Stage2TargetDetails); |
| 885 | | ptr.* = try Stage2TargetDetails.initFeatures(allocator, arch, riscv_default_features); |
| 900 | ptr.* = try Stage2TargetDetails.initFeatures(allocator, arch, riscv64_default_features); |
| 886 | 901 | break :blk ptr; |
| 887 | 902 | }, |
| 888 | 903 | .i386 => blk: { |