[llvm-bugs] [Bug 39766] New: build of llvm-7 fails with sanitizer=undefined
via llvm-bugs
llvm-bugs at lists.llvm.org
Fri Nov 23 15:40:48 PST 2018
https://bugs.llvm.org/show_bug.cgi?id=39766
Bug ID: 39766
Summary: build of llvm-7 fails with sanitizer=undefined
Product: Build scripts
Version: 7.0
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: cmake
Assignee: unassignedbugs at nondot.org
Reporter: semi1 at posteo.de
CC: llvm-bugs at lists.llvm.org
The build of llvm-7 fails if sanitizer=undefined is enabled.
I am not sure if this is an llvm bug, it could also be in the shared_ptr
implementation of libstdc++.
cmake:
CC=/usr/bin/clang-7 CXX=/usr/bin/clang++-7 cmake -G "Ninja"
-DLLVM_TARGETS_TO_BUILD="X86"
-DLLVM_PARALLEL_LINK_JOBS=1-DCMAKE_BUILD_TYPE="Debug"
-DLLVM_USE_SANITIZER="Undefined" -DLLVM_CCACHE_BUILD=ON ../llvm
clang++-7 -v:
clang version 7.0.0-3 (tags/RELEASE_700/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64
libstdc++:
libstdc++.so.6.0.25
compile comand with failure and stacktrace:
UBSAN_OPTIONS=print_stacktrace=1 ninja -v -j 1
[1/1403] cd /home/jr/src/llvm-build && /home/jr/src/llvm-build/bin/llvm-tblgen
-gen-dag-isel -I /home/jr/src/llvm/lib/Target/X86 -I /home/jr/src/llvm/include
-I /home/jr/src/llvm/lib/Target /home/jr/src/llvm/lib/Target/X86/X86.td -o
lib/Target/X86/X86GenDAGISel.inc.tmp -d lib/Target/X86/X86GenDAGISel.inc.d
FAILED: lib/Target/X86/X86GenDAGISel.inc.tmp
cd /home/jr/src/llvm-build && /home/jr/src/llvm-build/bin/llvm-tblgen
-gen-dag-isel -I /home/jr/src/llvm/lib/Target/X86 -I /home/jr/src/llvm/include
-I /home/jr/src/llvm/lib/Target /home/jr/src/llvm/lib/Target/X86/X86.td -o
lib/Target/X86/X86GenDAGISel.inc.tmp -d lib/Target/X86/X86GenDAGISel.inc.d
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr_base.h:514:14:
runtime error: reference binding to address 0x000000989650 with insufficient
space for an object of type 'const std::type_info'
0x000000989650: note: pointer points here
4e 50 27 00 00 44 65 66 61 75 6c 74 4d 6f 64 65 00 2f 68 6f 6d 65 2f 6a 72
2f 73 72 63 2f 6c 6c
^
#0 0x4f4b56 in std::_Sp_make_shared_tag::_S_ti()
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr_base.h:514:7
#1 0x4fc456 in std::__shared_ptr<llvm::TreePatternNode,
(__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<llvm::TreePatternNode>,
llvm::Record*&, std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >, unsigned
int&>(std::_Sp_make_shared_tag, std::allocator<llvm::TreePatternNode> const&,
llvm::Record*&, std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >&&, unsigned int&)
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr_base.h:1329:43
#2 0x4fc223 in std::shared_ptr<llvm::TreePatternNode>
std::allocate_shared<llvm::TreePatternNode,
std::allocator<llvm::TreePatternNode>, llvm::Record*&,
std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >, unsigned
int&>(std::allocator<llvm::TreePatternNode> const&, llvm::Record*&,
std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >&&, unsigned int&)
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr.h:706:14
#3 0x4d5328 in std::shared_ptr<llvm::TreePatternNode>
std::make_shared<llvm::TreePatternNode, llvm::Record*&,
std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >, unsigned
int&>(llvm::Record*&, std::vector<std::shared_ptr<llvm::TreePatternNode>,
std::allocator<std::shared_ptr<llvm::TreePatternNode> > >&&, unsigned int&)
/usr/bin/../lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/shared_ptr.h:722:14
#4 0x4beb9d in llvm::TreePattern::ParseTreePattern(llvm::Init*,
llvm::StringRef) /home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2746:7
#5 0x4bda1c in llvm::TreePattern::ParseTreePattern(llvm::Init*,
llvm::StringRef)
/home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2586:14
#6 0x4bde79 in llvm::TreePattern::ParseTreePattern(llvm::Init*,
llvm::StringRef) /home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2645:9
#7 0x4bd87d in llvm::TreePattern::TreePattern(llvm::Record*,
llvm::ListInit*, bool, llvm::CodeGenDAGPatterns&)
/home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2539:21
#8 0x4d6248 in std::enable_if<!(std::is_array<llvm::TreePattern>::value),
std::unique_ptr<llvm::TreePattern, std::default_delete<llvm::TreePattern> >
>::type llvm::make_unique<llvm::TreePattern, llvm::Record*&, llvm::ListInit*&,
bool, llvm::CodeGenDAGPatterns&>(llvm::Record*&, llvm::ListInit*&, bool&&,
llvm::CodeGenDAGPatterns&)
/home/jr/src/llvm/include/llvm/ADT/STLExtras.h:1070:33
#9 0x4c181a in llvm::CodeGenDAGPatterns::ParsePatternFragments(bool)
/home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2990:35
#10 0x4c103a in
llvm::CodeGenDAGPatterns::CodeGenDAGPatterns(llvm::RecordKeeper&,
std::function<void (llvm::TreePattern*)>)
/home/jr/src/llvm/utils/TableGen/CodeGenDAGPatterns.cpp:2903:3
#11 0x5c8063 in (anonymous
namespace)::DAGISelEmitter::DAGISelEmitter(llvm::RecordKeeper&)
/home/jr/src/llvm/utils/TableGen/DAGISelEmitter.cpp:29:46
#12 0x5c7fd6 in llvm::EmitDAGISel(llvm::RecordKeeper&, llvm::raw_ostream&)
/home/jr/src/llvm/utils/TableGen/DAGISelEmitter.cpp:187:3
#13 0x77c98e in (anonymous namespace)::LLVMTableGenMain(llvm::raw_ostream&,
llvm::RecordKeeper&) /home/jr/src/llvm/utils/TableGen/TableGen.cpp:166:5
#14 0x883231 in llvm::TableGenMain(char*, bool (*)(llvm::raw_ostream&,
llvm::RecordKeeper&)) /home/jr/src/llvm/lib/TableGen/Main.cpp:109:7
#15 0x77c829 in main /home/jr/src/llvm/utils/TableGen/TableGen.cpp:247:10
#16 0x7fa1e93bc09a in __libc_start_main
/build/glibc-B9XfQf/glibc-2.28/csu/../csu/libc-start.c:308:16
#17 0x40c819 in _start (/home/jr/src/llvm-build/bin/llvm-tblgen+0x40c819)
ninja: build stopped: subcommand failed.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181123/e119229f/attachment-0001.html>
More information about the llvm-bugs
mailing list