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