[GHC] #10383: AArch64: get GHC Calling convention working

GHC ghc-devs at haskell.org
Mon Oct 19 23:29:57 UTC 2015


#10383: AArch64: get GHC Calling convention working
----------------------------------------+-------------------------------
        Reporter:  erikd                |                Owner:  erikd
            Type:  feature request      |               Status:  new
        Priority:  normal               |            Milestone:  8.0.1
       Component:  Compiler             |              Version:  7.11
      Resolution:                       |             Keywords:
Operating System:  Unknown/Multiple     |         Architecture:  aarch64
 Type of failure:  Building GHC failed  |            Test Case:
      Blocked By:                       |             Blocking:
 Related Tickets:                       |  Differential Rev(s):
       Wiki Page:                       |
----------------------------------------+-------------------------------

Comment (by erikd):

 Same problem compiling the most trivial "hello world" program. Without
 optimisation it compiles fine and the result executable works correctly.
 With optimisation the compiler crashes with a segfault.

 Add `-dshow-passes` results in:

 {{{
 $ inplace/bin/ghc-stage2 hello-world.hs -O1 -dshow-passes -fforce-recomp
 -o \
     hello-world
 Glasgow Haskell Compiler, Version 7.11.20151019, stage 2 booted by GHC
 version \
     7.8.4
 Using binary package database: /home/erikd/ghc-upstream/inplace/lib/
     package.conf.d/package.cache
 wired-in package ghc-prim mapped to ghc-prim-0.4.0.0
 wired-in package integer-gmp mapped to integer-gmp-1.0.0.0
 wired-in package base mapped to base-4.8.2.0
 wired-in package rts mapped to rts
 wired-in package template-haskell mapped to template-haskell-2.11.0.0
 wired-in package ghc mapped to ghc-7.11.20151019
 wired-in package dph-seq not found.
 wired-in package dph-par not found.
 wired-in package ghc-prim mapped to ghc-prim-0.4.0.0
 wired-in package integer-gmp mapped to integer-gmp-1.0.0.0
 wired-in package base mapped to base-4.8.2.0
 wired-in package rts mapped to rts-1.0
 wired-in package template-haskell mapped to template-haskell-2.11.0.0
 wired-in package ghc mapped to ghc-7.11.20151019
 wired-in package dph-seq not found.
 wired-in package dph-par not found.
 *** Chasing dependencies:
 Chasing modules from: *hello-world.hs
 Stable obj: []
 Stable BCO: []
 Ready for upsweep
   [NONREC
       ModSummary {
          ms_hs_date = 2015-10-19 23:10:28.96994973 UTC
          ms_mod = Main,
          ms_textual_imps = [(Nothing, Prelude)]
          ms_srcimps = []
       }]
 *** Deleting temp files:
 compile: input file hello-world.hs
 *** Checking old interface for Main:
 [1 of 1] Compiling Main             ( hello-world.hs, hello-world.o )
 *** Parser:
 *** Renamer/typechecker:
 *** Desugar:
 Result size of Desugar (after optimization)
   = {terms: 7, types: 5, coercions: 0}
 *** Simplifier:
 Result size of Simplifier iteration=1
   = {terms: 11, types: 10, coercions: 0}
 Result size of Simplifier = {terms: 11, types: 10, coercions: 0}
 *** Specialise:
 Illegal instruction (core dumped)
 }}}

 Regardless of the above, this is almost certainly an LLVM or linker
 problem.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10383#comment:36>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list