Changes between Version 5 and Version 6 of Building/ARMLinuxGnuEABI


Ignore:
Timestamp:
Nov 4, 2011 9:18:59 AM (3 years ago)
Author:
kgardas
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Building/ARMLinuxGnuEABI

    v5 v6  
    11= LLVM backend support for ARM = 
    22 
    3 As of August 10 2011, GHC HEAD supports registerised build on ARM when using LLVM backend. For this to work, you will need to have LLVM HEAD as of July 12 2011 with the patch from here: http://www.gardas.roznovan.cz/llvm/llvm-2011-07-12.patch applied. 
     3As of August 10 2011, GHC HEAD supports registerised build on ARM when using LLVM backend. You will need to have LLVM 3.0 installed for this to work. If for whatever reasons you cannot use LLVM 3.0 (or 3.0 RC2), you will need to have LLVM HEAD as of July 12 2011 with the patch from here: http://www.gardas.roznovan.cz/llvm/llvm-2011-07-12.patch applied. 
    44 
    55You can do this this way: 
     
    1212}}} 
    1313 
    14 for compilation on native ARM Linux system, you will need to use -O1 optimization level as higher levels produces more buggy LLVM. Configuration and compilation of LLVM might be done in this way: 
     14Please note that for compilation on native ARM Linux system, you will need to use -O1 optimization level as higher levels produces more buggy LLVM. Configuration and compilation of LLVM might be done in this way: 
    1515 
    1616{{{ 
     
    2828 * The backend currently breaks with LLVM 2011-08-08 (ghc-stage2 segfaults).  This needs to be investigated.  (Does the LLVM backend work on i386 and x86_64 with LLVM 2011-08-08 — i.e., is this ARM specific?) 
    2929 * ~~Use `-optlc=-mattr=+a9,+vfp3` after extending the properly `DriverPipeline` with a specification of the ARM ISA and ISA extensions (instead of using CPP).~~ -- fixed in GHC HEAD as of August 22 2011 
    30  * The above patch to LLVM needs to be submitted upstream, but only after we have decided on the final register use. 
     30 * ~~The above patch to LLVM needs to be submitted upstream, but only after we have decided on the final register use.~~ -- we have given up on changing regs mapping and submitted patch upstream. It was merged for LLVM 3.0 release on 2011-10-24