[llvm] r217433 - llvm-objdump: don't crash when __compact_unwind has no relocs.

Tim Northover tnorthover at apple.com
Tue Sep 9 03:45:07 PDT 2014


Author: tnorthover
Date: Tue Sep  9 05:45:06 2014
New Revision: 217433

URL: http://llvm.org/viewvc/llvm-project?rev=217433&view=rev
Log:
llvm-objdump: don't crash when __compact_unwind has no relocs.

Added:
    llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64   (with props)
    llvm/trunk/test/tools/llvm-objdump/macho-unwind-info-no-relocs.test
Modified:
    llvm/trunk/tools/llvm-objdump/MachODump.cpp

Added: llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64?rev=217433&view=auto
==============================================================================
Binary files llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64 (added) and llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64 Tue Sep  9 05:45:06 2014 differ

Propchange: llvm/trunk/test/tools/llvm-objdump/Inputs/unwind-info-no-relocs.macho-x86_64
------------------------------------------------------------------------------
    svn:executable = *

Added: llvm/trunk/test/tools/llvm-objdump/macho-unwind-info-no-relocs.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/macho-unwind-info-no-relocs.test?rev=217433&view=auto
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/macho-unwind-info-no-relocs.test (added)
+++ llvm/trunk/test/tools/llvm-objdump/macho-unwind-info-no-relocs.test Tue Sep  9 05:45:06 2014
@@ -0,0 +1,8 @@
+# RUN: llvm-objdump -unwind-info %p/Inputs/unwind-info-no-relocs.macho-x86_64 2>/dev/null | FileCheck %s
+
+# Make sure we can deal with __compact_unwind sections that don't have helpful
+# relocations.
+
+# CHECK: Contents of __compact_unwind section:
+# CHECK:   Entry at offset 0x0:
+# CHECK:     start: 0x100000f7e

Modified: llvm/trunk/tools/llvm-objdump/MachODump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/MachODump.cpp?rev=217433&r1=217432&r2=217433&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/MachODump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/MachODump.cpp Tue Sep  9 05:45:06 2014
@@ -650,6 +650,9 @@ static void printUnwindRelocDest(const M
   StringRef Name;
   uint64_t Addend;
 
+  if (!Reloc.getObjectFile())
+    return;
+
   findUnwindRelocNameAddend(Obj, Symbols, Reloc, Addr, Name, Addend);
 
   outs() << Name;





More information about the llvm-commits mailing list