X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FDebugInfo%2Fllvm-symbolizer.test;h=8a2aaaab3a3cdc434871b4d7d2f9301e1b1981c7;hb=cbfbb3ee4c9b215cd367db3b64dfef0a7f334369;hp=11ba66428371eba1f7187d1dca472a293562534b;hpb=8c6e3248e90605f0ff7249a9727fe46e79297b25;p=oota-llvm.git diff --git a/test/DebugInfo/llvm-symbolizer.test b/test/DebugInfo/llvm-symbolizer.test index 11ba6642837..8a2aaaab3a3 100644 --- a/test/DebugInfo/llvm-symbolizer.test +++ b/test/DebugInfo/llvm-symbolizer.test @@ -1,22 +1,52 @@ RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400559" > %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64.debuglink 0x400559" >> %t.input RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400436" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400528" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-test.elf-x86-64 0x400586" >> %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: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x710" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x8dc" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0xa05" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-inl-test.elf-x86-64 0x987" >> %t.input +RUN: echo "%p/Inputs/dwarfdump-inl-test.high_pc.elf-x86-64 0x568" >> %t.input +RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t.input RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t.input +RUN: echo "\"%p/Inputs/dwarfdump-test3.elf-x86-64 space\" 0x62d" >> %t.input RUN: echo "%p/Inputs/macho-universal 0x1f84" >> %t.input RUN: echo "%p/Inputs/macho-universal:i386 0x1f67" >> %t.input RUN: echo "%p/Inputs/macho-universal:x86_64 0x100000f05" >> %t.input +RUN: echo "%p/Inputs/llvm-symbolizer-dwo-test 0x400514" >> %t.input +RUN: echo "%p/Inputs/fission-ranges.elf-x86_64 0x720" >> %t.input +RUN: echo "%p/Inputs/arange-overlap.elf-x86_64 0x714" >> %t.input +RUN: cp %p/Inputs/split-dwarf-test.dwo %T +RUN: echo "%p/Inputs/split-dwarf-test 0x4004d0" >> %t.input +RUN: echo "%p/Inputs/split-dwarf-test 0x4004c0" >> %t.input +RUN: echo "%p/Inputs/cross-cu-inlining.x86_64-macho.o 0x17" >> %t.input -RUN: llvm-symbolizer --functions --inlining --demangle=false \ +RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ RUN: --default-arch=i386 < %t.input | FileCheck %s -REQUIRES: shell +CHECK: main +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16 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 @@ -27,15 +57,66 @@ CHECK-NEXT: dwarfdump-inl-test.h:7 CHECK-NEXT: inlined_f CHECK-NEXT: dwarfdump-inl-test.cc:3 CHECK-NEXT: main -CHECK-NEXT: dwarfdump-inl-test.cc: +CHECK-NEXT: dwarfdump-inl-test.cc:8 + +CHECK: inlined_g +CHECK-NEXT: dwarfdump-inl-test.h:7 +CHECK-NEXT: inlined_f +CHECK-NEXT: dwarfdump-inl-test.cc:3 +CHECK-NEXT: main +CHECK-NEXT: dwarfdump-inl-test.cc:8 -CHECK: _Z3do1v -CHECK-NEXT: dwarfdump-test3-decl.h:7 +CHECK: inlined_f +CHECK-NEXT: dwarfdump-inl-test.cc:3 +CHECK-NEXT: main +CHECK-NEXT: dwarfdump-inl-test.cc:8 + +CHECK: inlined_h +CHECK-NEXT: dwarfdump-inl-test.h:3 +CHECK-NEXT: inlined_g +CHECK-NEXT: dwarfdump-inl-test.h:7 +CHECK-NEXT: inlined_f +CHECK-NEXT: dwarfdump-inl-test.cc:3 +CHECK-NEXT: main +CHECK-NEXT: dwarfdump-inl-test.cc:8 + +CHECK: C +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test3.cc:3 + +CHECK: _Z3do1v +CHECK-NEXT: /tmp/include{{[/\\]}}dwarfdump-test3-decl.h:7 + +CHECK: _Z3do2v +CHECK-NEXT: /tmp/dbginfo{{[/\\]}}include{{[/\\]}}dwarfdump-test3-decl2.h:1 CHECK: main CHECK: _Z3inci CHECK: _Z3inci +CHECK: main +CHECK-NEXT: llvm-symbolizer-dwo-test.cc:11 + +CHECK: main +CHECK-NEXT: {{.*}}fission-ranges.cc:6 + +CHECK: _ZN1S3bazEv +CHECK-NEXT: {{.*}}arange-overlap.cc:6 + +CHECK: _Z3fooi +CHECK-NEXT: {{.*}}split-dwarf-test.cc +CHECK-NEXT: main +CHECK-NEXT: {{.*}}split-dwarf-test.cc + +CHECK: _Z3fooi +CHECK-NEXT: {{.*}}split-dwarf-test.cc + +; func has been inlined into main by LTO. Check that the symbolizer is able +; to resolve the cross-cu reference and retrieve func's name +CHECK: func +CHECK-NEXT: /tmp{{[/\\]}}cross-cu-inlining.c:16:3 +CHECK-NEXT: main +CHECK-NEXT: /tmp{{[/\\]}}cross-cu-inlining.c:11:0 + RUN: echo "unexisting-file 0x1234" > %t.input2 RUN: llvm-symbolizer < %t.input2 @@ -45,3 +126,35 @@ RUN: llvm-symbolizer < %t.input3 | FileCheck %s --check-prefix=UNKNOWN-ARCH UNKNOWN-ARCH-NOT: main UNKNOWN-ARCH: ?? UNKNOWN-ARCH-NOT: main + +RUN: echo "0x400559" > %t.input4 +RUN: echo "0x400436" >> %t.input4 +RUN: llvm-symbolizer --obj %p/Inputs/dwarfdump-test.elf-x86-64 < %t.input4 \ +RUN: | FileCheck %s --check-prefix=BINARY + +BINARY: main +BINARY-NEXT: /tmp/dbginfo{{[/\\]}}dwarfdump-test.cc:16 +BINARY: _start + +RUN: echo "0x400720" > %t.input5 +RUN: echo "0x4004a0" >> %t.input5 +RUN: echo "0x4006f0" >> %t.input5 +RUN: llvm-symbolizer --obj %p/Inputs/llvm-symbolizer-test.elf-x86-64 < %t.input5 \ +RUN: | FileCheck %s --check-prefix=BINARY_C + +BINARY_C: main +BINARY_C-NEXT: /tmp/dbginfo{{[/\\]}}llvm-symbolizer-test.c:10 +BINARY_C: _start +BINARY_C: {{g$}} + +RUN: echo "0x1f1" > %t.input6 +RUN: llvm-symbolizer --obj %p/Inputs/shared-object-stripped.elf-i386 < %t.input6 \ +RUN: | FileCheck %s --check-prefix=STRIPPED + +STRIPPED: global_func + +RUN: echo "%p/Inputs/dwarfdump-test4.elf-x86-64 0x62c" > %t.input7 +RUN: llvm-symbolizer --functions=short --use-symbol-table=false --demangle=false < %t.input7 \ +RUN: | FileCheck %s --check-prefix=SHORT_FUNCTION_NAME + +SHORT_FUNCTION_NAME-NOT: _Z1cv