Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : ghc-7.6
http://hackage.haskell.org/trac/ghc/changeset/09894b0af6569ebb19ddaa16dd1bc564b46d7959 >--------------------------------------------------------------- commit 09894b0af6569ebb19ddaa16dd1bc564b46d7959 Author: Ian Lynagh <i...@well-typed.com> Date: Thu Nov 29 13:33:05 2012 +0000 MERGED: Fix building on Sparc/Solaris with non-GNU linker; fixes #5407 commit 9ef4d48e296d4b96492a839f9ee569f8f90c617b Author: Ian Lynagh <i...@well-typed.com> Date: Fri Nov 23 16:54:15 2012 +0000 Fix building on Sparc/Solaris with non-GNU linker; fixes #5407 Patch from maeder. >--------------------------------------------------------------- compiler/main/DriverPipeline.hs | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs index 9f9f9da..6c35f71 100644 --- a/compiler/main/DriverPipeline.hs +++ b/compiler/main/DriverPipeline.hs @@ -2097,7 +2097,8 @@ hsSourceCppOpts = joinObjectFiles :: DynFlags -> [FilePath] -> FilePath -> IO () joinObjectFiles dflags o_files output_fn = do - let ld_r args = SysTools.runLink dflags ([ + let ldIsGnuLd = cLdIsGNULd == "YES" + ld_r args = SysTools.runLink dflags ([ SysTools.Option "-nostdlib", SysTools.Option "-nodefaultlibs", SysTools.Option "-Wl,-r" @@ -2106,6 +2107,7 @@ joinObjectFiles dflags o_files output_fn = do -- -r and --relax are incompatible for ld, so -- disable --relax explicitly. ++ (if platformArch (targetPlatform dflags) == ArchSPARC + && ldIsGnuLd then [SysTools.Option "-Wl,-no-relax"] else []) ++ [ @@ -2129,7 +2131,7 @@ joinObjectFiles dflags o_files output_fn = do ld_build_id | cLdHasBuildId == "YES" = "-Wl,--build-id=none" | otherwise = "" - if cLdIsGNULd == "YES" + if ldIsGnuLd then do script <- newTempName dflags "ldscript" writeFile script $ "INPUT(" ++ unwords o_files ++ ")" _______________________________________________ Cvs-ghc mailing list Cvs-ghc@haskell.org http://www.haskell.org/mailman/listinfo/cvs-ghc