1. 10 Jan, 2017 1 commit
  2. 28 Mar, 2016 1 commit
    • Herbert Valerio Riedel's avatar
      Scrap DEC OSF/1 support · f911358b
      Herbert Valerio Riedel authored
      DEC OSF/1 (aka Tru64 UNIX) has been discontinued a few years ago already[1].
      
      This removes the undoubtedly bitrotten support for `OSOsf3 :: OS` from GHC's
      code-base.
      
      Support for `ArchAlpha :: Arch` may be removed at some later point, as there
      may still be users out there running a more or less recent Linux/alpha
      distribution on their more-than-a-decade old Alpha hardware...
      
       [1]: https://en.wikipedia.org/wiki/Tru64_UNIX
      f911358b
  3. 19 Dec, 2015 1 commit
  4. 19 Nov, 2015 1 commit
  5. 03 Jul, 2015 1 commit
    • Peter Trommler's avatar
      Implement PowerPC 64-bit native code backend for Linux · d3c1dda6
      Peter Trommler authored
      Extend the PowerPC 32-bit native code generator for "64-bit
      PowerPC ELF Application Binary Interface Supplement 1.9" by
      Ian Lance Taylor and "Power Architecture 64-Bit ELF V2 ABI Specification --
      OpenPOWER ABI for Linux Supplement" by IBM.
      The latter ABI is mainly used on POWER7/7+ and POWER8
      Linux systems running in little-endian mode. The code generator
      supports both static and dynamic linking. PowerPC 64-bit
      code for ELF ABI 1.9 and 2 is mostly position independent
      anyway, and thus so is all the code emitted by the code
      generator. In other words, -fPIC does not make a difference.
      
      rts/stg/SMP.h support is implemented.
      
      Following the spirit of the introductory comment in
      PPC/CodeGen.hs, the rest of the code is a straightforward
      extension of the 32-bit implementation.
      
      Limitations:
      * Code is generated only in the medium code model, which
        is also gcc's default
      * Local symbols are not accessed directly, which seems to
        also be the case for 32-bit
      * LLVM does not work, but this does not work on 32-bit either
      * Must use the system runtime linker in GHCi, because the
        GHC linker for "static" object files (rts/Linker.c) for
        PPC 64-bit is not implemented. The system runtime
        (dynamic) linker works.
      * The handling of the system stack (register 1) is not ELF-
        compliant so stack traces break. Instead of allocating a new
        stack frame, spill code should use the "official" spill area
        in the current stack frame and deallocation code should restore
        the back chain
      * DWARF support is missing
      
      Fixes #9863
      
      Test Plan: validate (on powerpc, too)
      
      Reviewers: simonmar, trofi, erikd, austin
      
      Reviewed By: trofi
      
      Subscribers: bgamari, arnons1, kgardas, thomie
      
      Differential Revision: https://phabricator.haskell.org/D629
      
      GHC Trac Issues: #9863
      d3c1dda6
  6. 28 Dec, 2014 1 commit
    • Erik de Castro Lopo's avatar
      LlvmCodeGen cross-compiling fixes (#9895) · 58ac9c8f
      Erik de Castro Lopo authored
      
      
      Summary:
      * Throw an error when cross-compiling without a target definition.
        When cross compiling via LLVM, a target 'datalayout' and 'triple' must
        be defined or LLVM will generate code for the compile host instead of
        the compile target.
      
      * Add aarch64-unknown-linux-gnu target.
        The datalayout and triple lines were found by using clang to compile a
        small C program and -emit-llvm to get the LLVM IR output.
      Signed-off-by: Erik de Castro Lopo's avatarErik de Castro Lopo <erikd@mega-nerd.com>
      
      Test Plan: validate
      
      Reviewers: rwbarton, carter, hvr, bgamari, austin
      
      Reviewed By: austin
      
      Subscribers: carter, thomie, garious
      
      Differential Revision: https://phabricator.haskell.org/D585
      
      GHC Trac Issues: #9895
      58ac9c8f
  7. 19 Nov, 2014 1 commit
  8. 22 Apr, 2014 1 commit
  9. 28 Jan, 2014 1 commit
  10. 06 Sep, 2013 1 commit
    • thoughtpolice's avatar
      Add basic support for GHCJS · b372e8ea
      thoughtpolice authored
      
      
      This patch encompasses most of the basic infrastructure for GHCJS. It
      includes:
      
        * A new extension, -XJavaScriptFFI
        * A new architecture, ArchJavaScript
        * Parser and lexer support for 'foreign import javascript', only
          available under -XJavaScriptFFI, using ArchJavaScript.
        * As a knock-on, there is also a new 'WayCustom' constructor in
          DynFlags, so clients of the GHC API can add custom 'tags' to their
          built files. This should be useful for other users as well.
      
      The remaining changes are really just the resulting fallout, making sure
      all the cases are handled appropriately for DynFlags and Platform.
      Authored-by: Luite Stegeman's avatarLuite Stegeman <stegeman@gmail.com>
      Signed-off-by: thoughtpolice's avatarAustin Seipp <aseipp@pobox.com>
      b372e8ea
  11. 27 Apr, 2013 1 commit
  12. 18 Mar, 2013 1 commit
  13. 02 Mar, 2013 1 commit
  14. 25 Jan, 2013 1 commit
  15. 23 Jan, 2013 1 commit
  16. 13 Nov, 2012 1 commit
    • ian@well-typed.com's avatar
      Tell the compiler about alpha, mipseb and mipsel again; fixes #7339 · 9756690f
      ian@well-typed.com authored
      This reverts the compiler parts of
      
          commit 7b594a5d
          Author: David Terei <davidterei@gmail.com>
          Date:   Mon Nov 21 12:05:18 2011 -0800
      
          Remove registerised code for dead architectures: mips, ia64, alpha,
          hppa1, m68k
      
      In particular, we want to know whether bewareLoadStoreAlignment should
      return True or False for them.
      
      It also reverts
      
          commit 3fc68b5c
          Author: Simon Marlow <marlowsd@gmail.com>
          Date:   Wed Jan 4 11:44:02 2012 +0000
      
          Remove missing archs (mipseb, mipsel, alpha) (#5734)
      
          It doesn't hurt to map these to ArchUnknown since we don't need to
          know anything specific about them, and adding them would be a pain
          (there are a bunch of places where we have to case-match on all the
          arches to avoid warnings).
      9756690f
  17. 10 Sep, 2012 1 commit
  18. 07 Aug, 2012 1 commit
  19. 24 Jul, 2012 1 commit
  20. 27 Apr, 2012 1 commit
    • kgardas's avatar
      add support for ARM hard-float ABI (fixes #5914) · 3144f856
      kgardas authored
      This patch enhances Platform's ArchARM to include ARM ABI value. It also
      tweaks configure machinery to detect hard-float ABI and to set it wherever
      needed. Finally when hard-float ABI is in use, pass appropriate compiler
      option to the LLVM's llc. Fixes #5914.
      3144f856
  21. 07 Mar, 2012 1 commit
  22. 11 Feb, 2012 1 commit
  23. 04 Jan, 2012 3 commits
  24. 08 Dec, 2011 1 commit
  25. 25 Nov, 2011 1 commit
    • Ian Lynagh's avatar
      Fixes for NetBSD · 498467cf
      Ian Lynagh authored
      Based on a patch from Arnaud Degroote <degroote@NetBSD.org> in
      trac #5480.
      498467cf
  26. 22 Nov, 2011 1 commit
  27. 19 Oct, 2011 6 commits
  28. 18 Oct, 2011 3 commits
    • dterei's avatar
      Fix warning. · 53f14145
      dterei authored
      53f14145
    • Ian Lynagh's avatar
      Remove ArchUnknown · 2dea11a4
      Ian Lynagh authored
      It doesn't make sense. If platformArch is ArchUnknown then we don't know
      the answer to any questions about the arch. So now if we don't recognise
      the arch we just fail, and the new arch will need to be added to the
      datatype.
      2dea11a4
    • Ian Lynagh's avatar
      Remove OSUnknown · f75f26cc
      Ian Lynagh authored
      It doesn't make sense. If platformOS is OSUnknown then we don't know the
      answer to any questions about the OS. So now if we don't recognise the
      OS we just fail, and the new OS will need to be added to the datatype.
      f75f26cc
  29. 02 Oct, 2011 1 commit
  30. 21 Aug, 2011 1 commit
    • kgardas's avatar
      enhance ArchARM with ISA and ISA extensions · bab9a72d
      kgardas authored
      This patch enhances ArchARM with ARM ISA and ISA extensions details
      as is suggested in the comment in Platform.hs file. The patch is needed
      by future patch which will use ARM ISA information in order to pass
      appropriate command-line option to the LLVM llc tool.
      bab9a72d
  31. 07 Aug, 2011 1 commit