Failed to build rtems 5.1 by rsb under debian 11 with LLVM DebugInfo enabled

起飞的老杨sprhawk sprhawk at gmail.com
Fri Jul 1 08:38:46 UTC 2022


Hello there. I'm building rtems 5.1 arm toolchain under debian 11. I got
errors when building rtems-tools. Because I installed LLVM, the configure
script checked llvm and 'llvm/DebugInfo/Symbolize/Symbolize.h' and added
LIB_LLVM, but during build process, it reports build error with log as an
attachment
I checked /usr/lib/llvm-11/include/llvm/Object/ELF.h, StringRef defines
interator as const char *,, while SmallVector Template defined in functions
has <char>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20220701/202ead39/attachment-0001.htm>
-------------- next part --------------
RTEMS Tools Project - Source Builder Error Report
 Build: error: building rtems-tools-5.1-1
 Command Line: ../source-builder/sb-set-builder --prefix=/home/hongbo/Developer/Embedded/rtems-5.1 5/rtems-arm
 Python: 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110]
 RSB: not a valid repo
 Linux dell-g15 5.10.0-13-amd64 #1 SMP Debian 5.10.106-1 (2022-03-17) x86_64
Tail of the build log:
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:17,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note: candidate: ‘template<class in_iter, class> void llvm::SmallVectorImpl<T>::append(in_iter, in_iter) [with in_iter = in_iter; <template-parameter-2-2> = <template-parameter-1-2>; T = char]’
  433 |   void append(in_iter in_start, in_iter in_end) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note:   template argument deduction/substitution failed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(llvm::SmallVectorImpl<T>::size_type, const T&) [with T = char; llvm::SmallVectorImpl<T>::size_type = long unsigned int]’ (near match)
  443 |   void append(size_type NumInputs, const T &Elt) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note:   conversion of argument 2 would be ill-formed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(std::initializer_list<_Tp>) [with T = char]’
  451 |   void append(std::initializer_list<T> IL) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note:   candidate expects 1 argument, 2 provided
In file included from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:25,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELF.h:493:43: error: no matching function for call to ‘llvm::SmallVectorImpl<char>::append(llvm::StringRef::iterator, llvm::StringRef::iterator)’
  493 |     Result.append(Name.begin(), Name.end());
      |                                           ^
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:17,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note: candidate: ‘template<class in_iter, class> void llvm::SmallVectorImpl<T>::append(in_iter, in_iter) [with in_iter = in_iter; <template-parameter-2-2> = <template-parameter-1-2>; T = char]’
  433 |   void append(in_iter in_start, in_iter in_end) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note:   template argument deduction/substitution failed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(llvm::SmallVectorImpl<T>::size_type, const T&) [with T = char; llvm::SmallVectorImpl<T>::size_type = long unsigned int]’ (near match)
  443 |   void append(size_type NumInputs, const T &Elt) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note:   conversion of argument 2 would be ill-formed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(std::initializer_list<_Tp>) [with T = char]’
  451 |   void append(std::initializer_list<T> IL) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note:   candidate expects 1 argument, 2 provided
In file included from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:25,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELF.h:497:43: error: no matching function for call to ‘llvm::SmallVectorImpl<char>::append(llvm::StringRef::iterator, llvm::StringRef::iterator)’
  497 |     Result.append(Name.begin(), Name.end());
      |                                           ^
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:17,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note: candidate: ‘template<class in_iter, class> void llvm::SmallVectorImpl<T>::append(in_iter, in_iter) [with in_iter = in_iter; <template-parameter-2-2> = <template-parameter-1-2>; T = char]’
  433 |   void append(in_iter in_start, in_iter in_end) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:433:8: note:   template argument deduction/substitution failed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(llvm::SmallVectorImpl<T>::size_type, const T&) [with T = char; llvm::SmallVectorImpl<T>::size_type = long unsigned int]’ (near match)
  443 |   void append(size_type NumInputs, const T &Elt) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:443:8: note:   conversion of argument 2 would be ill-formed:
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note: candidate: ‘void llvm::SmallVectorImpl<T>::append(std::initializer_list<_Tp>) [with T = char]’
  451 |   void append(std::initializer_list<T> IL) {
      |        ^~~~~~
/usr/lib/llvm-11/include/llvm/ADT/SmallVector.h:451:8: note:   candidate expects 1 argument, 2 provided
In file included from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:25,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELF.h: In member function ‘llvm::Expected<llvm::StringRef> llvm::object::ELFFile<ELFT>::getSectionStringTable(llvm::object::ELFFile<ELFT>::Elf_Shdr_Range, llvm::object::ELFFile<ELFT>::WarningHandler) const’:
/usr/lib/llvm-11/include/llvm/Object/ELF.h:534:12: error: could not convert ‘""’ from ‘const char [1]’ to ‘llvm::Expected<llvm::StringRef>’
  534 |     return "";
      |            ^~
      |            |
      |            const char [1]
/usr/lib/llvm-11/include/llvm/Object/ELF.h: In member function ‘llvm::Expected<llvm::StringRef> llvm::object::ELFFile<ELFT>::getStringTable(const Elf_Shdr*, llvm::object::ELFFile<ELFT>::WarningHandler) const’:
/usr/lib/llvm-11/include/llvm/Object/ELF.h:660:10: error: could not convert ‘llvm::StringRef(Data.llvm::ArrayRef<char>::begin(), Data.llvm::ArrayRef<char>::size())’ from ‘llvm::StringRef’ to ‘llvm::Expected<llvm::StringRef>’
  660 |   return StringRef(Data.begin(), Data.size());
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          |
      |          llvm::StringRef
/usr/lib/llvm-11/include/llvm/Object/ELF.h: In member function ‘llvm::Expected<llvm::StringRef> llvm::object::ELFFile<ELFT>::getSectionName(const Elf_Shdr*, llvm::StringRef) const’:
/usr/lib/llvm-11/include/llvm/Object/ELF.h:742:12: error: could not convert ‘llvm::StringRef()’ from ‘llvm::StringRef’ to ‘llvm::Expected<llvm::StringRef>’
  742 |     return StringRef();
      |            ^~~~~~~~~~~
      |            |
      |            llvm::StringRef
/usr/lib/llvm-11/include/llvm/Object/ELF.h:749:10: error: could not convert ‘(llvm::StringRef)((DotShstrtab.llvm::StringRef::data() + Offset))’ from ‘llvm::StringRef’ to ‘llvm::Expected<llvm::StringRef>’
  749 |   return StringRef(DotShstrtab.data() + Offset);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          |
      |          llvm::StringRef
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<llvm::StringRef> llvm::object::ELFObjectFile<ELFT>::getSymbolName(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:472:20: error: base operand of ‘->’ has non-pointer type ‘llvm::Expected<llvm::StringRef>’
  472 |   if (Name && !Name->empty())
      |                    ^~
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:479:15: error: no match for ‘operator*’ (operand type is ‘llvm::Expected<llvm::object::content_iterator<llvm::object::SectionRef> >’)
  479 |       return (*SecOrErr)->getName();
      |               ^~~~~~~~~
In file included from /usr/lib/llvm-11/include/llvm/ADT/APSInt.h:17,
                 from /usr/lib/llvm-11/include/llvm/Support/ScopedPrinter.h:12,
                 from /usr/lib/llvm-11/include/llvm/Support/ELFAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Support/ARMAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:30,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note: candidate: ‘llvm::APInt llvm::operator*(llvm::APInt, uint64_t)’
 2151 | inline APInt operator*(APInt a, uint64_t RHS) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note:   candidate expects 2 arguments, 1 provided
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note: candidate: ‘llvm::APInt llvm::operator*(uint64_t, llvm::APInt)’
 2156 | inline APInt operator*(uint64_t LHS, APInt b) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<long unsigned int> llvm::object::ELFObjectFile<ELFT>::getSymbolAddress(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:524:21: error: no match for ‘operator*’ (operand type is ‘llvm::Expected<long unsigned int>’)
  524 |   uint64_t Result = *SymbolValueOrErr;
      |                     ^~~~~~~~~~~~~~~~~
In file included from /usr/lib/llvm-11/include/llvm/ADT/APSInt.h:17,
                 from /usr/lib/llvm-11/include/llvm/Support/ScopedPrinter.h:12,
                 from /usr/lib/llvm-11/include/llvm/Support/ELFAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Support/ARMAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:30,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note: candidate: ‘llvm::APInt llvm::operator*(llvm::APInt, uint64_t)’
 2151 | inline APInt operator*(APInt a, uint64_t RHS) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note:   candidate expects 2 arguments, 1 provided
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note: candidate: ‘llvm::APInt llvm::operator*(uint64_t, llvm::APInt)’
 2156 | inline APInt operator*(uint64_t LHS, APInt b) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:530:12: error: could not convert ‘Result’ from ‘uint64_t’ {aka ‘long unsigned int’} to ‘llvm::Expected<long unsigned int>’
  530 |     return Result;
      |            ^~~~~~
      |            |
      |            uint64_t {aka long unsigned int}
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:548:10: error: could not convert ‘Result’ from ‘uint64_t’ {aka ‘long unsigned int’} to ‘llvm::Expected<long unsigned int>’
  548 |   return Result;
      |          ^~~~~~
      |          |
      |          uint64_t {aka long unsigned int}
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<llvm::object::SymbolRef::Type> llvm::object::ELFObjectFile<ELFT>::getSymbolType(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:600:23: error: could not convert ‘llvm::object::SymbolRef::ST_Unknown’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  600 |     return SymbolRef::ST_Unknown;
      |            ~~~~~~~~~~~^~~~~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:602:23: error: could not convert ‘llvm::object::SymbolRef::ST_Debug’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  602 |     return SymbolRef::ST_Debug;
      |            ~~~~~~~~~~~^~~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:604:23: error: could not convert ‘llvm::object::SymbolRef::ST_File’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  604 |     return SymbolRef::ST_File;
      |            ~~~~~~~~~~~^~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:606:23: error: could not convert ‘llvm::object::SymbolRef::ST_Function’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  606 |     return SymbolRef::ST_Function;
      |            ~~~~~~~~~~~^~~~~~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:610:23: error: could not convert ‘llvm::object::SymbolRef::ST_Data’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  610 |     return SymbolRef::ST_Data;
      |            ~~~~~~~~~~~^~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:612:23: error: could not convert ‘llvm::object::SymbolRef::ST_Other’ from ‘llvm::object::SymbolRef::Type’ to ‘llvm::Expected<llvm::object::SymbolRef::Type>’
  612 |     return SymbolRef::ST_Other;
      |            ~~~~~~~~~~~^~~~~~~~
      |                       |
      |                       llvm::object::SymbolRef::Type
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<unsigned int> llvm::object::ELFObjectFile<ELFT>::getSymbolFlags(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:654:24: error: no match for ‘operator*’ (operand type is ‘llvm::Expected<llvm::StringRef>’)
  654 |       StringRef Name = *NameOrErr;
      |                        ^~~~~~~~~~
In file included from /usr/lib/llvm-11/include/llvm/ADT/APSInt.h:17,
                 from /usr/lib/llvm-11/include/llvm/Support/ScopedPrinter.h:12,
                 from /usr/lib/llvm-11/include/llvm/Support/ELFAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Support/ARMAttributeParser.h:13,
                 from /usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:30,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note: candidate: ‘llvm::APInt llvm::operator*(llvm::APInt, uint64_t)’
 2151 | inline APInt operator*(APInt a, uint64_t RHS) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2151:14: note:   candidate expects 2 arguments, 1 provided
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note: candidate: ‘llvm::APInt llvm::operator*(uint64_t, llvm::APInt)’
 2156 | inline APInt operator*(uint64_t LHS, APInt b) {
      |              ^~~~~~~~
/usr/lib/llvm-11/include/llvm/ADT/APInt.h:2156:14: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:19,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:678:10: error: could not convert ‘Result’ from ‘uint32_t’ {aka ‘unsigned int’} to ‘llvm::Expected<unsigned int>’
  678 |   return Result;
      |          ^~~~~~
      |          |
      |          uint32_t {aka unsigned int}
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<llvm::object::content_iterator<llvm::object::SectionRef> > llvm::object::ELFObjectFile<ELFT>::getSymbolSection(const Elf_Sym*, const Elf_Shdr*) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:695:10: error: could not convert ‘(llvm::object::section_iterator)(llvm::object::SectionRef(Sec, ((const llvm::object::ELFObjectFile<ELFT>*)this)))’ from ‘llvm::object::section_iterator’ {aka ‘llvm::object::content_iterator<llvm::object::SectionRef>’} to ‘llvm::Expected<llvm::object::content_iterator<llvm::object::SectionRef> >’
  695 |   return section_iterator(SectionRef(Sec, this));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          |
      |          llvm::object::section_iterator {aka llvm::object::content_iterator<llvm::object::SectionRef>}
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<llvm::ArrayRef<unsigned char> > llvm::object::ELFObjectFile<ELFT>::getSectionContents(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:746:24: error: could not convert ‘llvm::makeArrayRef((const uint8_t*)(((const llvm::object::ELFObjectFile<ELFT>*)this)->llvm::object::ObjectFile::base()), 0)’ from ‘llvm::ArrayRef<unsigned char>’ to ‘llvm::Expected<llvm::ArrayRef<unsigned char> >’
  746 |     return makeArrayRef((const uint8_t *)base(), 0);
      |            ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                        |
      |                        llvm::ArrayRef<unsigned char>
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<llvm::object::content_iterator<llvm::object::SectionRef> > llvm::object::ELFObjectFile<ELFT>::getRelocatedSection(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:885:10: error: could not convert ‘(llvm::object::section_iterator)(llvm::object::SectionRef(((const llvm::object::ELFObjectFile<ELFT>*)this)->llvm::object::ELFObjectFile<ELFT>::toDRI((* SecOrErr)), ((const llvm::object::ELFObjectFile<ELFT>*)this)))’ from ‘llvm::object::section_iterator’ {aka ‘llvm::object::content_iterator<llvm::object::SectionRef>’} to ‘llvm::Expected<llvm::object::content_iterator<llvm::object::SectionRef> >’
  885 |   return section_iterator(SectionRef(toDRI(*SecOrErr), this));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          |
      |          llvm::object::section_iterator {aka llvm::object::content_iterator<llvm::object::SectionRef>}
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h: In member function ‘llvm::Expected<long int> llvm::object::ELFObjectFile<ELFT>::getRelocationAddend(llvm::object::DataRefImpl) const’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:948:10: error: could not convert ‘(int64_t)(((const llvm::object::ELFObjectFile<ELFT>*)this)->llvm::object::ELFObjectFile<ELFT>::getRela(Rel)->r_addend)’ from ‘int64_t’ {aka ‘long int’} to ‘llvm::Expected<long int>’
  948 |   return (int64_t)getRela(Rel)->r_addend;
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |          |
      |          int64_t {aka long int}
In file included from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h: At global scope:
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:120:71: error: wrong number of template arguments (0, should be 1)
  120 |   std::map<std::string, std::unique_ptr<SymbolizableModule>, std::less<>>
      |                                                                       ^
In file included from /usr/include/c++/10/string:48,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from ../trace/record/client.h:39,
                 from ../trace/record/record-main-lttng.cc:33:
/usr/include/c++/10/bits/stl_function.h:381:12: note: provided for ‘template<class _Tp> struct std::less’
  381 |     struct less : public binary_function<_Tp, _Tp, bool>
      |            ^~~~
In file included from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:120:72: error: template argument 3 is invalid
  120 |   std::map<std::string, std::unique_ptr<SymbolizableModule>, std::less<>>
      |                                                                        ^~
../trace/record/record-main-lttng.cc: In member function ‘std::map<long unsigned int, std::vector<char, std::allocator<char> > >::iterator LTTNGClient::ResolveAddress(const ClientItem&)’:
../trace/record/record-main-lttng.cc:349:66: error: no matching function for call to ‘llvm::symbolize::LLVMSymbolizer::symbolizeCode(std::string&, <brace-enclosed initializer list>)’
  349 |         {item.data, llvm::object::SectionedAddress::UndefSection});
      |                                                                  ^
In file included from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:61:24: note: candidate: ‘llvm::Expected<llvm::DILineInfo> llvm::symbolize::LLVMSymbolizer::symbolizeCode(const llvm::object::ObjectFile&, llvm::object::SectionedAddress)’
   61 |   Expected<DILineInfo> symbolizeCode(const ObjectFile &Obj,
      |                        ^~~~~~~~~~~~~
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:61:56: note:   no known conversion for argument 1 from ‘std::string’ {aka ‘std::__cxx11::basic_string<char>’} to ‘const llvm::object::ObjectFile&’
   61 |   Expected<DILineInfo> symbolizeCode(const ObjectFile &Obj,
      |                                      ~~~~~~~~~~~~~~~~~~^~~
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:63:24: note: candidate: ‘llvm::Expected<llvm::DILineInfo> llvm::symbolize::LLVMSymbolizer::symbolizeCode(const string&, llvm::object::SectionedAddress)’
   63 |   Expected<DILineInfo> symbolizeCode(const std::string &ModuleName,
      |                        ^~~~~~~~~~~~~
/usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:64:63: note:   no known conversion for argument 2 from ‘<brace-enclosed initializer list>’ to ‘llvm::object::SectionedAddress’
   64 |                                      object::SectionedAddress ModuleOffset);
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/lib/llvm-11/include/llvm/Object/Error.h:16,
                 from /usr/lib/llvm-11/include/llvm/Object/Binary.h:18,
                 from /usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:21,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:18,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = std::unique_ptr<llvm::object::SymbolicFile>]’:
/usr/lib/llvm-11/include/llvm/Object/SymbolicFile.h:168:73:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = unsigned int]’:
/usr/lib/llvm-11/include/llvm/Object/SymbolicFile.h:199:50:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = long unsigned int]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:332:55:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = std::unique_ptr<llvm::object::ObjectFile>]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:355:62:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = llvm::StringRef]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:385:56:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = llvm::object::content_iterator<llvm::object::SectionRef>]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:405:59:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = llvm::object::SymbolRef::Type]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:409:56:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = llvm::ArrayRef<unsigned char>]’:
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:459:52:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
/usr/lib/llvm-11/include/llvm/Support/Error.h: In instantiation of ‘llvm::Expected<T>::~Expected() [with T = long int]’:
/usr/lib/llvm-11/include/llvm/Object/ELFObjectFile.h:199:64:   required from here
/usr/lib/llvm-11/include/llvm/Support/Error.h:523:17: error: ‘getStorage’ was not declared in this scope; did you mean ‘getErrorStorage’?
  523 |       getStorage()->~storage_type();
      |       ~~~~~~~~~~^~
      |       getErrorStorage
In file included from /usr/lib/llvm-11/include/llvm/ADT/ArrayRef.h:12,
                 from /usr/lib/llvm-11/include/llvm/ADT/DenseMapInfo.h:16,
                 from /usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:16,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:18,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/Hashing.h: In instantiation of ‘llvm::hash_code llvm::hashing::detail::hash_combine_recursive_helper::combine(size_t, char*, char*, const T&, const Ts& ...) [with T = long unsigned int; Ts = {unsigned int, unsigned int}; size_t = long unsigned int]’:
/usr/lib/llvm-11/include/llvm/ADT/Hashing.h:602:24:   required from ‘llvm::hash_code llvm::hash_combine(const Ts& ...) [with Ts = {long unsigned int, unsigned int, unsigned int}]’
/usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:584:48:   required from here
/usr/lib/llvm-11/include/llvm/ADT/Hashing.h:554:80: error: ‘get_hashable_data’ was not declared in this scope
  554 |     buffer_ptr = combine_data(length, buffer_ptr, buffer_end, get_hashable_data(arg));
      |                                                               ~~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/lib/llvm-11/include/llvm/ADT/ArrayRef.h:15,
                 from /usr/lib/llvm-11/include/llvm/ADT/DenseMapInfo.h:16,
                 from /usr/lib/llvm-11/include/llvm/Object/ObjectFile.h:16,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/DIContext.h:18,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/SymbolizableModule.h:15,
                 from /usr/lib/llvm-11/include/llvm/DebugInfo/Symbolize/Symbolize.h:16,
                 from ../trace/record/record-main-lttng.cc:48:
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h: In instantiation of ‘int llvm::adl_detail::adl_begin(ContainerTy&&) [with ContainerTy = const long unsigned int (&)[3]]’:
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:250:31:   required from ‘int llvm::adl_begin(ContainerTy&&) [with ContainerTy = const long unsigned int (&)[3]]’
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:1499:31:   required from ‘bool llvm::any_of(R&&, UnaryPredicate) [with R = const long unsigned int (&)[3]; UnaryPredicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/MC/SubtargetFeature.h:95:64:   required from here
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:228:15: error: invalid conversion from ‘const long unsigned int*’ to ‘int’ [-fpermissive]
  228 |   return begin(std::forward<ContainerTy>(container));
      |          ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |               |
      |               const long unsigned int*
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h: In instantiation of ‘int llvm::adl_detail::adl_end(ContainerTy&&) [with ContainerTy = const long unsigned int (&)[3]]’:
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:255:29:   required from ‘int llvm::adl_end(ContainerTy&&) [with ContainerTy = const long unsigned int (&)[3]]’
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:1499:47:   required from ‘bool llvm::any_of(R&&, UnaryPredicate) [with R = const long unsigned int (&)[3]; UnaryPredicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/MC/SubtargetFeature.h:95:64:   required from here
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:235:13: error: invalid conversion from ‘const long unsigned int*’ to ‘int’ [-fpermissive]
  235 |   return end(std::forward<ContainerTy>(container));
      |          ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             |
      |             const long unsigned int*
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from ../trace/record/client.h:39,
                 from ../trace/record/record-main-lttng.cc:33:
/usr/include/c++/10/bits/stl_algobase.h: In instantiation of ‘_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = int; _Predicate = __gnu_cxx::__ops::_Iter_pred<llvm::FeatureBitset::any() const::<lambda(uint64_t)> >]’:
/usr/include/c++/10/bits/stl_algo.h:3929:28:   required from ‘_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/include/c++/10/bits/stl_algo.h:471:47:   required from ‘bool std::none_of(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/include/c++/10/bits/stl_algo.h:490:27:   required from ‘bool std::any_of(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:1499:21:   required from ‘bool llvm::any_of(R&&, UnaryPredicate) [with R = const long unsigned int (&)[3]; UnaryPredicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/MC/SubtargetFeature.h:95:64:   required from here
/usr/include/c++/10/bits/stl_algobase.h:1975:34: error: no matching function for call to ‘__iterator_category(int&)’
 1975 |          std::__iterator_category(__first));
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:65,
                 from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/ostream:38,
                 from /usr/include/c++/10/iostream:39,
                 from ../trace/record/client.h:39,
                 from ../trace/record/record-main-lttng.cc:33:
/usr/include/c++/10/bits/stl_iterator_base_types.h:238:5: note: candidate: ‘template<class _Iter> constexpr typename std::iterator_traits< <template-parameter-1-1> >::iterator_category std::__iterator_category(const _Iter&)’
  238 |     __iterator_category(const _Iter&)
      |     ^~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/stl_iterator_base_types.h:238:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/bits/stl_iterator_base_types.h: In substitution of ‘template<class _Iter> constexpr typename std::iterator_traits< <template-parameter-1-1> >::iterator_category std::__iterator_category(const _Iter&) [with _Iter = int]’:
/usr/include/c++/10/bits/stl_algobase.h:1975:34:   required from ‘_Iterator std::__find_if(_Iterator, _Iterator, _Predicate) [with _Iterator = int; _Predicate = __gnu_cxx::__ops::_Iter_pred<llvm::FeatureBitset::any() const::<lambda(uint64_t)> >]’
/usr/include/c++/10/bits/stl_algo.h:3929:28:   required from ‘_IIter std::find_if(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/include/c++/10/bits/stl_algo.h:471:47:   required from ‘bool std::none_of(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/include/c++/10/bits/stl_algo.h:490:27:   required from ‘bool std::any_of(_IIter, _IIter, _Predicate) [with _IIter = int; _Predicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/ADT/STLExtras.h:1499:21:   required from ‘bool llvm::any_of(R&&, UnaryPredicate) [with R = const long unsigned int (&)[3]; UnaryPredicate = llvm::FeatureBitset::any() const::<lambda(uint64_t)>]’
/usr/lib/llvm-11/include/llvm/MC/SubtargetFeature.h:95:64:   required from here
/usr/include/c++/10/bits/stl_iterator_base_types.h:238:5: error: no type named ‘iterator_category’ in ‘struct std::iterator_traits<int>’

Waf: Leaving directory `/home/hongbo/Developer/Embedded/rtems-5.1/rsb/rtems/build/rtems-tools-5.1-1/rtems-tools-5.1/build'
Build failed
 -> task in 'rtems-record-lttng' failed with exit status 1 (run with -v to display more information)
shell cmd failed: /bin/sh -ex  /home/hongbo/Developer/Embedded/rtems-5.1/rsb/rtems/build/rtems-tools-5.1-1/do-build
error: building rtems-tools-5.1-1


More information about the users mailing list