nickdesaulniers added a comment.

I tested this on some wacko LTO kernel build failure 
(https://github.com/ClangBuiltLinux/linux/issues/1269).  The error message went 
from:

> <unknown>:0: error: __ia32_compat_sys_sysctl changed binding to STB_GLOBAL

To:

  unimplemented
  UNREACHABLE executed at ../include/llvm/IR/DiagnosticInfo.h:1036!
  PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash 
backtrace.
  Stack dump:
  0.      Program arguments: ld.lld -m elf_x86_64 -z max-page-size=0x200000 
-plugin-opt=-code-model=kernel -plugin-opt=-stack-alignment=8 -mllvm 
-import-instr-limit=5 -r -o vmlinux.o -T .tmp_lto.lds --whole-archive 
built-in.a --no-whole-archive --start-group lib/lib.a arch/x86/lib/lib.a 
--end-group
  1.      Running pass 'Function Pass Manager' on module 'ld-temp.o'.
  2.      Running pass 'X86 Assembly Printer' on function 
'@__ia32_compat_sys_sysctl'
   #0 0x0000000001bb2d13 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/android0/llvm-project/llvm/build/bin/lld+0x1bb2d13)
   #1 0x0000000001bb0a5e llvm::sys::RunSignalHandlers() 
(/android0/llvm-project/llvm/build/bin/lld+0x1bb0a5e)
   #2 0x0000000001bb330f SignalHandler(int) Signals.cpp:0:0
   #3 0x00007f5d1768b140 __restore_rt 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
   #4 0x00007f5d16fb5ce1 raise ./signal/../sysdeps/unix/sysv/linux/raise.c:51:1
   #5 0x00007f5d16f9f537 abort ./stdlib/abort.c:81:7
   #6 0x0000000001b2a261 (/android0/llvm-project/llvm/build/bin/lld+0x1b2a261)
   #7 0x0000000002cd3199 (/android0/llvm-project/llvm/build/bin/lld+0x2cd3199)
   #8 0x0000000001bb4479 lld::diagnosticHandler(llvm::DiagnosticInfo const&) 
(/android0/llvm-project/llvm/build/bin/lld+0x1bb4479)
   #9 0x0000000002bb03bf 
llvm::lto::LTOLLVMDiagnosticHandler::handleDiagnostics(llvm::DiagnosticInfo 
const&) LTO.cpp:0:0
  #10 0x000000000407f96c llvm::LLVMContext::diagnose(llvm::DiagnosticInfo 
const&) (/android0/llvm-project/llvm/build/bin/lld+0x407f96c)
  #11 0x0000000002cd30b4 std::_Function_handler<void (llvm::SMDiagnostic 
const&, bool, llvm::SourceMgr const&, std::vector<llvm::MDNode const*, 
std::allocator<llvm::MDNode const*> >&), 
llvm::MachineModuleInfoWrapperPass::doInitialization(llvm::Module&)::$_1>::_M_invoke(std::_Any_data
 const&, llvm::SMDiagnostic const&, bool&&, llvm::SourceMgr const&, 
std::vector<llvm::MDNode const*, std::allocator<llvm::MDNode const*> >&) 
MachineModuleInfo.cpp:0:0
  #12 0x0000000003e5e87a llvm::MCContext::reportCommon(llvm::SMLoc, 
std::function<void (llvm::SMDiagnostic&, llvm::SourceMgr const*)>) 
(/android0/llvm-project/llvm/build/bin/lld+0x3e5e87a)
  #13 0x0000000003e5aeee llvm::MCContext::reportError(llvm::SMLoc, llvm::Twine 
const&) (/android0/llvm-project/llvm/build/bin/lld+0x3e5aeee)
  #14 0x0000000003e6c7de 
llvm::MCELFStreamer::emitSymbolAttribute(llvm::MCSymbol*, llvm::MCSymbolAttr) 
(/android0/llvm-project/llvm/build/bin/lld+0x3e6c7de)
  #15 0x000000000271b6f2 llvm::AsmPrinter::emitFunctionHeader() 
(/android0/llvm-project/llvm/build/bin/lld+0x271b6f2)
  #16 0x000000000271cb3d llvm::AsmPrinter::emitFunctionBody() 
(/android0/llvm-project/llvm/build/bin/lld+0x271cb3d)
  #17 0x0000000002482556 
llvm::X86AsmPrinter::runOnMachineFunction(llvm::MachineFunction&) 
X86AsmPrinter.cpp:0:0
  #18 0x0000000002cb37fe 
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) 
(/android0/llvm-project/llvm/build/bin/lld+0x2cb37fe)
  #19 0x00000000040912a8 llvm::FPPassManager::runOnFunction(llvm::Function&) 
(/android0/llvm-project/llvm/build/bin/lld+0x40912a8)
  #20 0x00000000040979a8 llvm::FPPassManager::runOnModule(llvm::Module&) 
(/android0/llvm-project/llvm/build/bin/lld+0x40979a8)
  #21 0x0000000004091957 llvm::legacy::PassManagerImpl::run(llvm::Module&) 
(/android0/llvm-project/llvm/build/bin/lld+0x4091957)



================
Comment at: llvm/test/CodeGen/AMDGPU/lds-initializer.ll:1-2
-; RUN: llc -march=amdgcn -mcpu=tahiti < %s -o /dev/null 2>&1 | FileCheck %s
-; RUN: llc -march=amdgcn -mcpu=tonga < %s -o /dev/null 2>&1 | FileCheck %s
+; RUN: not llc -march=amdgcn -mcpu=tahiti < %s -o /dev/null 2>&1 | FileCheck %s
+; RUN: not llc -march=amdgcn -mcpu=tonga < %s -o /dev/null 2>&1 | FileCheck %s
 
----------------
Does the addition of `not` mean that this test would have failed due to these 
changes? How come?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97449

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to