<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 - llvm-objdump fails on llvm/ADT/SmallVector.h:153: const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed"
   href="https://bugs.llvm.org/show_bug.cgi?id=33622">33622</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>llvm-objdump fails on llvm/ADT/SmallVector.h:153: const_reference llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](size_type) const [T = llvm::MCOperand]: Assertion `idx < size()' failed
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </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>normal
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>MC
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>lesliezhai@llvm.org.cn
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=18726" name="attach_18726" title="basic-avr.s">attachment 18726</a> <a href="attachment.cgi?id=18726&action=edit" title="basic-avr.s">[details]</a></span>
basic-avr.s

Hi LLVM developers,

basic-avr.s attached.
$ llvm-mc -filetype=obj -triple=avr-unknown-linux -mcpu=atmega328p basic-avr.s
-o /tmp/basic-avr.o
$ ld.lld /tmp/basic-avr.o -o /tmp/basic-avr.o -Ttext=0


$ lldb /data/project/llvm/debug-build/bin/llvm-objdump
(lldb) target create "/data/project/llvm/debug-build/bin/llvm-objdump"
Current executable set to '/data/project/llvm/debug-build/bin/llvm-objdump'
(x86_64).
(lldb) r -d /tmp/basic-avr
Process 8788 launched: '/data/project/llvm/debug-build/bin/llvm-objdump'
(x86_64)

/tmp/basic-avr: file format ELF32-avr

Disassembly of section .text:
main:
   11000:       0e 94 02 88  <unknown>

foo:
   11004:       c3 94   inc     llvm-objdump:
/data/project/llvm/include/llvm/ADT/SmallVector.h:153: const_reference
llvm::SmallVectorTemplateCommon<llvm::MCOperand, void>::operator[](size_type)
const [T = llvm::MCOperand]: Assertion `idx < size()' failed.
Process 8788 stopped
* thread #1: tid = 8788, 0x00007fffeffaa8df libc.so.6`__GI_raise + 159, name =
'llvm-objdump', stop reason = signal SIGABRT
    frame #0: 0x00007fffeffaa8df libc.so.6`__GI_raise + 159
libc.so.6`__GI_raise:
->  0x7fffeffaa8df <+159>: movl   %r8d, %eax
    0x7fffeffaa8e2 <+162>: addq   $0x90, %rsp
    0x7fffeffaa8e9 <+169>: retq   
    0x7fffeffaa8ea <+170>: nopw   (%rax,%rax)


(lldb) bt
* thread #1: tid = 8788, 0x00007fffeffaa8df libc.so.6`__GI_raise + 159, name =
'llvm-objdump', stop reason = signal SIGABRT
  * frame #0: 0x00007fffeffaa8df libc.so.6`__GI_raise + 159
    frame #1: 0x00007fffeffac4da libc.so.6`__GI_abort + 362
    frame #2: 0x00007fffeffa2d67 libc.so.6`__assert_fail_base + 279
    frame #3: 0x00007fffeffa2e12 libc.so.6`__GI___assert_fail + 66
    frame #4: 0x00007ffff394bf6e
libLLVM-5.0svn.so`llvm::MCInst::getOperand(unsigned int) const [inlined]
llvm::SmallVectorTemplateCommon<llvm::MCOperand,
void>::operator[](this=0x00007fffffffbf60, idx=0) const + 86 at
SmallVector.h:153
    frame #5: 0x00007ffff394bf18
libLLVM-5.0svn.so`llvm::MCInst::getOperand(this=0x00007fffffffbf50, i=0) const
+ 40 at MCInst.h:173
    frame #6: 0x00007ffff47fbe0e
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printOperand(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, OpNo=0, O=0x00007ffff7d73ac0) + 46 at
AVRInstPrinter.cpp:103
    frame #7: 0x00007ffff47fbaf9
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printInstruction(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, O=0x00007ffff7d73ac0) + 313 at AVRGenAsmWriter.inc:727
    frame #8: 0x00007ffff47fd3f3
libLLVM-5.0svn.so`llvm::AVRInstPrinter::printInst(this=0x0000000000770aa0,
MI=0x00007fffffffbf50, O=0x00007ffff7d73ac0, Annot=(Data = "", Length = 0),
STI=0x0000000000767660) + 579 at AVRInstPrinter.cpp:82
    frame #9: 0x0000000000425aa8 llvm-objdump`(anonymous
namespace)::PrettyPrinter::printInst(this=0x0000000000720b30,
IP=0x0000000000770aa0, MI=0x00007fffffffbf50, Bytes=(Data =
"Ô\f\x94\x02\x88Linker: LLD 5.0.0 (trunk 306352)", Length = 2), Address=69636,
OS=0x00007ffff7d73ac0, Annot=(Data = "", Length = 0), STI=0x0000000000767660,
SP=0x00007fffffffc898)::SourcePrinter*) + 728 at llvm-objdump.cpp:525
    frame #10: 0x00000000004341ff
llvm-objdump`DisassembleObject(Obj=0x00000000007672f0, InlineRelocs=false) +
19727 at llvm-objdump.cpp:1583
    frame #11: 0x000000000042ef08 llvm-objdump`DumpObject(o=0x00000000007672f0,
a=0x0000000000000000) + 616 at llvm-objdump.cpp:2037
    frame #12: 0x0000000000425728 llvm-objdump`DumpInput(file=(Data =
"/tmp/basic-avr", Length = 14)) + 440 at llvm-objdump.cpp:2129
    frame #13: 0x000000000043cb92 llvm-objdump`void
(__first=__normal_iterator<std::__cxx11::basic_string<char> *,
std::vector<std::__cxx11::basic_string<char>,
std::allocator<std::__cxx11::basic_string<char> > > > @ 0x00007fffffffdb28,
__last=__normal_iterator<std::__cxx11::basic_string<char> *,
std::vector<std::__cxx11::basic_string<char>,
std::allocator<std::__cxx11::basic_string<char> > > > @ 0x00007fffffffdb20,
__f=(llvm-objdump`DumpInput(llvm::StringRef) at
llvm-objdump.cpp:2110))(llvm::StringRef)>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >,
__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> >*,
std::vector<std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > > > >, void
(*)(llvm::StringRef)))(llvm::StringRef) + 130 at stl_algo.h:3769
    frame #14: 0x0000000000425509 llvm-objdump`main(argc=3,
argv=0x00007fffffffde48) + 3065 at llvm-objdump.cpp:2189
    frame #15: 0x00007fffeff95401 libc.so.6`__libc_start_main + 241
    frame #16: 0x000000000042053a llvm-objdump`_start + 42

Regards,
Leslie Zhai</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>