summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch
blob: 40aae7a9d7e47923dffa0cadbc3718b3af354eb5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Don’t add linker flags via ‘response files’ since ld-wrapper
doesn’t handle them.
See https://github.com/NixOS/nixpkgs/commit/a421e7bd4a28c69bded8b17888325e31554f61a1
https://gcc.gnu.org/ml/gcc/2016-10/msg00151.html

diff --git a/compiler/main/SysTools.hs.orig b/compiler/main/SysTools.hs
index 1ab5b13..99270fc 100644
--- a/compiler/main/SysTools.hs.orig
+++ b/compiler/main/SysTools.hs
@@ -424,7 +424,7 @@ runCc dflags args =   do
       args1 = map Option (getOpts dflags opt_c)
       args2 = args0 ++ args1 ++ args
   mb_env <- getGccEnv args2
-  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env
+  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env
  where
   -- discard some harmless warnings from gcc that we can't turn off
   cc_filter = unlines . doFilter . lines
@@ -945,7 +945,7 @@ runLink dflags args = do
       args1     = map Option (getOpts dflags opt_l)
       args2     = args0 ++ linkargs ++ args1 ++ args
   mb_env <- getGccEnv args2
-  runSomethingResponseFile dflags ld_filter "Linker" p args2 mb_env
+  runSomethingFiltered dflags ld_filter "Linker" p args2 mb_env
   where
     ld_filter = case (platformOS (targetPlatform dflags)) of
                   OSSolaris2 -> sunos_ld_filter