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

GHC ghc-devs at haskell.org
Tue Mar 8 08:12:55 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:"90e1e160b783644c2d3cc0a05e3a804cea549cf9/ghc"
 90e1e160/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="90e1e160b783644c2d3cc0a05e3a804cea549cf9"
 Split external symbol prototypes (EF_) (Trac #11395)

 Before the patch both Cmm and C symbols were declared
 with 'EF_' macro:

     #define EF_(f)    extern StgFunPtr f()

 but for Cmm symbols we know exact prototypes.

 The patch splits there prototypes in to:

     #define EFF_(f)   void f() /* See Note [External function prototypes]
 */
     #define EF_(f)    StgFunPtr f(void)

 Cmm functions are 'EF_' (External Functions),
 C functions are 'EFF_' (External Foreign Functions).

 While at it changed external C function prototype
 to return 'void' to workaround ghc bug on m68k.
 Described in detail in Trac #11395.

 This makes simple tests work on m68k-linux target!

 Thanks to Michael Karcher for awesome analysis
 happening in Trac #11395.

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

 Test Plan: ran "hello world" on m68k successfully

 Reviewers: simonmar, austin, bgamari

 Reviewed By: bgamari

 Subscribers: thomie

 Differential Revision: https://phabricator.haskell.org/D1975

 GHC Trac Issues: #11395
 }}}

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


More information about the ghc-tickets mailing list