[GHC] #10671: inplace/bin/ghc-stage1 doesn't respect --with-ld override

GHC ghc-devs at haskell.org
Thu Jul 23 03:15:00 UTC 2015


#10671: inplace/bin/ghc-stage1 doesn't respect --with-ld override
-------------------------------------+-------------------------------------
              Reporter:  mfox        |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Build       |           Version:  7.10.1
  System                             |
              Keywords:              |  Operating System:  Linux
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
             Test Case:              |        Blocked By:
              Blocking:              |   Related Tickets:
Differential Revisions:              |
-------------------------------------+-------------------------------------
 Building ghc 7.10.1 on RHEL 5.8. I need to override the old system linker
 which lacks features and performance. I get stage1 built but then it
 forgets the override.

 Configure:

 ./configure --prefix=/home/cavtools/opt/ghc-7.10.1 --with-
 ld=/home/cavtools/64/pkg/bin/gld --with-ar=/home/cavtools/64/pkg/bin/gar
 --with-ranlib=/home/cavtools/64/pkg/bin/granlib

 settings:

 [("GCC extra via C opts", " -fwrapv"),
  ("C compiler command", "/usr/bin/gcc"),
  ("C compiler flags", " -fno-stack-protector"),
  ("C compiler link flags", ""),
  ("Haskell CPP command","/usr/bin/gcc"),
  ("Haskell CPP flags","-E -undef -traditional "),
  ("ld command", "/home/cavtools/64/pkg/bin/gld"),
  ("ld flags", ""),
  ("ld supports compact unwind", "YES"),
  ("ld supports build-id", "YES"),
  ("ld supports filelist", "NO"),
  ("ld is GNU ld", "YES"),
  ("ar command", "/home/cavtools/64/pkg/bin/gar"),
  ("ar flags", "q"),
  ("ar supports at file", "YES"),
  ("touch command", "touch"),
  ("dllwrap command", "/bin/false"),
  ("windres command", "/bin/false"),
  ("libtool command", "libtool"),
  ("perl command", "/usr/bin/perl"),
  ("target os", "OSLinux"),
  ("target arch", "ArchX86_64"),
  ("target word size", "8"),
  ("target has GNU nonexec stack", "True"),
  ("target has .ident directive", "True"),
  ("target has subsections via symbols", "False"),
  ("Unregisterised", "NO"),
  ("LLVM llc command", "llc"),
  ("LLVM opt command", "opt")
  ]

 inplace/lib/settings:

 [("GCC extra via C opts", " -fwrapv"),
  ("C compiler command", "/usr/bin/gcc"),
  ("C compiler flags", " -fno-stack-protector"),
  ("C compiler link flags", ""),
  ("Haskell CPP command","/usr/bin/gcc"),
  ("Haskell CPP flags","-E -undef -traditional "),
  ("ld command", "/home/cavtools/64/pkg/bin/gld"),
  ("ld flags", ""),
  ("ld supports compact unwind", "YES"),
  ("ld supports build-id", "YES"),
  ("ld supports filelist", "NO"),
  ("ld is GNU ld", "YES"),
  ("ar command", "/home/cavtools/64/pkg/bin/gar"),
  ("ar flags", "q"),
  ("ar supports at file", "YES"),
  ("touch command", "touch"),
  ("dllwrap command", "/bin/false"),
  ("windres command", "/bin/false"),
  ("libtool command", "libtool"),
  ("perl command", "/usr/bin/perl"),
  ("target os", "OSLinux"),
  ("target arch", "ArchX86_64"),
  ("target word size", "8"),
  ("target has GNU nonexec stack", "True"),
  ("target has .ident directive", "True"),
  ("target has subsections via symbols", "False"),
  ("Unregisterised", "NO"),
  ("LLVM llc command", "llc"),
  ("LLVM opt command", "opt")
  ]

 Failure looks like:

 "inplace/bin/ghc-stage1" -hisuf p_hi -osuf  p_o -hcsuf p_hc -static -prof
 -H32m -O    -this-package-key ghcpr_8TmvWUcS1U1IKHT0levwg3 -hide-all-
 packages -i -ilibraries/ghc-prim/. -ilibraries/ghc-prim/dist-install/build
 -ilibraries/ghc-prim/dist-install/build/autogen -Ilibraries/ghc-prim/dist-
 install/build -Ilibraries/ghc-prim/dist-install/build/autogen -Ilibraries
 /ghc-prim/.    -optP-include -optPlibraries/ghc-prim/dist-
 install/build/autogen/cabal_macros.h -package-key rts -this-package-key
 ghc-prim -XHaskell2010 -O2  -no-user-package-db -rtsopts      -odir
 libraries/ghc-prim/dist-install/build -hidir libraries/ghc-prim/dist-
 install/build -stubdir libraries/ghc-prim/dist-install/build -split-objs
 -c libraries/ghc-prim/./GHC/IntWord64.hs -o libraries/ghc-prim/dist-
 install/build/GHC/IntWord64.p_o -dyno libraries/ghc-prim/dist-
 install/build/GHC/IntWord64.dyn_o
 /usr/bin/ld: unrecognized option '--build-id=none'
 /usr/bin/ld: use the --help option for usage information
 collect2: ld returned 1 exit status

 But why are you using /usr/bin/ld? I told you not to use /usr/bin/ld!

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10671>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list