<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - build of llvm-7 fails with sanitizer=undefined"
   href="https://bugs.llvm.org/show_bug.cgi?id=39766">39766</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>build of llvm-7 fails with sanitizer=undefined
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>Build scripts
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>7.0
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>cmake
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>semi1@posteo.de
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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> >
<span class="quote">>::type llvm::make_unique<llvm::TreePattern, llvm::Record*&, llvm::ListInit*&,</span >
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.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>