2014-10-07 00:59:44 +08:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2014-09-23 21:49:51 +08:00
|
|
|
; The following two object files were generated using the following command:
|
|
|
|
; D:\> cl /Z7 /c source.c
|
|
|
|
; with the following contents of D:\source.c:
|
|
|
|
; void z(void);
|
|
|
|
;
|
|
|
|
; void x(void) {
|
|
|
|
; z();
|
|
|
|
; }
|
|
|
|
;
|
|
|
|
; void y(void) {
|
|
|
|
; z();
|
|
|
|
; }
|
|
|
|
;
|
|
|
|
; void f(void) {
|
|
|
|
; x();
|
|
|
|
; y();
|
|
|
|
; z();
|
|
|
|
; }
|
2014-10-14 01:03:13 +08:00
|
|
|
; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-i368 \
|
2014-10-14 01:03:13 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFUN32
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-i368 \
|
2013-12-19 19:37:14 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFUN32
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2012-x86_64 \
|
2014-10-14 01:03:13 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFUN64
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifunction-linetables.obj.coff-2013-x86_64 \
|
2013-12-19 19:37:14 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFUN64
|
2014-09-23 21:49:51 +08:00
|
|
|
|
2015-02-19 03:32:05 +08:00
|
|
|
MFUN32: CodeViewDebugInfo [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: Section: .debug$S (2)
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32-NEXT: Magic: 0x4
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x52
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: FrameData (0xF5)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x24
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN32: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32: CodeSize: 0xA
|
|
|
|
MFUN32: DisplayName: x
|
|
|
|
MFUN32: LinkageName: _x
|
|
|
|
MFUN32: }
|
|
|
|
MFUN32: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x30
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN32: LinkageName: _x
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32-NEXT: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: FrameData (0xF5)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x24
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN32: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32: CodeSize: 0xA
|
|
|
|
MFUN32: DisplayName: y
|
|
|
|
MFUN32: LinkageName: _y
|
|
|
|
MFUN32: }
|
|
|
|
MFUN32: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x30
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN32: LinkageName: _y
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32-NEXT: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: FrameData (0xF5)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x24
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN32: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32: CodeSize: 0x14
|
|
|
|
MFUN32: DisplayName: f
|
|
|
|
MFUN32: LinkageName: _f
|
|
|
|
MFUN32: }
|
|
|
|
MFUN32: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFUN32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x40
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN32: LinkageName: _f
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32-NEXT: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: FileChecksums (0xF4)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x18
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: StringTable (0xF3)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x46
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
|
|
|
MFUN32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN32-NEXT: SubSectionSize: 0x8
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN32: ]
|
|
|
|
MFUN32-NEXT: FunctionLineTable [
|
2016-01-13 09:05:16 +08:00
|
|
|
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 ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN32: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
|
2015-02-19 03:32:05 +08:00
|
|
|
MFUN64: CodeViewDebugInfo [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: Magic: 0x4
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x52
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: Subsection [
|
|
|
|
MFUN64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN64: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: CodeSize: 0xE
|
|
|
|
MFUN64: DisplayName: x
|
|
|
|
MFUN64: LinkageName: x
|
|
|
|
MFUN64: }
|
|
|
|
MFUN64: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x30
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64: LinkageName: x
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN64: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: CodeSize: 0xE
|
|
|
|
MFUN64: DisplayName: y
|
|
|
|
MFUN64: LinkageName: y
|
|
|
|
MFUN64: }
|
|
|
|
MFUN64: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x30
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64: LinkageName: y
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFUN64: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: CodeSize: 0x18
|
|
|
|
MFUN64: DisplayName: f
|
|
|
|
MFUN64: LinkageName: f
|
|
|
|
MFUN64: }
|
|
|
|
MFUN64: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x40
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64: LinkageName: f
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: FileChecksums (0xF4)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x18
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: StringTable (0xF3)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0xD
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFUN64-NEXT: SubSectionSize: 0x8
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64: ]
|
|
|
|
MFUN64-NEXT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64-NEXT: LinkageName: x
|
2015-07-09 08:19:51 +08:00
|
|
|
MFUN64-NEXT: Flags: 0x0
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: CodeSize: 0xE
|
|
|
|
MFUN64-NEXT: FilenameSegment [
|
|
|
|
MFUN64-NEXT: Filename: d:\source.c
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64-NEXT: LinkageName: y
|
2015-07-09 08:19:51 +08:00
|
|
|
MFUN64-NEXT: Flags: 0x0
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: CodeSize: 0xE
|
|
|
|
MFUN64-NEXT: FilenameSegment [
|
|
|
|
MFUN64-NEXT: Filename: d:\source.c
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MFUN64-NEXT: LinkageName: f
|
2015-07-09 08:19:51 +08:00
|
|
|
MFUN64-NEXT: Flags: 0x0
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: CodeSize: 0x18
|
|
|
|
MFUN64-NEXT: FilenameSegment [
|
|
|
|
MFUN64-NEXT: Filename: d:\source.c
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFUN64-NEXT: ]
|
|
|
|
MFUN64-NEXT: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFUN64: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
|
2014-10-07 00:59:44 +08:00
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
; The following two object files were generated using the following command:
|
|
|
|
; D:\> cl /Z7 /c input.c
|
|
|
|
; with the following contents of D:\input.c:
|
|
|
|
; void g(void);
|
|
|
|
;
|
|
|
|
; void f(void) {
|
|
|
|
; #line 1 "one.c"
|
|
|
|
; g();
|
|
|
|
; #line 2 "two.c"
|
|
|
|
; g();
|
|
|
|
; #line 7 "one.c"
|
|
|
|
; g();
|
|
|
|
; }
|
2014-10-14 01:03:13 +08:00
|
|
|
; using 32-/64-bit versions of CL v17.00.61030 and v18.00.21005.1 respectively.
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-i368 \
|
2014-10-14 01:03:13 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFILE32
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-i368 \
|
2014-10-07 00:59:44 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFILE32
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2012-x86_64 \
|
2014-10-14 01:03:13 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFILE64
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/multifile-linetables.obj.coff-2013-x86_64 \
|
2014-10-07 00:59:44 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MFILE64
|
|
|
|
|
2015-02-19 03:32:05 +08:00
|
|
|
MFILE32: CodeViewDebugInfo [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32: Magic: 0x4
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x51
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32: Subsection [
|
|
|
|
MFILE32-NEXT: SubSectionType: FrameData (0xF5)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x24
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
2016-01-16 06:09:13 +08:00
|
|
|
MFILE32: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFILE32: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32: CodeSize: 0x14
|
|
|
|
MFILE32: DisplayName: f
|
|
|
|
MFILE32: LinkageName: _f
|
|
|
|
MFILE32: }
|
|
|
|
MFILE32: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
|
|
|
MFILE32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x64
|
2015-12-15 09:23:55 +08:00
|
|
|
MFILE32: LinkageName: _f
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: ]
|
|
|
|
MFILE32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: FileChecksums (0xF4)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x28
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
|
|
|
MFILE32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: StringTable (0xF3)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x57
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
|
|
|
MFILE32-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE32-NEXT: SubSectionSize: 0x8
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32: ]
|
|
|
|
MFILE32-NEXT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MFILE32-NEXT: LinkageName: _f
|
2015-07-09 08:19:51 +08:00
|
|
|
MFILE32-NEXT: Flags: 0x0
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: CodeSize: 0x14
|
|
|
|
MFILE32-NEXT: FilenameSegment [
|
|
|
|
MFILE32-NEXT: Filename: d:\input.c
|
2016-01-13 09:05:16 +08:00
|
|
|
MFILE32-NEXT: +0x0 [
|
|
|
|
MFILE32-NEXT: LineNumberStart: 3
|
|
|
|
MFILE32-NEXT: LineNumberEndDelta: 0
|
|
|
|
MFILE32-NEXT: IsStatement: Yes
|
|
|
|
MFILE32-NEXT: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: ]
|
|
|
|
MFILE32-NEXT: FilenameSegment [
|
|
|
|
MFILE32-NEXT: Filename: d:\one.c
|
2016-01-13 09:05:16 +08:00
|
|
|
MFILE32-NEXT: +0x3 [
|
|
|
|
MFILE32-NEXT: LineNumberStart: 1
|
|
|
|
MFILE32-NEXT: LineNumberEndDelta: 0
|
|
|
|
MFILE32-NEXT: IsStatement: Yes
|
|
|
|
MFILE32-NEXT: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: ]
|
|
|
|
MFILE32-NEXT: FilenameSegment [
|
|
|
|
MFILE32-NEXT: Filename: d:\two.c
|
2016-01-13 09:05:16 +08:00
|
|
|
MFILE32-NEXT: +0x8 [
|
|
|
|
MFILE32-NEXT: LineNumberStart: 2
|
|
|
|
MFILE32-NEXT: LineNumberEndDelta: 0
|
|
|
|
MFILE32-NEXT: IsStatement: Yes
|
|
|
|
MFILE32-NEXT: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: ]
|
|
|
|
MFILE32-NEXT: FilenameSegment [
|
|
|
|
MFILE32-NEXT: Filename: d:\one.c
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE32-NEXT: ]
|
|
|
|
MFILE32-NEXT: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE32: ]
|
2013-12-19 19:37:14 +08:00
|
|
|
|
2015-02-19 03:32:05 +08:00
|
|
|
MFILE64: CodeViewDebugInfo [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64: Magic: 0x4
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x51
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64: Subsection [
|
|
|
|
MFILE64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x4B
|
2017-07-12 07:41:41 +08:00
|
|
|
MFILE64: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64: CodeSize: 0x18
|
|
|
|
MFILE64: DisplayName: f
|
|
|
|
MFILE64: LinkageName: f
|
|
|
|
MFILE64: }
|
|
|
|
MFILE64: ProcEnd
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64: ]
|
|
|
|
MFILE64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64-NEXT: SubSectionType: Lines (0xF2)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x64
|
2015-12-15 09:23:55 +08:00
|
|
|
MFILE64: LinkageName: f
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64-NEXT: ]
|
|
|
|
MFILE64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64-NEXT: SubSectionType: FileChecksums (0xF4)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x28
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64: ]
|
|
|
|
MFILE64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64-NEXT: SubSectionType: StringTable (0xF3)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x1E
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64: ]
|
|
|
|
MFILE64-NEXT: Subsection [
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64-NEXT: SubSectionType: Symbols (0xF1)
|
|
|
|
MFILE64-NEXT: SubSectionSize: 0x8
|
2013-12-19 19:37:14 +08:00
|
|
|
MFILE64: ]
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2016-01-14 03:32:35 +08:00
|
|
|
MFILE64: ]
|
2014-10-07 00:59:44 +08:00
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2014-10-14 01:03:13 +08:00
|
|
|
; The following object files were generated using the following command:
|
2014-10-07 00:59:44 +08:00
|
|
|
; C:\src> cl /Z7 /Gy /c test.cc
|
|
|
|
; with the following contents of C:\src\test.cc:
|
|
|
|
; int f()
|
|
|
|
; {
|
|
|
|
; return 0;
|
|
|
|
; }
|
|
|
|
;
|
|
|
|
; int g()
|
|
|
|
; {
|
|
|
|
; return 0;
|
|
|
|
; }
|
2014-10-14 01:03:13 +08:00
|
|
|
; using 32-version of CL v17.00.61030 and v18.00.21005.1 respectively.
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2012-i386 \
|
2014-10-14 01:03:13 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MCOMDAT
|
2015-02-19 03:32:05 +08:00
|
|
|
RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \
|
2014-10-07 00:59:44 +08:00
|
|
|
RUN: | FileCheck %s -check-prefix MCOMDAT
|
|
|
|
|
2017-07-12 07:41:41 +08:00
|
|
|
MCOMDAT: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MCOMDAT: CodeSize: 0x7
|
|
|
|
MCOMDAT: DisplayName: f
|
|
|
|
MCOMDAT: LinkageName: ?f@@YAHXZ
|
|
|
|
MCOMDAT: }
|
2014-10-07 00:59:44 +08:00
|
|
|
MCOMDAT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MCOMDAT-NEXT: LinkageName: ?f@@YAHXZ
|
2015-07-09 08:19:51 +08:00
|
|
|
MCOMDAT-NEXT: Flags: 0x0
|
2014-10-24 06:25:31 +08:00
|
|
|
MCOMDAT-NEXT: CodeSize: 0x7
|
|
|
|
MCOMDAT-NEXT: FilenameSegment [
|
|
|
|
MCOMDAT-NEXT: Filename: c:\src\test.cc
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2014-10-24 06:25:31 +08:00
|
|
|
MCOMDAT-NEXT: ]
|
|
|
|
MCOMDAT-NEXT: ]
|
2017-07-12 07:41:41 +08:00
|
|
|
MCOMDAT: GlobalProcIdSym {
|
2016-01-14 03:32:35 +08:00
|
|
|
MCOMDAT: CodeSize: 0x7
|
|
|
|
MCOMDAT: DisplayName: g
|
|
|
|
MCOMDAT: LinkageName: ?g@@YAHXZ
|
|
|
|
MCOMDAT: }
|
2014-10-07 00:59:44 +08:00
|
|
|
MCOMDAT: FunctionLineTable [
|
2015-12-15 09:23:55 +08:00
|
|
|
MCOMDAT-NEXT: LinkageName: ?g@@YAHXZ
|
2015-07-09 08:19:51 +08:00
|
|
|
MCOMDAT-NEXT: Flags: 0x0
|
2014-10-24 06:25:31 +08:00
|
|
|
MCOMDAT-NEXT: CodeSize: 0x7
|
|
|
|
MCOMDAT-NEXT: FilenameSegment [
|
|
|
|
MCOMDAT-NEXT: Filename: c:\src\test.cc
|
2016-01-13 09:05:16 +08:00
|
|
|
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: ]
|
2014-10-24 06:25:31 +08:00
|
|
|
MCOMDAT-NEXT: ]
|
|
|
|
MCOMDAT-NEXT: ]
|