diff options
author | David Blaikie <dblaikie@gmail.com> | 2017-09-08 21:10:01 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2017-09-08 21:10:01 +0000 |
commit | bd20f84a6316283f66b96f5ff3098b13caab5fb6 (patch) | |
tree | 7bdfb69e4f2c1edebec0062a292c85fd4d05a472 | |
parent | f36d34a4d44a6ba8c8e195720b8c9b8463ba7a3e (diff) | |
download | bcm5719-llvm-bd20f84a6316283f66b96f5ff3098b13caab5fb6.tar.gz bcm5719-llvm-bd20f84a6316283f66b96f5ff3098b13caab5fb6.zip |
Migrate llvm-symbolizer tests to not use %T
(context around the %T removal here: https://reviews.llvm.org/D35396 )
llvm-svn: 312828
14 files changed, 69 insertions, 28 deletions
diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.cpp b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.cpp new file mode 100644 index 00000000000..e5255e847e8 --- /dev/null +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.cpp @@ -0,0 +1,10 @@ +void f1(); +__attribute__((always_inline)) void f2() { + f1(); +} +void f3() { + f2(); +} + +// $ clang++ split-dwarf-addr-object-relocation.cpp -gsplit-dwarf -c Xclang \ +// -fdebug-compilation-dir -Xclang . diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.dwo b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.dwo Binary files differindex 2a3bc57caa6..814b80246ce 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.dwo +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.dwo diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.o b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.o Binary files differindex b6993c6cae2..b77c31b9579 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.o +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-addr-object-relocation.o diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp index ced32e41008..629d8b6aa8f 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.cpp @@ -1,5 +1,5 @@ -__attribute__((optnone)) void f1() {} -inline __attribute__((always_inline)) void f2() { +void f1() {} +__attribute__((always_inline)) inline void f2() { f1(); } // throw a gap in the address range to force use of DW_AT_ranges, ranges_base, @@ -17,6 +17,6 @@ int main() { // void other1() {} // __attribute__((nodebug)) void other2() {} // void other3() {} -// $ clang++ other.cpp split-dwarf-dwp.cpp -gsplit-dwarf -c -Xclang -fdebug-compilation-dir -Xclang Output -fno-split-dwarf-inlining -// $ llvm-dwp other.dwo other.dwo split-dwarf-dwp.dwo -o test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp +// $ clang++ other.cpp split-dwarf-dwp.cpp -gsplit-dwarf -c -Xclang -fdebug-compilation-dir -Xclang . -fno-split-dwarf-inlining +// $ llvm-dwp other.dwo split-dwarf-dwp.dwo -o test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp // $ ld -r other.o split-dwarf-dwp.o -o test/DebugInfo/Inputs/split-dwarf-dwp.o diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o Binary files differindex 2bf4fe3e494..4df6455ce8b 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp Binary files differindex 20eff18217f..17018f01b03 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-dwp.o.dwp diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.cpp b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.cpp new file mode 100644 index 00000000000..85276ca4b2c --- /dev/null +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.cpp @@ -0,0 +1,15 @@ +void f1(); +__attribute__((always_inline)) inline void f2() { + f1(); +} +void f3() { + f2(); +} + +// $ cat > other.cpp +// extern int i; +// int i; +// $ clang++ other.cpp split-dwarf-multiple-cu.cpp -g -c -Xclang \ +// -fdebug-compilation-dir -Xclang . -emit-llvm -S +// $ llvm-link other.ll split-dwarf-multiple-cu.ll -o split-dwarf-multiple-cu.bc +// $ clang++ -gsplit-dwarf split-dwarf-multiple-cu.bc -c diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.dwo b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.dwo Binary files differindex 4df9894b089..8aca4cb1a5a 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.dwo +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.dwo diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.o b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.o Binary files differindex aa4ab4bc76f..4cb64b54a7d 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.o +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-multiple-cu.o diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-test b/llvm/test/DebugInfo/Inputs/split-dwarf-test Binary files differindex 4d6aa0cd98a..a7024cce4b9 100755 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-test +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-test diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-test-nogmlt b/llvm/test/DebugInfo/Inputs/split-dwarf-test-nogmlt Binary files differindex 6a340aa47e6..6f7627eb607 100755 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-test-nogmlt +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-test-nogmlt diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-test.cpp b/llvm/test/DebugInfo/Inputs/split-dwarf-test.cpp new file mode 100644 index 00000000000..8c85330d89c --- /dev/null +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-test.cpp @@ -0,0 +1,13 @@ +void f1() {} +__attribute__((always_inline)) inline void f2() { + f1(); +} +int main() { + f2(); +} + +// $ clang++ split-dwarf-test.cpp -gsplit-dwarf -Xclang \ +// -fdebug-compilation-dir -Xclang . -o split-dwarf-test +// $ clang++ split-dwarf-test.cpp -gsplit-dwarf -Xclang \ +// -fdebug-compilation-dir -Xclang . -fno-split-dwarf-inlining \ +// -o split-dwarf-test-nogmlt diff --git a/llvm/test/DebugInfo/Inputs/split-dwarf-test.dwo b/llvm/test/DebugInfo/Inputs/split-dwarf-test.dwo Binary files differindex 588374d7d21..f123d732301 100644 --- a/llvm/test/DebugInfo/Inputs/split-dwarf-test.dwo +++ b/llvm/test/DebugInfo/Inputs/split-dwarf-test.dwo diff --git a/llvm/test/DebugInfo/llvm-symbolizer.test b/llvm/test/DebugInfo/llvm-symbolizer.test index a25e251b62c..1fcc61cbdf9 100644 --- a/llvm/test/DebugInfo/llvm-symbolizer.test +++ b/llvm/test/DebugInfo/llvm-symbolizer.test @@ -1,3 +1,5 @@ +RUN: rm -rf %t +RUN: mkdir -p %t 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 @@ -10,48 +12,49 @@ 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: cp "%p/Inputs/dwarfdump-test3.elf-x86-64-space" "%T/dwarfdump-test3.elf-x86-64 space" -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t.input -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t.input -RUN: echo "\"%T/dwarfdump-test3.elf-x86-64 space\" 0x62d" >> %t.input +RUN: cp "%p/Inputs/dwarfdump-test3.elf-x86-64-space" "%t/dwarfdump-test3.elf-x86-64 space" +RUN: echo "\"%t/dwarfdump-test3.elf-x86-64 space\" 0x640" >> %t.input +RUN: echo "\"%t/dwarfdump-test3.elf-x86-64 space\" 0x633" >> %t.input +RUN: echo "\"%t/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 0x4005d4" >> %t.input -RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t.input +RUN: cp %p/Inputs/split-dwarf-test.dwo %t +RUN: echo "%p/Inputs/split-dwarf-test 0x400504" >> %t.input +RUN: echo "%p/Inputs/split-dwarf-test 0x4004f4" >> %t.input RUN: echo "%p/Inputs/cross-cu-inlining.x86_64-macho.o 0x17" >> %t.input -RUN: cp %p/Inputs/split-dwarf-multiple-cu.dwo %T +RUN: cp %p/Inputs/split-dwarf-multiple-cu.dwo %t RUN: echo "%p/Inputs/split-dwarf-multiple-cu.o 0x4" >> %t.input -RUN: cp %p/Inputs/split-dwarf-addr-object-relocation.dwo %T +RUN: cp %p/Inputs/split-dwarf-addr-object-relocation.dwo %t RUN: echo "%p/Inputs/split-dwarf-addr-object-relocation.o 0x14" >> %t.input -RUN: cp %p/Inputs/split-dwarf-dwp.o %T -RUN: cp %p/Inputs/split-dwarf-dwp.o.dwp %T -RUN: echo "%T/split-dwarf-dwp.o 0x4" >> %t.input +RUN: cp %p/Inputs/split-dwarf-dwp.o %t +RUN: cp %p/Inputs/split-dwarf-dwp.o.dwp %t +RUN: echo "%t/split-dwarf-dwp.o 0x4" >> %t.input +RUN: cd %t RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ RUN: --default-arch=i386 < %t.input | FileCheck --check-prefix=CHECK --check-prefix=SPLIT --check-prefix=DWO %s Ensure we get the same results in the absence of gmlt-like data in the executable but the presence of a .dwo file -RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005d4" >> %t.input -RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4005c4" >> %t.input +RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x400504" >> %t.input +RUN: echo "%p/Inputs/split-dwarf-test-nogmlt 0x4004f4" >> %t.input RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ RUN: --default-arch=i386 < %t.input | FileCheck --check-prefix=SPLIT --check-prefix=DWO %s Ensure we get gmlt like results in the absence of a .dwo file but the presence of gmlt-like data in the executable -RUN: rm %T/split-dwarf-test.dwo -RUN: echo "%p/Inputs/split-dwarf-test 0x4005d4" >> %t.input -RUN: echo "%p/Inputs/split-dwarf-test 0x4005c4" >> %t.input +RUN: rm %t/split-dwarf-test.dwo +RUN: echo "%p/Inputs/split-dwarf-test 0x400504" >> %t.input +RUN: echo "%p/Inputs/split-dwarf-test 0x4004f4" >> %t.input RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ RUN: --default-arch=i386 < %t.input | FileCheck --check-prefix=SPLIT --check-prefix=NODWO %s -RUN: cp %p/Inputs/split-dwarf-dwp.o %T/split-dwarf-dwp-different-name.o -RUN: echo "%T/split-dwarf-dwp-different-name.o 0x54" > %t.input +RUN: cp %p/Inputs/split-dwarf-dwp.o %t/split-dwarf-dwp-different-name.o +RUN: echo "%t/split-dwarf-dwp-different-name.o 0x54" > %t.input RUN: llvm-symbolizer --functions=linkage --inlining --demangle=false \ RUN: --default-arch=i386 --dwp=%p/Inputs/split-dwarf-dwp.o.dwp < %t.input | FileCheck --check-prefix=DWP %s @@ -132,12 +135,12 @@ CHECK-NEXT: {{.*}}arange-overlap.cc:6 DWO: _Z2f2v NODWO: {{^f2$}} -SPLIT-NEXT: {{.*}}split-dwarf-test.cc +SPLIT-NEXT: {{.*}}split-dwarf-test.cpp SPLIT-NEXT: main -SPLIT-NEXT: {{.*}}split-dwarf-test.cc +SPLIT-NEXT: {{.*}}split-dwarf-test.cpp SPLIT: _Z2f1v -SPLIT-NEXT: {{.*}}split-dwarf-test.cc +SPLIT-NEXT: {{.*}}split-dwarf-test.cpp ; 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 @@ -147,9 +150,9 @@ CHECK-NEXT: main CHECK-NEXT: /tmp{{[/\\]}}cross-cu-inlining.c:11:0 CHECK: f2 -CHECK-NEXT: b.cpp:3:3 +CHECK-NEXT: split-dwarf-multiple-cu.cpp:3:3 CHECK-NEXT: f3 -CHECK-NEXT: b.cpp:6:0 +CHECK-NEXT: split-dwarf-multiple-cu.cpp:6:0 CHECK: f2 CHECK-NEXT: split-dwarf-addr-object-relocation.cpp:3:3 |