aboutsummaryrefslogtreecommitdiffstats
path: root/test/tools/llvm-readobj/codeview-linetables.test
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2014-04-23 16:57:46 -0700
committerStephen Hines <srhines@google.com>2014-04-24 15:53:16 -0700
commit36b56886974eae4f9c5ebc96befd3e7bfe5de338 (patch)
treee6cfb69fbbd937f450eeb83bfb83b9da3b01275a /test/tools/llvm-readobj/codeview-linetables.test
parent69a8640022b04415ae9fac62f8ab090601d8f889 (diff)
downloadexternal_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.zip
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.gz
external_llvm-36b56886974eae4f9c5ebc96befd3e7bfe5de338.tar.bz2
Update to LLVM 3.5a.
Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
Diffstat (limited to 'test/tools/llvm-readobj/codeview-linetables.test')
-rw-r--r--test/tools/llvm-readobj/codeview-linetables.test282
1 files changed, 282 insertions, 0 deletions
diff --git a/test/tools/llvm-readobj/codeview-linetables.test b/test/tools/llvm-readobj/codeview-linetables.test
new file mode 100644
index 0000000..4854d7a
--- /dev/null
+++ b/test/tools/llvm-readobj/codeview-linetables.test
@@ -0,0 +1,282 @@
+RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
+RUN: | FileCheck %s -check-prefix MFUN32
+RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
+RUN: | FileCheck %s -check-prefix MFUN64
+RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
+RUN: | FileCheck %s -check-prefix MFILE32
+RUN: llvm-readobj -s -codeview-linetables %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
+RUN: | FileCheck %s -check-prefix MFILE64
+
+MFUN32: CodeViewLineTables [
+MFUN32-NEXT: Magic: 0x4
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF1
+MFUN32-NEXT: PayloadSize: 0x52
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF5
+MFUN32-NEXT: PayloadSize: 0x24
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF1
+MFUN32-NEXT: PayloadSize: 0x4B
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF2
+MFUN32-NEXT: PayloadSize: 0x30
+MFUN32: FunctionName: _x
+MFUN32-NEXT: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF5
+MFUN32-NEXT: PayloadSize: 0x24
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF1
+MFUN32-NEXT: PayloadSize: 0x4B
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF2
+MFUN32-NEXT: PayloadSize: 0x30
+MFUN32: FunctionName: _y
+MFUN32-NEXT: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF5
+MFUN32-NEXT: PayloadSize: 0x24
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF1
+MFUN32-NEXT: PayloadSize: 0x4B
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF2
+MFUN32-NEXT: PayloadSize: 0x40
+MFUN32: FunctionName: _f
+MFUN32-NEXT: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF4
+MFUN32-NEXT: PayloadSize: 0x18
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF3
+MFUN32-NEXT: PayloadSize: 0x46
+MFUN32: ]
+MFUN32-NEXT: Subsection [
+MFUN32-NEXT: Type: 0xF1
+MFUN32-NEXT: PayloadSize: 0x8
+MFUN32: ]
+MFUN32-NEXT: FunctionLineTable [
+MFUN32-NEXT: FunctionName: _x
+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: FunctionName: _y
+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: FunctionName: _f
+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: ]
+
+MFUN64: CodeViewLineTables [
+MFUN64-NEXT: Magic: 0x4
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF1
+MFUN64-NEXT: PayloadSize: 0x52
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF1
+MFUN64-NEXT: PayloadSize: 0x4B
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF2
+MFUN64-NEXT: PayloadSize: 0x30
+MFUN64: FunctionName: x
+MFUN64-NEXT: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF1
+MFUN64-NEXT: PayloadSize: 0x4B
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF2
+MFUN64-NEXT: PayloadSize: 0x30
+MFUN64: FunctionName: y
+MFUN64-NEXT: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF1
+MFUN64-NEXT: PayloadSize: 0x4B
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF2
+MFUN64-NEXT: PayloadSize: 0x40
+MFUN64: FunctionName: f
+MFUN64-NEXT: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF4
+MFUN64-NEXT: PayloadSize: 0x18
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF3
+MFUN64-NEXT: PayloadSize: 0xD
+MFUN64: ]
+MFUN64-NEXT: Subsection [
+MFUN64-NEXT: Type: 0xF1
+MFUN64-NEXT: PayloadSize: 0x8
+MFUN64: ]
+MFUN64-NEXT: FunctionLineTable [
+MFUN64-NEXT: FunctionName: x
+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: ]
+MFUN64-NEXT: ]
+MFUN64-NEXT: FunctionLineTable [
+MFUN64-NEXT: FunctionName: y
+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: ]
+MFUN64-NEXT: ]
+MFUN64-NEXT: FunctionLineTable [
+MFUN64-NEXT: FunctionName: f
+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: ]
+MFUN64-NEXT: ]
+MFUN64-NEXT: ]
+
+MFILE32: CodeViewLineTables [
+MFILE32-NEXT: Magic: 0x4
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF1
+MFILE32-NEXT: PayloadSize: 0x51
+MFILE32: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF5
+MFILE32-NEXT: PayloadSize: 0x24
+MFILE32: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF1
+MFILE32-NEXT: PayloadSize: 0x4B
+MFILE32: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF2
+MFILE32-NEXT: PayloadSize: 0x64
+MFILE32: FunctionName: _f
+MFILE32-NEXT: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF4
+MFILE32-NEXT: PayloadSize: 0x28
+MFILE32: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF3
+MFILE32-NEXT: PayloadSize: 0x57
+MFILE32: ]
+MFILE32-NEXT: Subsection [
+MFILE32-NEXT: Type: 0xF1
+MFILE32-NEXT: PayloadSize: 0x8
+MFILE32: ]
+MFILE32-NEXT: FunctionLineTable [
+MFILE32-NEXT: FunctionName: _f
+MFILE32-NEXT: CodeSize: 0x14
+MFILE32-NEXT: FilenameSegment [
+MFILE32-NEXT: Filename: d:\input.c
+MFILE32-NEXT: +0x0: 3
+MFILE32-NEXT: ]
+MFILE32-NEXT: FilenameSegment [
+MFILE32-NEXT: Filename: d:\one.c
+MFILE32-NEXT: +0x3: 1
+MFILE32-NEXT: ]
+MFILE32-NEXT: FilenameSegment [
+MFILE32-NEXT: Filename: d:\two.c
+MFILE32-NEXT: +0x8: 2
+MFILE32-NEXT: ]
+MFILE32-NEXT: FilenameSegment [
+MFILE32-NEXT: Filename: d:\one.c
+MFILE32-NEXT: +0xD: 7
+MFILE32-NEXT: +0x12: 8
+MFILE32-NEXT: ]
+MFILE32-NEXT: ]
+MFILE32-NEXT: ]
+
+MFILE64: CodeViewLineTables [
+MFILE64-NEXT: Magic: 0x4
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF1
+MFILE64-NEXT: PayloadSize: 0x51
+MFILE64: ]
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF1
+MFILE64-NEXT: PayloadSize: 0x4B
+MFILE64: ]
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF2
+MFILE64-NEXT: PayloadSize: 0x64
+MFILE64: FunctionName: f
+MFILE64-NEXT: ]
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF4
+MFILE64-NEXT: PayloadSize: 0x28
+MFILE64: ]
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF3
+MFILE64-NEXT: PayloadSize: 0x1E
+MFILE64: ]
+MFILE64-NEXT: Subsection [
+MFILE64-NEXT: Type: 0xF1
+MFILE64-NEXT: PayloadSize: 0x8
+MFILE64: ]
+MFILE64-NEXT: FunctionLineTable [
+MFILE64-NEXT: FunctionName: f
+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: ]