http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59469

            Bug ID: 59469
           Summary: LLVM build failure with gcc LTO
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: octoploid at yandex dot com

Building LLVM with LTO fails:
...
lib/libLLVMAsmParser.so: error: undefined reference to
'llvm::SymbolTableListTraits<llvm::BasicBlock,llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock>&,
llvm::ilist_iterator<llvm::BasicBlock>,
llvm::ilist_iterator<llvm::BasicBlock>)'

This only happens with "-O3 -flto":

markus@x4 llvm_build % g++ -flto-partition=none -flto -fPIC -shared -fno-rtti
-O3 BasicBlock.ii Function.ii
markus@x4 llvm_build % nm ./a.out | c++filt | grep
"llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock"

markus@x4 llvm_build % g++ -flto-partition=none -flto -fPIC -shared -fno-rtti
-O2 BasicBlock.ii Function.ii
markus@x4 llvm_build % nm ./a.out | c++filt | grep
"llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock"
000000000001b770 t llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock>&,
llvm::ilist_iterator<llvm::BasicBlock>, llvm::ilist_iterator<llvm::BasicBlock>)

markus@x4 llvm_build % g++ -fPIC -shared -fno-rtti -O3 BasicBlock.ii
Function.ii
markus@x4 llvm_build % nm ./a.out | c++filt | grep
"llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock"
000000000006a6e0 W llvm::SymbolTableListTraits<llvm::BasicBlock,
llvm::Function>::transferNodesFromList(llvm::ilist_traits<llvm::BasicBlock>&,
llvm::ilist_iterator<llvm::BasicBlock>, llvm::ilist_iterator<llvm::BasicBlock>)
markus@x4 llvm_build %   

I will try to reduce this further.

Reply via email to