[GHC] #9142: LLVM HEAD rejects aliases used by LLVM codegen

GHC ghc-devs at haskell.org
Sat May 24 19:43:45 UTC 2014


#9142: LLVM HEAD rejects aliases  used by LLVM codegen
------------------------------------+-------------------------------------
       Reporter:  bgamari           |             Owner:
           Type:  bug               |            Status:  new
       Priority:  high              |         Milestone:
      Component:  Compiler          |           Version:  7.8.2
       Keywords:                    |  Operating System:  Unknown/Multiple
   Architecture:  Unknown/Multiple  |   Type of failure:  None/Unknown
     Difficulty:  Unknown           |         Test Case:
     Blocked By:                    |          Blocking:
Related Tickets:                    |
------------------------------------+-------------------------------------
 LLVM HEAD has [https://github.com/llvm-
 mirror/llvm/commit/38048cdb1c016e1429004ddf4adfa40a8d853cbf changed] the
 behavior of aliases to reject references to things other than definitions.
 This unfortunately means that the handling of externs breaks,

 {{{
 "inplace/bin/ghc-stage1" -static  -H64m -O0 -fllvm -Iincludes
 -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-
 ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name
 rts -dcmm-lint      -i -irts -irts/dist/build -irts/dist/build/autogen
 -Irts/dist/build -Irts/dist/build/autogen           -O2    -c
 rts/Apply.cmm -o rts/dist/build/Apply.o
 You are using a new version of LLVM that hasn't been tested yet!
 We will try though...
 Alias must point to a definition
 i8* @"barf$alias"
 Alias must point to a definition
 i8* @"stg_gc_unpt_r1$alias"
 Alias must point to a definition
 i8* @"stg_apply_interp_info$alias"
 Alias must point to a definition
 i8* @"stg_yield_to_interpreter$alias"
 Alias must point to a definition
 i8* @"stg_ap_stack_entries$alias"
 Alias must point to a definition
 i8* @"__stg_gc_enter_1$alias"
 Alias must point to a definition
 i8* @"stg_upd_frame_info$alias"
 LLVM ERROR: Broken module found, compilation aborted!
 }}}

 In reference to the following aliases,.

 {{{
 @barf = external global i8
 @barf$alias = alias private i8* @barf
 @stg_gc_unpt_r1 = external global i8
 @stg_gc_unpt_r1$alias = alias private i8* @stg_gc_unpt_r1
 @stg_apply_interp_info = external global i8
 @stg_apply_interp_info$alias = alias private i8* @stg_apply_interp_info
 @stg_yield_to_interpreter = external global i8
 @stg_yield_to_interpreter$alias = alias private i8*
 @stg_yield_to_interpreter
 @stg_ap_stack_entries = external global i8
 @stg_ap_stack_entries$alias = alias private i8* @stg_ap_stack_entries
 @__stg_gc_enter_1 = external global i8
 @__stg_gc_enter_1$alias = alias private i8* @__stg_gc_enter_1
 @stg_upd_frame_info = external global i8
 @stg_upd_frame_info$alias = alias private i8* @stg_upd_frame_info
 }}}

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


More information about the ghc-tickets mailing list