[PATCH] D56437: Support blank flag in SHT_GROUP sections for ELF

Nico Weber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 25 16:27:02 PST 2019


thakis added a comment.

MSVC is printing lots of warnings about getShtGroupEntries(): https://logs.chromium.org/logs/chromium/bb/tryserver.chromium.win/win_upload_clang/471/+/recipes/steps/package_clang/0/stdout

  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(265): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(265): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(265): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(265): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\ELF\InputFiles.cpp(304): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\ELF\InputFiles.cpp(304): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\ELF\InputFiles.cpp(304): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\ELF\InputFiles.cpp(304): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Casting.h(58): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Casting.h(58): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Casting.h(58): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Casting.h(58): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/ADT/STLExtras.h(125): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/ADT/STLExtras.h(125): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/ADT/STLExtras.h(125): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/ADT/STLExtras.h(125): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Error.h(790): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Error.h(790): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Error.h(790): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\llvm\include\llvm/Support/Error.h(790): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\depot_tools\win_toolchain\vs_files\818a152b3f1da991c1725d85be19a0f27af6bab4\win_sdk\bin\..\..\VC\Tools\MSVC\14.16.27023\include\type_traits(16707566): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\depot_tools\win_toolchain\vs_files\818a152b3f1da991c1725d85be19a0f27af6bab4\win_sdk\bin\..\..\VC\Tools\MSVC\14.16.27023\include\type_traits(16707566): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,false>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF32BE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\depot_tools\win_toolchain\vs_files\818a152b3f1da991c1725d85be19a0f27af6bab4\win_sdk\bin\..\..\VC\Tools\MSVC\14.16.27023\include\type_traits(16707566): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::little,1>> lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::little,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64LE>::getShtGroupEntries'
  C:\b\rr\tmpd0_670\w\src\third_party\depot_tools\win_toolchain\vs_files\818a152b3f1da991c1725d85be19a0f27af6bab4\win_sdk\bin\..\..\VC\Tools\MSVC\14.16.27023\include\type_traits(16707566): warning C4661: 'llvm::ArrayRef<llvm::support::detail::packed_endian_specific_integral<uint32_t,llvm::support::big,1>> lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries(const llvm::object::Elf_Shdr_Impl<llvm::object::ELFType<llvm::support::big,true>> &)': no suitable definition provided for explicit template instantiation request
  c:\b\rr\tmpd0_670\w\src\third_party\llvm\tools\lld\elf\InputFiles.h(187): note: see declaration of 'lld::elf::ObjFile<llvm::object::ELF64BE>::getShtGroupEntries'

It's probably complaining that a template function is defined out of line.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56437/new/

https://reviews.llvm.org/D56437





More information about the llvm-commits mailing list