[GHC] #8103: Segfault when passing unboxed Float# and Double# across modules

GHC ghc-devs at haskell.org
Thu Aug 15 15:43:03 CEST 2013


#8103: Segfault when passing unboxed Float# and Double# across modules
---------------------------------------------+-----------------------------
        Reporter:  jstolarek                 |            Owner:  jstolarek
            Type:  bug                       |           Status:  closed
        Priority:  highest                   |        Milestone:  7.8.1
       Component:  Compiler                  |          Version:  7.7
      Resolution:  fixed                     |         Keywords:
Operating System:  Linux                     |     Architecture:  x86
 Type of failure:  Runtime crash             |       Difficulty:  Unknown
       Test Case:  codeGen/should_run/T8103  |       Blocked By:
        Blocking:  6135                      |  Related Tickets:
---------------------------------------------+-----------------------------

Comment (by simonmar):

 Interesting.  Geoff's accidental change to the calling convention
 ''almost'' worked, it was just the generic apply functions that were still
 using the old convention because that code has its own implementation of
 the calling conventions (`utils/genapply`).  So that's why reproducing the
 bug relied on not inlining something, thus using the generic apply code.

 The reference to `D1` is correct, because that's part of the ''return''
 convention, which always uses `D1` regardless of whether it's a real
 register or not.

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




More information about the ghc-tickets mailing list