
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.ht... 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