diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 19:58:01 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2016-01-13 19:58:01 +0000 |
| commit | 050e163ae8b4bb6eb252b59e2f8f36e68ae9239d (patch) | |
| tree | 7376a0c71aad05d327e5b1dcbceb3311a10f9f29 /test/tools | |
| parent | 8a6c1c25bce0267ee4072bd7b786b921e8a66a35 (diff) | |
Notes
Diffstat (limited to 'test/tools')
| -rw-r--r-- | test/tools/llvm-lto/error.ll | 2 | ||||
| -rw-r--r-- | test/tools/llvm-objdump/Inputs/malformed-macho.bin | bin | 0 -> 843 bytes | |||
| -rw-r--r-- | test/tools/llvm-objdump/X86/macho-private-header.test | 6 | ||||
| -rw-r--r-- | test/tools/llvm-objdump/malformed-archives.test | 2 | ||||
| -rw-r--r-- | test/tools/llvm-objdump/malformed-macho.test | 2 | ||||
| -rw-r--r-- | test/tools/llvm-profdata/value-prof.proftext | 10 | ||||
| -rw-r--r-- | test/tools/llvm-readobj/codeview-linetables.test | 309 | ||||
| -rw-r--r-- | test/tools/llvm-symbolizer/Inputs/addr.inp | 2 | ||||
| -rw-r--r-- | test/tools/llvm-symbolizer/print_context.c | 22 | ||||
| -rw-r--r-- | test/tools/llvm-symbolizer/sym.test | 4 |
10 files changed, 277 insertions, 82 deletions
diff --git a/test/tools/llvm-lto/error.ll b/test/tools/llvm-lto/error.ll new file mode 100644 index 000000000000..43043d0cdc0b --- /dev/null +++ b/test/tools/llvm-lto/error.ll @@ -0,0 +1,2 @@ +; RUN: not llvm-lto foobar 2>&1 | FileCheck %s +; CHECK: llvm-lto: error loading file 'foobar': {{N|n}}o such file or directory diff --git a/test/tools/llvm-objdump/Inputs/malformed-macho.bin b/test/tools/llvm-objdump/Inputs/malformed-macho.bin Binary files differnew file mode 100644 index 000000000000..b8a3f153a896 --- /dev/null +++ b/test/tools/llvm-objdump/Inputs/malformed-macho.bin diff --git a/test/tools/llvm-objdump/X86/macho-private-header.test b/test/tools/llvm-objdump/X86/macho-private-header.test new file mode 100644 index 000000000000..d90072542a2e --- /dev/null +++ b/test/tools/llvm-objdump/X86/macho-private-header.test @@ -0,0 +1,6 @@ +// RUN: llvm-objdump -private-header %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s + +CHECK: Mach header +CHECK: magic cputype cpusubtype caps filetype ncmds sizeofcmds flags +CHECK: MH_MAGIC_64 X86_64 ALL 0x00 OBJECT 3 496 SUBSECTIONS_VIA_SYMBOLS +CHECK-NOT: Load command diff --git a/test/tools/llvm-objdump/malformed-archives.test b/test/tools/llvm-objdump/malformed-archives.test index e0f165d37ed7..c477022e2e11 100644 --- a/test/tools/llvm-objdump/malformed-archives.test +++ b/test/tools/llvm-objdump/malformed-archives.test @@ -1,7 +1,7 @@ // These test checks that llvm-objdump will not crash with malformed Archive // files. So the check line is not all that important but the bug fixes to // make sure llvm-objdump is robust is what matters. -# RUN: llvm-objdump -macho -archive-headers \ +# RUN: not llvm-objdump -macho -archive-headers \ # RUN: %p/Inputs/libbogus1.a \ # RUN: 2>&1 | FileCheck -check-prefix=bogus1 %s diff --git a/test/tools/llvm-objdump/malformed-macho.test b/test/tools/llvm-objdump/malformed-macho.test new file mode 100644 index 000000000000..e96945d91125 --- /dev/null +++ b/test/tools/llvm-objdump/malformed-macho.test @@ -0,0 +1,2 @@ +RUN: not llvm-objdump -macho -s %p/Inputs/malformed-macho.bin 2>&1 | FileCheck %s -check-prefix=MALFORMED +MALFORMED: '{{.*}}': The file was not recognized as a valid object file diff --git a/test/tools/llvm-profdata/value-prof.proftext b/test/tools/llvm-profdata/value-prof.proftext index ca2b1f822097..a8f6e8641c67 100644 --- a/test/tools/llvm-profdata/value-prof.proftext +++ b/test/tools/llvm-profdata/value-prof.proftext @@ -1,4 +1,4 @@ -# RUN: llvm-profdata show -ic-targets -all-functions %s | FileCheck %s --check-prefix=IC +# RUN: llvm-profdata show -ic-targets -all-functions %s | FileCheck %s --check-prefix=ICTXT # RUN: llvm-profdata show -ic-targets -counts -text -all-functions %s | FileCheck %s --check-prefix=ICTEXT # RUN: llvm-profdata merge -o %t.profdata %s # RUN: llvm-profdata show -ic-targets -all-functions %t.profdata | FileCheck %s --check-prefix=IC @@ -45,10 +45,16 @@ foo2:1000 1 foo2:20000 +#ICTXT: Indirect Call Site Count: 3 +#ICTXT-NEXT: Indirect Target Results: +#ICTXT-NEXT: [ 1, foo, 100 ] +#ICTXT-NEXT: [ 1, foo2, 1000 ] +#ICTXT-NEXT: [ 2, foo2, 20000 ] + #IC: Indirect Call Site Count: 3 #IC-NEXT: Indirect Target Results: -#IC-NEXT: [ 1, foo, 100 ] #IC-NEXT: [ 1, foo2, 1000 ] +#IC-NEXT: [ 1, foo, 100 ] #IC-NEXT: [ 2, foo2, 20000 ] #ICTEXT: foo:100 diff --git a/test/tools/llvm-readobj/codeview-linetables.test b/test/tools/llvm-readobj/codeview-linetables.test index 880b6d52f095..a1c6ab66b4ca 100644 --- a/test/tools/llvm-readobj/codeview-linetables.test +++ b/test/tools/llvm-readobj/codeview-linetables.test @@ -103,41 +103,85 @@ MFUN32-NEXT: Type: 0xF1 MFUN32-NEXT: PayloadSize: 0x8 MFUN32: ] MFUN32-NEXT: FunctionLineTable [ -MFUN32-NEXT: LinkageName: _x -MFUN32-NEXT: Flags: 0x0 -MFUN32-NEXT: CodeSize: 0xA -MFUN32-NEXT: FilenameSegment [ -MFUN32-NEXT: Filename: d:\source.c -MFUN32-NEXT: +0x0: 3 -MFUN32-NEXT: +0x3: 4 -MFUN32-NEXT: +0x8: 5 -MFUN32-NEXT: ] -MFUN32-NEXT: ] -MFUN32-NEXT: FunctionLineTable [ -MFUN32-NEXT: LinkageName: _y -MFUN32-NEXT: Flags: 0x0 -MFUN32-NEXT: CodeSize: 0xA -MFUN32-NEXT: FilenameSegment [ -MFUN32-NEXT: Filename: d:\source.c -MFUN32-NEXT: +0x0: 7 -MFUN32-NEXT: +0x3: 8 -MFUN32-NEXT: +0x8: 9 -MFUN32-NEXT: ] -MFUN32-NEXT: ] -MFUN32-NEXT: FunctionLineTable [ -MFUN32-NEXT: LinkageName: _f -MFUN32-NEXT: Flags: 0x0 -MFUN32-NEXT: CodeSize: 0x14 -MFUN32-NEXT: FilenameSegment [ -MFUN32-NEXT: Filename: d:\source.c -MFUN32-NEXT: +0x0: 11 -MFUN32-NEXT: +0x3: 12 -MFUN32-NEXT: +0x8: 13 -MFUN32-NEXT: +0xD: 14 -MFUN32-NEXT: +0x12: 15 -MFUN32-NEXT: ] -MFUN32-NEXT: ] -MFUN32-NEXT: ] +MFUN32-NEXT LinkageName: _x +MFUN32-NEXT Flags: 0x0 +MFUN32-NEXT CodeSize: 0xA +MFUN32-NEXT FilenameSegment [ +MFUN32-NEXT Filename: d:\source.c +MFUN32-NEXT +0x0 [ +MFUN32-NEXT LineNumberStart: 3 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x3 [ +MFUN32-NEXT LineNumberStart: 4 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x8 [ +MFUN32-NEXT LineNumberStart: 5 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT FunctionLineTable [ +MFUN32-NEXT LinkageName: _y +MFUN32-NEXT Flags: 0x0 +MFUN32-NEXT CodeSize: 0xA +MFUN32-NEXT FilenameSegment [ +MFUN32-NEXT Filename: d:\source.c +MFUN32-NEXT +0x0 [ +MFUN32-NEXT LineNumberStart: 7 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x3 [ +MFUN32-NEXT LineNumberStart: 8 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x8 [ +MFUN32-NEXT LineNumberStart: 9 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT FunctionLineTable [ +MFUN32-NEXT LinkageName: _f +MFUN32-NEXT Flags: 0x0 +MFUN32-NEXT CodeSize: 0x14 +MFUN32-NEXT FilenameSegment [ +MFUN32-NEXT Filename: d:\source.c +MFUN32-NEXT +0x0 [ +MFUN32-NEXT LineNumberStart: 11 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x3 [ +MFUN32-NEXT LineNumberStart: 12 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x8 [ +MFUN32-NEXT LineNumberStart: 13 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0xD [ +MFUN32-NEXT LineNumberStart: 14 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT +0x12 [ +MFUN32-NEXT LineNumberStart: 15 +MFUN32-NEXT LineNumberEndDelta: 0 +MFUN32-NEXT IsStatement: Yes +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT ] +MFUN32-NEXT ] MFUN64: CodeViewDebugInfo [ MFUN64-NEXT: Magic: 0x4 @@ -208,9 +252,21 @@ MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c -MFUN64-NEXT: +0x0: 3 -MFUN64-NEXT: +0x4: 4 -MFUN64-NEXT: +0x9: 5 +MFUN64-NEXT: +0x0 [ +MFUN64-NEXT: LineNumberStart: 3 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x4 [ +MFUN64-NEXT: LineNumberStart: 4 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x9 [ +MFUN64-NEXT: LineNumberStart: 5 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: FunctionLineTable [ @@ -219,9 +275,21 @@ MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0xE MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c -MFUN64-NEXT: +0x0: 7 -MFUN64-NEXT: +0x4: 8 -MFUN64-NEXT: +0x9: 9 +MFUN64-NEXT: +0x0 [ +MFUN64-NEXT: LineNumberStart: 7 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x4 [ +MFUN64-NEXT: LineNumberStart: 8 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x9 [ +MFUN64-NEXT: LineNumberStart: 9 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: FunctionLineTable [ @@ -230,11 +298,31 @@ MFUN64-NEXT: Flags: 0x0 MFUN64-NEXT: CodeSize: 0x18 MFUN64-NEXT: FilenameSegment [ MFUN64-NEXT: Filename: d:\source.c -MFUN64-NEXT: +0x0: 11 -MFUN64-NEXT: +0x4: 12 -MFUN64-NEXT: +0x9: 13 -MFUN64-NEXT: +0xE: 14 -MFUN64-NEXT: +0x13: 15 +MFUN64-NEXT: +0x0 [ +MFUN64-NEXT: LineNumberStart: 11 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x4 [ +MFUN64-NEXT: LineNumberStart: 12 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x9 [ +MFUN64-NEXT: LineNumberStart: 13 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0xE [ +MFUN64-NEXT: LineNumberStart: 14 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] +MFUN64-NEXT: +0x13 [ +MFUN64-NEXT: LineNumberStart: 15 +MFUN64-NEXT: LineNumberEndDelta: 0 +MFUN64-NEXT: IsStatement: Yes +MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] MFUN64-NEXT: ] @@ -306,20 +394,40 @@ MFILE32-NEXT: Flags: 0x0 MFILE32-NEXT: CodeSize: 0x14 MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\input.c -MFILE32-NEXT: +0x0: 3 +MFILE32-NEXT: +0x0 [ +MFILE32-NEXT: LineNumberStart: 3 +MFILE32-NEXT: LineNumberEndDelta: 0 +MFILE32-NEXT: IsStatement: Yes +MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\one.c -MFILE32-NEXT: +0x3: 1 +MFILE32-NEXT: +0x3 [ +MFILE32-NEXT: LineNumberStart: 1 +MFILE32-NEXT: LineNumberEndDelta: 0 +MFILE32-NEXT: IsStatement: Yes +MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\two.c -MFILE32-NEXT: +0x8: 2 +MFILE32-NEXT: +0x8 [ +MFILE32-NEXT: LineNumberStart: 2 +MFILE32-NEXT: LineNumberEndDelta: 0 +MFILE32-NEXT: IsStatement: Yes +MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: FilenameSegment [ MFILE32-NEXT: Filename: d:\one.c -MFILE32-NEXT: +0xD: 7 -MFILE32-NEXT: +0x12: 8 +MFILE32-NEXT: +0xD [ +MFILE32-NEXT: LineNumberStart: 7 +MFILE32-NEXT: LineNumberEndDelta: 0 +MFILE32-NEXT: IsStatement: Yes +MFILE32-NEXT: ] +MFILE32-NEXT: +0x12 [ +MFILE32-NEXT: LineNumberStart: 8 +MFILE32-NEXT: LineNumberEndDelta: 0 +MFILE32-NEXT: IsStatement: Yes +MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: ] MFILE32-NEXT: ] @@ -357,28 +465,47 @@ MFILE64-NEXT: Subsection [ MFILE64-NEXT: Type: 0xF1 MFILE64-NEXT: PayloadSize: 0x8 MFILE64: ] -MFILE64-NEXT: FunctionLineTable [ -MFILE64-NEXT: LinkageName: f -MFILE64-NEXT: Flags: 0x0 -MFILE64-NEXT: CodeSize: 0x18 -MFILE64-NEXT: FilenameSegment [ -MFILE64-NEXT: Filename: d:\input.c -MFILE64-NEXT: +0x0: 3 -MFILE64-NEXT: ] -MFILE64-NEXT: FilenameSegment [ -MFILE64-NEXT: Filename: d:\one.c -MFILE64-NEXT: +0x4: 1 -MFILE64-NEXT: ] -MFILE64-NEXT: FilenameSegment [ -MFILE64-NEXT: Filename: d:\two.c -MFILE64-NEXT: +0x9: 2 -MFILE64-NEXT: ] -MFILE64-NEXT: FilenameSegment [ -MFILE64-NEXT: Filename: d:\one.c -MFILE64-NEXT: +0xE: 7 -MFILE64-NEXT: +0x13: 8 -MFILE64-NEXT: ] -MFILE64-NEXT: ] +MFILE64-NEXT: FunctionLineTable [ +MFILE64-NEXT: LinkageName: f +MFILE64-NEXT: Flags: 0x0 +MFILE64-NEXT: CodeSize: 0x18 +MFILE64-NEXT: FilenameSegment [ +MFILE64-NEXT: Filename: d:\input.c +MFILE64-NEXT: +0x0 [ +MFILE64-NEXT: LineNumberStart: 3 +MFILE64-NEXT: LineNumberEndDelta: 0 +MFILE64-NEXT: IsStatement: Yes +MFILE64-NEXT: ] +MFILE64-NEXT: ] +MFILE64-NEXT: FilenameSegment [ +MFILE64-NEXT: Filename: d:\one.c +MFILE64-NEXT: +0x4 [ +MFILE64-NEXT: LineNumberStart: 1 +MFILE64-NEXT: LineNumberEndDelta: 0 +MFILE64-NEXT: IsStatement: Yes +MFILE64-NEXT: ] +MFILE64-NEXT: ] +MFILE64-NEXT: FilenameSegment [ +MFILE64-NEXT: Filename: d:\two.c +MFILE64-NEXT: +0x9 [ +MFILE64-NEXT: LineNumberStart: 2 +MFILE64-NEXT: LineNumberEndDelta: 0 +MFILE64-NEXT: IsStatement: Yes +MFILE64-NEXT: ] +MFILE64-NEXT: ] +MFILE64-NEXT: FilenameSegment [ +MFILE64-NEXT: Filename: d:\one.c +MFILE64-NEXT: +0xE [ +MFILE64-NEXT: LineNumberStart: 7 +MFILE64-NEXT: LineNumberEndDelta: 0 +MFILE64-NEXT: IsStatement: Yes +MFILE64-NEXT: ] +MFILE64-NEXT: +0x13 [ +MFILE64-NEXT: LineNumberStart: 8 +MFILE64-NEXT: LineNumberEndDelta: 0 +MFILE64-NEXT: IsStatement: Yes +MFILE64-NEXT: ] +MFILE64-NEXT: ] MFILE64-NEXT: ] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -411,9 +538,21 @@ MCOMDAT-NEXT: Flags: 0x0 MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: FilenameSegment [ MCOMDAT-NEXT: Filename: c:\src\test.cc -MCOMDAT-NEXT: +0x0: 2 -MCOMDAT-NEXT: +0x3: 3 -MCOMDAT-NEXT: +0x5: 4 +MCOMDAT-NEXT: +0x0 [ +MCOMDAT-NEXT: LineNumberStart: 2 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] +MCOMDAT-NEXT: +0x3 [ +MCOMDAT-NEXT: LineNumberStart: 3 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] +MCOMDAT-NEXT: +0x5 [ +MCOMDAT-NEXT: LineNumberStart: 4 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT: ProcStart { @@ -427,8 +566,20 @@ MCOMDAT-NEXT: Flags: 0x0 MCOMDAT-NEXT: CodeSize: 0x7 MCOMDAT-NEXT: FilenameSegment [ MCOMDAT-NEXT: Filename: c:\src\test.cc -MCOMDAT-NEXT: +0x0: 7 -MCOMDAT-NEXT: +0x3: 8 -MCOMDAT-NEXT: +0x5: 9 +MCOMDAT-NEXT: +0x0 [ +MCOMDAT-NEXT: LineNumberStart: 7 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] +MCOMDAT-NEXT: +0x3 [ +MCOMDAT-NEXT: LineNumberStart: 8 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] +MCOMDAT-NEXT: +0x5 [ +MCOMDAT-NEXT: LineNumberStart: 9 +MCOMDAT-NEXT: LineNumberEndDelta: 0 +MCOMDAT-NEXT: IsStatement: Yes +MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] diff --git a/test/tools/llvm-symbolizer/Inputs/addr.inp b/test/tools/llvm-symbolizer/Inputs/addr.inp index 4de096479dae..b5e146b114e2 100644 --- a/test/tools/llvm-symbolizer/Inputs/addr.inp +++ b/test/tools/llvm-symbolizer/Inputs/addr.inp @@ -1 +1,3 @@ +some text 0x40054d +some text2 diff --git a/test/tools/llvm-symbolizer/print_context.c b/test/tools/llvm-symbolizer/print_context.c new file mode 100644 index 000000000000..f1860e919881 --- /dev/null +++ b/test/tools/llvm-symbolizer/print_context.c @@ -0,0 +1,22 @@ +// REQUIRES: x86_64-linux +// RUN: %host_cc -O0 -g %s -o %t 2>&1 +// RUN: %t 2>&1 | llvm-symbolizer -print-source-context-lines=5 -obj=%t | FileCheck %s --check-prefix=CHECK + +#include <stdio.h> + +int inc(int a) { + return a + 1; +} + +int main() { + printf("%p\n", inc); + return 0; +} + +// CHECK: inc +// CHECK: print_context.c:7 +// CHECK: 5 : #include +// CHECK: 6 : +// CHECK: 7 >: int inc +// CHECK: 8 : return +// CHECK: 9 : } diff --git a/test/tools/llvm-symbolizer/sym.test b/test/tools/llvm-symbolizer/sym.test index 01a6692222e7..27f06901ff6c 100644 --- a/test/tools/llvm-symbolizer/sym.test +++ b/test/tools/llvm-symbolizer/sym.test @@ -20,11 +20,15 @@ RUN: llvm-symbolizer -print-address -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck %s RUN: llvm-symbolizer -inlining -print-address -pretty-print -obj=%p/Inputs/addr.exe < %p/Inputs/addr.inp | FileCheck --check-prefix="PRETTY" %s +#CHECK: some text #CHECK: 0x40054d #CHECK: main #CHECK: {{[/\]+}}tmp{{[/\]+}}x.c:14:0 +#CHECK: some text2 # +#PRETTY: some text #PRETTY: {{[0x]+}}40054d: inctwo at {{[/\]+}}tmp{{[/\]+}}x.c:3:3 #PRETTY: (inlined by) inc at {{[/\]+}}tmp{{[/\]+}}x.c:7:0 #PRETTY (inlined by) main at {{[/\]+}}tmp{{[/\]+}}x.c:14:0 +#PRETTY: some text2 |
