Index: llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test =================================================================== --- llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test +++ llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-empty.test @@ -1,10 +0,0 @@ -RUN: rm -rf %t && mkdir -p %t -RUN: cd %t -RUN: cp %p/Inputs/split-dwarf-empty.dwo %t -RUN: echo "%p/Inputs/split-dwarf-empty.o 0xdeadbeef" > %t.input - -RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ -RUN: --default-arch=i386 < %t.input | FileCheck %s - -CHECK: ?? -CHECK: ??:0:0 Index: llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test =================================================================== --- llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test +++ llvm/trunk/test/DebugInfo/llvm-symbolizer-split-dwarf-no-skel-address.test @@ -1,17 +0,0 @@ -RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ -RUN: --default-arch=i386 --obj=%p/Inputs/split-dwarf-no-skel-address.o 0x4 | 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. - -Ensure that the f2 inlined frame is not included - it's inefficient to have to -go and load all the debug info and search for the address ranges, so assume -that a lack of ranges on the CU means the CU covers no addresses. - -CHECK-NOT: _Z2f2v Index: llvm/trunk/test/DebugInfo/llvm-symbolizer-tu.test =================================================================== --- llvm/trunk/test/DebugInfo/llvm-symbolizer-tu.test +++ llvm/trunk/test/DebugInfo/llvm-symbolizer-tu.test @@ -1,7 +0,0 @@ -RUN: llvm-symbolizer --obj=%p/Inputs/llvm-symbolizer-tu.elf-x86-64 0x0 | FileCheck %s - -Built from the following source: - -... - -CHECK: b.cpp:3:0 Index: llvm/trunk/test/DebugInfo/llvm-symbolizer-zlib.test =================================================================== --- llvm/trunk/test/DebugInfo/llvm-symbolizer-zlib.test +++ llvm/trunk/test/DebugInfo/llvm-symbolizer-zlib.test @@ -1,7 +0,0 @@ -REQUIRES: zlib - -RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlib.elf-x86-64 0x4005e9 | FileCheck %s -RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 0x4005e9 | FileCheck %s - -CHECK: main -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test-zlib.cc:16 Index: llvm/trunk/test/DebugInfo/llvm-symbolizer.test =================================================================== --- llvm/trunk/test/DebugInfo/llvm-symbolizer.test +++ llvm/trunk/test/DebugInfo/llvm-symbolizer.test @@ -1,30 +0,0 @@ -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40113f" > %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401020" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40110e" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401160" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t.input -RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t.input - -RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ -RUN: < %t.input | FileCheck --check-prefix=CHECK --check-prefix=SPLIT --check-prefix=DWO %s - -CHECK: main -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16 - -CHECK: _start - -CHECK: _Z1fii -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:11 - -CHECK: DummyClass -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:4 - -CHECK: a -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-helper.cc:2 - -CHECK: main -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-main.cc:4 - -CHECK: _Z1cv -CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test4-part1.cc:2 Index: llvm/trunk/test/DebugInfo/symbolize-split-dwarf-empty.test =================================================================== --- llvm/trunk/test/DebugInfo/symbolize-split-dwarf-empty.test +++ llvm/trunk/test/DebugInfo/symbolize-split-dwarf-empty.test @@ -0,0 +1,9 @@ +cd and copy the DWO into the same directory so that it can be found by the +symbolizer. +RUN: rm -rf %t && mkdir -p %t +RUN: cd %t +RUN: cp %p/Inputs/split-dwarf-empty.dwo %t +RUN: llvm-symbolizer --inlining --obj=%p/Inputs/split-dwarf-empty.o 0xdeadbeef | FileCheck %s + +CHECK: ?? +CHECK: ??:0:0 Index: llvm/trunk/test/DebugInfo/symbolize-split-dwarf-no-skel-address.test =================================================================== --- llvm/trunk/test/DebugInfo/symbolize-split-dwarf-no-skel-address.test +++ llvm/trunk/test/DebugInfo/symbolize-split-dwarf-no-skel-address.test @@ -0,0 +1,22 @@ +Copy the DWO and then cd into the output directory, so that the symbolizer would +find the DWO if it attempted to. +RUN: rm -rf %t && mkdir -p %t +RUN: cd %t +RUN: cp %p/Inputs/split-dwarf-no-skel-address.dwo %t +RUN: llvm-symbolizer --inlining --no-demangle \ +RUN: --obj=%p/Inputs/split-dwarf-no-skel-address.o 0x4 | 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. + +Ensure that the f2 inlined frame is not included - it's inefficient to have to +go and load all the debug info and search for the address ranges, so assume +that a lack of ranges on the CU means the CU covers no addresses. + +CHECK-NOT: _Z2f2v Index: llvm/trunk/test/DebugInfo/symbolize-tu.test =================================================================== --- llvm/trunk/test/DebugInfo/symbolize-tu.test +++ llvm/trunk/test/DebugInfo/symbolize-tu.test @@ -0,0 +1,7 @@ +RUN: llvm-symbolizer --obj=%p/Inputs/llvm-symbolizer-tu.elf-x86-64 0x0 | FileCheck %s + +Built from the following source: + +... + +CHECK: b.cpp:3:0 Index: llvm/trunk/test/DebugInfo/symbolize-zlib.test =================================================================== --- llvm/trunk/test/DebugInfo/symbolize-zlib.test +++ llvm/trunk/test/DebugInfo/symbolize-zlib.test @@ -0,0 +1,7 @@ +REQUIRES: zlib + +RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlib.elf-x86-64 0x4005e9 | FileCheck %s +RUN: llvm-symbolizer --obj=%p/Inputs/dwarfdump-test-zlibgnu.elf-x86-64 0x4005e9 | FileCheck %s + +CHECK: main +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test-zlib.cc:16 Index: llvm/trunk/test/DebugInfo/symbolize.test =================================================================== --- llvm/trunk/test/DebugInfo/symbolize.test +++ llvm/trunk/test/DebugInfo/symbolize.test @@ -0,0 +1,29 @@ +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40113f" > %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401020" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x40110e" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x401160" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004e8" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test2.elf-x86-64 0x4004f4" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" >> %t.input + +RUN: llvm-symbolizer < %t.input | FileCheck %s + +CHECK: main +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16 + +CHECK: _start + +CHECK: f(int, int) +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:11 + +CHECK: DummyClass +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:4 + +CHECK: a +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-helper.cc:2 + +CHECK: main +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test2-main.cc:4 + +CHECK: c() +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test4-part1.cc:2