[GHC] #15207: bad dwarf frame in stgRun.c when compiled with with gcc on mac and assembled by as/gcc/clang (aka apple clang assembler)

GHC ghc-devs at haskell.org
Tue Nov 13 03:15:48 UTC 2018


#15207: bad dwarf frame in stgRun.c when compiled with with gcc on mac and
assembled by as/gcc/clang (aka apple clang assembler)
-------------------------------------+-------------------------------------
        Reporter:  carter            |                Owner:  (none)
            Type:  bug               |               Status:  infoneeded
        Priority:  normal            |            Milestone:  8.8.1
       Component:  Runtime System    |              Version:  8.4.3
      Resolution:                    |             Keywords:
Operating System:  MacOS X           |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D4781
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by carter):

 So a few things:

 ben's patch on phabricator is inccorect, it needs to be changed as follows
 {{{
 -#if defined(__clang__)
 + #if !defined(__clang__) && defined(darwin_HOST_OS)
 #define NEED_EXPLICIT_CFI_START_END
 #endif
 }}}

 and the comment / explanation there is wrong
 the issue isn't building the file with CLANG. its building the inline asm
 with GCC, but using the OSX assembler.

 even with the above tweak (which isolates the change to OSX and using gcc
 there), linking the RTS including one of the STGCRUN object files triggers
 an Assert in the system linker, both the xcode 10 cli tools LD and the
 LLVM 7 LD (ld.lld) both have this validation aasert

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


More information about the ghc-tickets mailing list