diff options
author | Timur Iskhodzhanov <timurrrr@google.com> | 2013-12-19 11:37:14 +0000 |
---|---|---|
committer | Timur Iskhodzhanov <timurrrr@google.com> | 2013-12-19 11:37:14 +0000 |
commit | e493a9976c6ff5aa7852c6c6f512b0ff60e3f5ce (patch) | |
tree | 795cdbcb5ca3290e70174af4a34c7b0d8a9dada0 /test/tools/llvm-readobj | |
parent | 7ec73b1145bb666a9f1048d044be44e03b6f40c5 (diff) | |
download | llvm-e493a9976c6ff5aa7852c6c6f512b0ff60e3f5ce.tar.gz llvm-e493a9976c6ff5aa7852c6c6f512b0ff60e3f5ce.tar.bz2 llvm-e493a9976c6ff5aa7852c6c6f512b0ff60e3f5ce.tar.xz |
Teach the llvm-readobj COFF dumper to dump debug line tables from object files
Reviewed at http://llvm-reviews.chandlerc.com/D2425
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197674 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/tools/llvm-readobj')
-rw-r--r-- | test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-i368 | bin | 0 -> 1631 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-x86_64 | bin | 0 -> 1799 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-i368 | bin | 0 -> 2155 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-x86_64 | bin | 0 -> 2475 bytes | |||
-rw-r--r-- | test/tools/llvm-readobj/codeview-linetables.test | 282 |
5 files changed, 282 insertions, 0 deletions
diff --git a/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-i368 b/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-i368 Binary files differnew file mode 100644 index 0000000000..1672d3a542 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-i368 diff --git a/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-x86_64 b/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-x86_64 Binary files differnew file mode 100644 index 0000000000..30bfe79bc3 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/multifile-linetables.obj.coff-2012-x86_64 diff --git a/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-i368 b/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-i368 Binary files differnew file mode 100644 index 0000000000..a0196ff2d7 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-i368 diff --git a/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-x86_64 b/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-x86_64 Binary files differnew file mode 100644 index 0000000000..14f65ab2f6 --- /dev/null +++ b/test/tools/llvm-readobj/Inputs/multifunction-linetables.obj.coff-2012-x86_64 diff --git a/test/tools/llvm-readobj/codeview-linetables.test b/test/tools/llvm-readobj/codeview-linetables.test new file mode 100644 index 0000000000..4854d7ac6a --- /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: ] |