[GHC] #8166: Undefined references in HEAD object files

GHC ghc-devs at haskell.org
Mon Aug 26 15:18:54 UTC 2013


#8166: Undefined references in HEAD object files
---------------------------------+----------------------------------
        Reporter:  joelteon      |            Owner:  jstolarek
            Type:  bug           |           Status:  new
        Priority:  high          |        Milestone:  7.8.1
       Component:  Compiler      |          Version:  7.7
      Resolution:                |         Keywords:
Operating System:  Linux         |     Architecture:  x86_64 (amd64)
 Type of failure:  None/Unknown  |       Difficulty:  Unknown
       Test Case:                |       Blocked By:
        Blocking:                |  Related Tickets:
---------------------------------+----------------------------------
Changes (by thoughtpolice):

 * owner:   => jstolarek
 * priority:  normal => high
 * milestone:   => 7.8.1


Comment:

 Reid confirmed this morning that reverting Jan's commits
 e5374a1b3ac11851576f8835e19d9fc92d7735c3 and
 388e14e28c2ab70419dc3be610da9806a8e38325 fixed this problem:

 {{{
 commit 388e14e28c2ab70419dc3be610da9806a8e38325
 Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
 Date:   Tue Aug 20 15:03:26 2013 +0100

     Merge cgTailCall and cgLneJump into one function

     Previosly logic of these functions was sth like this:

       cgIdApp x = case x of
                     A -> cgLneJump x
                     _ -> cgTailCall x

       cgTailCall x = case x of
                        B -> ...
                        C -> ...
                        _ -> ...

     After merging there is no nesting of cases:

       cgIdApp x = case x of
                     A -> -- body of cgLneJump
                     B -> ...
                     C -> ...
                     _ -> ...

 commit e5374a1b3ac11851576f8835e19d9fc92d7735c3
 Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
 Date:   Tue Aug 20 11:53:05 2013 +0100

     Cleanup StgCmm pass

     This cleanup includes:
       * removing dead code. This includes forkStatics function,
         which was in fact one big noop, and global bindings in
         CgInfoDownwards,
       * converting functions that used FCode monad only to
         access DynFlags into functions that take DynFlags
         as a parameter and don't work in a monad,
       * addBindC function is now smarter. It extracts Id from
         CgIdInfo passed to it in the same way addBindsC does.
         Previously this was done at every call site, which was
         redundant.
 }}}

 Unfortunately I'm having a hard time reproducing this myself on my Ubuntu
 13.04 machine. I believe this is also the problem Nicolas and Ben had on
 the list recently.

 Jan - can you look at this please? It's definitely problematic for several
 people (I may revert in the mean time.)

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




More information about the ghc-tickets mailing list