GHC ARM builds?
Karel Gardas
karel.gardas at centrum.cz
Mon Jul 9 08:13:16 CEST 2012
On 07/ 9/12 12:06 AM, Austin Seipp wrote:
> With 7.4.2, the patches for full ARM linker support were merged and
> released. Are there any official builds of GHC for Linux/ARM yet? I
> have a PandaBoard ES I'd be willing to contribute for builds and/or
> testing/development, but I don't know where to get a GHC for
> bootstrapping.
Just install Ubuntu 11.10 or 12.04 and install ghc/llvm with apt-get
install command as Eric already pointed out.
> It's also worth asking if there's any page documenting needed
> prerequisites/expected build environment. If not it should be added to
> the wiki (I don't see any as of right now.)
The wiki is linked from the GHC platforms page as ARMLinuxGNUEABI:
http://hackage.haskell.org/trac/ghc/wiki/Building/ARMLinuxGnuEABI --
it's little outdated so should be improved with a note about
debian/ubuntu shipping registerised ghc builds with llvm in the latest
releases.
Also, Freescale donated i.MX53 QSB for GHC/ARM builder, you can see it here:
http://darcs.haskell.org/ghcBuilder/builders/kgardas-linux-arm-head/index.html
it currently fails due to this issue:
http://hackage.haskell.org/trac/ghc/ticket/7049
As per GHCi support. Even on 7.4.2 I still get quite a lot of ghci
related failures so we're still not where we might be. If you are going
to hack on it, please get in touch with Ben Gamari (cced on this email)
first as he is the man behind ARM Linker support. I think for Linker
hacking, using 7.4.x branch code should be fine at least till GHC HEAD
unbreaks again. In comparison with 7.4.x, GHC HEAD provides more ARM
related functionality:
1) --with-llc/--with-opt configure command-line options to support
compilation of GHC with specified LLVM's tools -- done to please distro
folks
2) ARM hard-float ABI support. (usable for example on Ubuntu 12.04 which
is hard-float ABI)
If you are going to donate some of your panda ES time for GHC/ARM
builder, that would be fine as having more builders never hurt. Please
just make sure you don't see any stability issues I see for example with
my panda (temperature/eth/nfs related). That's the reason I'm using
i.MX53 QSB for builder and not the panda...
Last note: GHC/ARM depends on GHC's specific calling convention support
in LLVM. Unfortunately for ARM platform it was merged into LLVM 3.0, but
not into LLVM HEAD (at that time), so LLVM 3.1 doesn't support GHC/ARM
at all. I'm trying to resubmit the support for inclusion here:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-June/051119.html -- but
it's still not merged in.
Thanks and welcome to GHC/ARM camp!
Karel
More information about the Glasgow-haskell-users
mailing list