[PATCH] D63852: [Clang] Move assembler into a separate file

Ayke via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Jan 23 06:07:13 PST 2021


aykevl added a comment.

Well that didn't quite work. I get errors like this:

  tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/AssemblerInvocation.cpp.o:(.toc+0x0): undefined reference to `vtable for llvm::MCSubtargetInfo'
  tools/clang/lib/Frontend/CMakeFiles/obj.clangFrontend.dir/AssemblerInvocation.cpp.o: In function `clang::ExecuteAssembler(clang::AssemblerInvocation&, clang::DiagnosticsEngine&)':
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x418): undefined reference to `llvm::MCTargetOptions::MCTargetOptions()'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x564): undefined reference to `llvm::MCContext::MCContext(llvm::MCAsmInfo const*, llvm::MCRegisterInfo const*, llvm::MCObjectFileInfo const*, llvm::SourceMgr const*, llvm::MCTargetOptions const*, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x5c0): undefined reference to `llvm::MCObjectFileInfo::InitMCObjectFileInfo(llvm::Triple const&, bool, llvm::MCContext&, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x71c): undefined reference to `llvm::MCContext::addDebugPrefixMapEntry(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0xa1c): undefined reference to `llvm::MCAsmBackend::createDwoObjectWriter(llvm::raw_pwrite_stream&, llvm::raw_pwrite_stream&) const'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0xea0): undefined reference to `llvm::MCContext::setGenDwarfRootFile(llvm::StringRef, llvm::StringRef)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x11d8): undefined reference to `llvm::createAsmStreamer(llvm::MCContext&, std::unique_ptr<llvm::formatted_raw_ostream, std::default_delete<llvm::formatted_raw_ostream> >, bool, bool, llvm::MCInstPrinter*, std::unique_ptr<llvm::MCCodeEmitter, std::default_delete<llvm::MCCodeEmitter> >&&, std::unique_ptr<llvm::MCAsmBackend, std::default_delete<llvm::MCAsmBackend> >&&, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x137c): undefined reference to `llvm::createMCAsmParser(llvm::SourceMgr&, llvm::MCContext&, llvm::MCStreamer&, llvm::MCAsmInfo const&, unsigned int)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1460): undefined reference to `llvm::MCContext::setSymbolValue(llvm::MCStreamer&, llvm::StringRef, unsigned long)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1500): undefined reference to `llvm::MCContext::setSymbolValue(llvm::MCStreamer&, llvm::StringRef, unsigned long)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x16dc): undefined reference to `llvm::MCContext::~MCContext()'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1be8): undefined reference to `llvm::createELFStreamer(llvm::MCContext&, std::unique_ptr<llvm::MCAsmBackend, std::default_delete<llvm::MCAsmBackend> >&&, std::unique_ptr<llvm::MCObjectWriter, std::default_delete<llvm::MCObjectWriter> >&&, std::unique_ptr<llvm::MCCodeEmitter, std::default_delete<llvm::MCCodeEmitter> >&&, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1c08): undefined reference to `llvm::createXCOFFStreamer(llvm::MCContext&, std::unique_ptr<llvm::MCAsmBackend, std::default_delete<llvm::MCAsmBackend> >&&, std::unique_ptr<llvm::MCObjectWriter, std::default_delete<llvm::MCObjectWriter> >&&, std::unique_ptr<llvm::MCCodeEmitter, std::default_delete<llvm::MCCodeEmitter> >&&, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1d20): undefined reference to `llvm::MCContext::getMachOSection(llvm::StringRef, llvm::StringRef, unsigned int, unsigned int, llvm::SectionKind, char const*)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1d54): undefined reference to `llvm::MCStreamer::emitZeros(unsigned long)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x1d68): undefined reference to `llvm::MCAsmParser::setTargetParser(llvm::MCTargetAsmParser&)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x2090): undefined reference to `llvm::MCAsmBackend::createObjectWriter(llvm::raw_pwrite_stream&) const'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x2128): undefined reference to `llvm::createNullStreamer(llvm::MCContext&)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x24e0): undefined reference to `llvm::createMachOStreamer(llvm::MCContext&, std::unique_ptr<llvm::MCAsmBackend, std::default_delete<llvm::MCAsmBackend> >&&, std::unique_ptr<llvm::MCObjectWriter, std::default_delete<llvm::MCObjectWriter> >&&, std::unique_ptr<llvm::MCCodeEmitter, std::default_delete<llvm::MCCodeEmitter> >&&, bool, bool, bool)'
  AssemblerInvocation.cpp:(.text._ZN5clang16ExecuteAssemblerERNS_19AssemblerInvocationERNS_17DiagnosticsEngineE+0x2500): undefined reference to `llvm::createWasmStreamer(llvm::MCContext&, std::unique_ptr<llvm::MCAsmBackend, std::default_delete<llvm::MCAsmBackend> >&&, std::unique_ptr<llvm::MCObjectWriter, std::default_delete<llvm::MCObjectWriter> >&&, std::unique_ptr<llvm::MCCodeEmitter, std::default_delete<llvm::MCCodeEmitter> >&&, bool)'
  collect2: error: ld returned 1 exit status

See:
http://lab.llvm.org:8011/#/builders/57/builds/3704
http://lab.llvm.org:8011/#/builders/112/builds/3216
http://lab.llvm.org:8011/#/builders/121/builds/3900


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D63852



More information about the cfe-commits mailing list