DebugInfo/llvm-symbolizer: Test symbolizing Split DWARF without addresses in the...
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 9 Feb 2018 03:34:32 +0000 (03:34 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 9 Feb 2018 03:34:32 +0000 (03:34 +0000)
Identified in an llvm-dev discussion around
DWARFUnit::collectAddressRanges

llvm-svn: 324702

llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.dwo [new file with mode: 0644]
llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.o [new file with mode: 0644]
llvm/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test [new file with mode: 0644]

diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.dwo b/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.dwo
new file mode 100644 (file)
index 0000000..cca308d
Binary files /dev/null and b/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.dwo differ
diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.o b/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.o
new file mode 100644 (file)
index 0000000..94e9b2d
Binary files /dev/null and b/llvm/test/DebugInfo/Inputs/split-dwarf-no-skel-address.o differ
diff --git a/llvm/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test b/llvm/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test
new file mode 100644 (file)
index 0000000..5087b5d
--- /dev/null
@@ -0,0 +1,20 @@
+REQUIRES: shell
+RUN: rm -rf %t && mkdir -p %t
+RUN: cd %t
+RUN: cp %p/Inputs/split-dwarf-no-skel-address.dwo %t
+RUN: echo "%p/Inputs/split-dwarf-no-skel-address.o 0x4" > %t.input
+
+RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \
+RUN:    --default-arch=i386 < %t.input | FileCheck %s
+
+Built from the following source:
+void f1();
+__attribute__((always_inline)) inline void f2() { f1(); }
+void f3() { f2(); }
+
+Compiled to assembly with clang, modified the skeleton CU to remove the
+high/low pc (& update the CU length field and abbrev to match) & then
+compile/objcopy to make the .o and .dwo.
+
+CHECK: _Z2f2v
+CHECK: ./test.cpp:2:51