Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 4,977
    • Issues 4,977
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 479
    • Merge requests 479
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #9142
Closed
Open
Created May 24, 2014 by Ben Gamari@bgamari🐢Maintainer

LLVM 3.5.0 rejects aliases used by LLVM codegen

LLVM HEAD has 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
Trac metadata
Trac field Value
Version 7.8.2
Type Bug
TypeOfFailure OtherFailure
Priority high
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
Edited Mar 09, 2019 by sjy
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking