[GHC] #11395: The via-C code generation backend is incompatible with gcc 5.3.1 on m68k (ELF)

GHC ghc-devs at haskell.org
Fri Mar 11 23:18:01 UTC 2016


#11395: The via-C code generation backend is incompatible with gcc 5.3.1 on m68k
(ELF)
--------------------------------------------+------------------------------
        Reporter:  mkarcher                 |                Owner:
            Type:  bug                      |               Status:  new
        Priority:  normal                   |            Milestone:
       Component:  Compiler                 |              Version:  7.10.2
      Resolution:                           |             Keywords:
Operating System:  Linux                    |         Architecture:  m68k
 Type of failure:  GHC doesn't work at all  |            Test Case:
      Blocked By:                           |             Blocking:
 Related Tickets:                           |  Differential Rev(s):
       Wiki Page:                           |
--------------------------------------------+------------------------------

Comment (by Sergei Trofimovich <siarheit@…>):

 In [changeset:"e46742f5c51938bc7c992ac37fecc6df8cab7647/ghc"
 e46742f5/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="e46742f5c51938bc7c992ac37fecc6df8cab7647"
 rts: fix threadStackUnderflow type in cmm

 stg_stack_underflow_frame had an incorrect
 call of C function 'threadStackUnderflow':
     ("ptr" ret_off) =
       foreign "C" threadStackUnderflow(
         MyCapability(),
         CurrentTSO);

 Which means it's prototype is:
     void * (*) (W_, void*);
 While real prototype is:
     W_ (*) (Capability *cap, StgTSO *tso);

 The fix is simple. Fix type annotations:
     (ret_off) =
       foreign "C" threadStackUnderflow(
         MyCapability() "ptr",
         CurrentTSO "ptr");

 Noticed when debugged T9045 test failure
 on m68k target which distincts between
 pointer and non pointer return types
 (uses different registers)

 While at it noticed and fixed return types
 for 'throwTo' and 'findSpark'.

 Trac #11395

 Signed-off-by: Sergei Trofimovich <siarheit at google.com>
 }}}

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


More information about the ghc-tickets mailing list