X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=test%2FDebugInfo%2Fllvm-symbolizer.test;h=6b3c0494cdd56bcfd8cd151ab4d7b2ecbab51252;hb=5c562302c20d5ba1aadf47c92980bb0feab9bf01;hp=4dc369948fde5a7f2c8e5fd6da627386b0e62b5f;hpb=d212db0cac7a7d0d58ba09369808a408fa8da5c1;p=oota-llvm.git diff --git a/test/DebugInfo/llvm-symbolizer.test b/test/DebugInfo/llvm-symbolizer.test index 4dc369948fd..6b3c0494cdd 100644 --- a/test/DebugInfo/llvm-symbolizer.test +++ b/test/DebugInfo/llvm-symbolizer.test @@ -1,20 +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 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 @@ -25,17 +57,70 @@ 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: _Z3do1v -CHECK-NEXT: dwarfdump-test3-decl.h:7 +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: 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 +RUN: llvm-symbolizer < %t.input2 2>&1 | FileCheck %s --check-prefix=MISSING-FILE + +MISSING-FILE: LLVMSymbolizer: error reading file: {{[Nn]}}o such file or directory RUN: echo "%p/Inputs/macho-universal 0x1f84" > %t.input3 RUN: llvm-symbolizer < %t.input3 | FileCheck %s --check-prefix=UNKNOWN-ARCH @@ -43,3 +128,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 --demangle=false < %t.input7 \ +RUN: | FileCheck %s --check-prefix=SHORT_FUNCTION_NAME + +SHORT_FUNCTION_NAME-NOT: _Z1cv