https://github.com/gentoo-haskell/gentoo-haskell/issues/704 Allow users to specify -W,--relax externally and pass -Wl,-no-relax unconditonally on all arches. Reported-by: wmyrda --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -2144,9 +2144,7 @@ joinObjectFiles dflags o_files output_fn = do -- gcc on sparc sets -Wl,--relax implicitly, but -- -r and --relax are incompatible for ld, so -- disable --relax explicitly. - ++ (if platformArch (targetPlatform dflags) - `elem` [ArchSPARC, ArchSPARC64] - && ldIsGnuLd + ++ (if ldIsGnuLd then [SysTools.Option "-Wl,-no-relax"] else []) -- See Note [Produce big objects on Windows]