| ... | ... | @@ -1241,10 +1241,20 @@ fn addCCArgs( |
| 1241 | 1241 | }, |
| 1242 | 1242 | .so, .assembly, .ll, .bc, .unknown => {}, |
| 1243 | 1243 | } |
| 1244 | | // TODO CLI args for cpu features when compiling assembly |
| 1245 | | //for (size_t i = 0; i < g->zig_target->llvm_cpu_features_asm_len; i += 1) { |
| 1246 | | // try argv.append(g->zig_target->llvm_cpu_features_asm_ptr[i]); |
| 1247 | | //} |
| 1244 | // Argh, why doesn't the assembler accept the list of CPU features?! |
| 1245 | // I don't see a way to do this other than hard coding everything. |
| 1246 | switch (target.cpu.arch) { |
| 1247 | .riscv32, .riscv64 => { |
| 1248 | if (std.Target.riscv.featureSetHas(target.cpu.features, .relax)) { |
| 1249 | try argv.append("-mrelax"); |
| 1250 | } else { |
| 1251 | try argv.append("-mno-relax"); |
| 1252 | } |
| 1253 | }, |
| 1254 | else => { |
| 1255 | // TODO |
| 1256 | }, |
| 1257 | } |
| 1248 | 1258 | |
| 1249 | 1259 | if (target.os.tag == .freestanding) { |
| 1250 | 1260 | try argv.append("-ffreestanding"); |