Skip to content

1.87 build fails with LLVM 19 #141353

Open
Open
@bbhtt

Description

@bbhtt

1.87 build fails with LLVM 19. Does 1.87 require LLVM 20+ or it's a bug?

        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:879:12: error: 'llvm::COFF::Arm64XFixupType' has not been declared
          879 |   void add(llvm::COFF::Arm64XFixupType type, uint8_t size,
              |            ^~~~
        /buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp: In member function 'std::optional<lld::coff::Symbol*> lld::coff::ObjFile::createDefined(llvm::object::COFFSymbolRef, std::vector<const llvm::object::coff_aux_section_definition*>&, bool&)':
        /buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp:770:11: error: 'class llvm::object::COFFSymbolRef' has no member named 'isEmptySectionDeclaration'
          770 |   if (sym.isEmptySectionDeclaration()) {
              |           ^~~~~~~~~~~~~~~~~~~~~~~~~
        In file included from /usr/include/c++/14.2.0/i686-unknown-linux-gnu/bits/c++allocator.h:33,
                         from /usr/include/c++/14.2.0/bits/allocator.h:46,
                         from /usr/include/c++/14.2.0/string:43,
                         from /usr/include/llvm/ADT/Hashing.h:56,
                         from /buildstream-build/src/llvm-project/lld/include/lld/Common/LLVM.h:19,
                         from /buildstream-build/src/llvm-project/lld/include/lld/Common/ErrorHandler.h:71,
                         from /buildstream-build/src/llvm-project/lld/COFF/Config.h:12,
                         from /buildstream-build/src/llvm-project/lld/COFF/InputFiles.h:12,
                         from /buildstream-build/src/llvm-project/lld/COFF/InputFiles.cpp:9:
        /usr/include/c++/14.2.0/bits/new_allocator.h: In instantiation of 'void std::__new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = lld::coff::Arm64XDynamicRelocEntry; _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry]':
        /usr/include/c++/14.2.0/bits/alloc_traits.h:534:17:   required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = lld::coff::Arm64XDynamicRelocEntry; _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry; allocator_type = std::allocator<lld::coff::Arm64XDynamicRelocEntry>]'
          534 |           __a.construct(__p, std::forward<_Args>(__args)...);
              |           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /usr/include/c++/14.2.0/bits/vector.tcc:117:30:   required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&}; _Tp = lld::coff::Arm64XDynamicRelocEntry; _Alloc = std::allocator<lld::coff::Arm64XDynamicRelocEntry>; reference = lld::coff::Arm64XDynamicRelocEntry&]'
          117 |             _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
              |             ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          118 |                                      std::forward<_Args>(__args)...);
              |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:881:30:   required from here
          881 |     arm64xRelocs.emplace_back(type, size, offset, value);
              |     ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
        /usr/include/c++/14.2.0/bits/new_allocator.h:191:11: error: no matching function for call to 'lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(int&, unsigned char&, lld::coff::Arm64XRelocVal&, lld::coff::Arm64XRelocVal&)'
          191 |         { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
              |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry()'
          854 | class Arm64XDynamicRelocEntry {
              |       ^~~~~~~~~~~~~~~~~~~~~~~
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note:   candidate expects 0 arguments, 4 provided
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'constexpr lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(const lld::coff::Arm64XDynamicRelocEntry&)'
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note:   candidate expects 1 argument, 4 provided
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note: candidate: 'constexpr lld::coff::Arm64XDynamicRelocEntry::Arm64XDynamicRelocEntry(lld::coff::Arm64XDynamicRelocEntry&&)'
        /buildstream-build/src/llvm-project/lld/COFF/Chunks.h:854:7: note:   candidate expects 1 argument, 4 provided

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions