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

GHC ghc-devs at haskell.org
Mon Oct 19 22:24:58 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):

 Yep, added `%d15` to the clobbered regs list and added a comment along the
 lines you suggested. As usual its in the `wip/aarch64-regd` in the GHC git
 repo. Behavour as expected is unchanged.

 Currently have ~170 test failing. Choosing one, pretty much at random, I
 notice that it fails in three different ways (as do many of the other
 failing tests):

 {{{

 $ inplace/bin/ghc-stage2 -O -v0 -fforce-recomp \
     testsuite/tests/numeric/should_run/T7014.hs -o a.out
 Illegal instruction (core dumped)
 $ inplace/bin/ghc-stage2 -O -v0 -fforce-recomp \
     testsuite/tests/numeric/should_run/T7014.hs -o a.out
 Segmentation fault (core dumped)
 $ inplace/bin/ghc-stage2 -O -v0 -fforce-recomp \
     testsuite/tests/numeric/should_run/T7014.hs -o a.out
 Bus error (core dumped)
 }}}

 Even after disabling ASLR (Address space layout randomization) it still
 fails in at least two ways.

 The above failure only happens with optimisation (`-O`) turned on.

 As usual, GDB provides nothing but a very poor backtrace:

 {{{
 Program received signal SIGSEGV, Segmentation fault.
 0x000006d6f9400288 in ?? ()
 (gdb) bt
 #0  0x000006d6f9400288 in ?? ()
 #1  0x0000007fb6db8ca4 in cwTZ_info$def () from
         .../libHSghc-7.11.20151019-ghc7.11.20151019.so
 }}}

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


More information about the ghc-tickets mailing list