authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-18 14:42:53+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2024-11-18 19:10:14+01:00
loge6d2e1641363c97f53d4168b319b4dca6224e25e
tree5143929df670469992fe7e445ec1b685b071f536
parenta703b85c7c213a06a3d758f652cc3137c5f0b60b

Compilation: Disable LTO for all ILP32-on-LP64 ABIs.

Extension of 3a6a8b8aa540413d099a6f41a0d8f882f22acb45 to all similar ABIs. The LLD issue affects them all.

1 files changed, 9 insertions(+), 3 deletions(-)

src/Compilation/Config.zig+9-3
...@@ -295,10 +295,16 @@ pub fn resolve(options: Options) ResolveError!Config {...@@ -295,10 +295,16 @@ pub fn resolve(options: Options) ResolveError!Config {
295 if (!options.any_c_source_files) break :b false;295 if (!options.any_c_source_files) break :b false;
296296
297 // https://github.com/llvm/llvm-project/pull/116537297 // https://github.com/llvm/llvm-project/pull/116537
298 if (target.cpu.arch.isMIPS64()) switch (target.abi) {298 switch (target.abi) {
299 .gnuabin32, .muslabin32 => break :b false,299 .gnuabin32,
300 .gnuilp32,
301 .gnux32,
302 .ilp32,
303 .muslabin32,
304 .muslx32,
305 => break :b false,
300 else => {},306 else => {},
301 };307 }
302308
303 if (target.cpu.arch.isRISCV()) {309 if (target.cpu.arch.isRISCV()) {
304 // Clang and LLVM currently don't support RISC-V target-abi for LTO.310 // Clang and LLVM currently don't support RISC-V target-abi for LTO.