| # RUN: yaml2obj %s -o %t.obj |
| |
| # RUN: rm -f %t.dll %t.pdb |
| # RUN: lld-link /debug /pdbaltpath:test.pdb /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll > %t.1.txt |
| # RUN: lld-link /debug /pdbaltpath:test.pdb /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll > %t.2.txt |
| # RUN: cat %t.1.txt %t.2.txt | FileCheck %s |
| |
| # RUN: rm -f %t.dll %t.pdb |
| # RUN: lld-link /debug /pdb:%t1.pdb /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll > %t.3.txt |
| # RUN: lld-link /debug /pdb:%t2.pdb /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll > %t.4.txt |
| # RUN: cat %t.3.txt %t.4.txt | FileCheck --check-prefix TWOPDBS %s |
| |
| # RUN: rm -f %t.dll %t.pdb |
| # RUN: lld-link /Brepro /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix REPRO %s |
| |
| # RUN: rm -f %t.dll %t.pdb |
| # RUN: lld-link /Brepro /debug /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix REPRODEBUG %s |
| |
| # RUN: rm -f %t.dll %t.pdb |
| # RUN: lld-link /lldmingw /debug:dwarf /dll /out:%t.dll /entry:DllMain %t.obj |
| # RUN: llvm-readobj --coff-debug-directory %t.dll | FileCheck --check-prefix MINGW %s |
| |
| # CHECK: File: [[FILE:.*]].dll |
| # CHECK: DebugDirectory [ |
| # CHECK: DebugEntry { |
| # CHECK: Characteristics: 0x0 |
| # CHECK: TimeDateStamp: |
| # CHECK: MajorVersion: 0x0 |
| # CHECK: MinorVersion: 0x0 |
| # CHECK: Type: CodeView (0x2) |
| # CHECK: SizeOfData: 0x{{[^0]}} |
| # CHECK: AddressOfRawData: 0x{{[^0]}} |
| # CHECK: PointerToRawData: 0x{{[^0]}} |
| # CHECK: PDBInfo { |
| # CHECK: PDBSignature: 0x53445352 |
| # CHECK: PDBGUID: [[GUID:\(([A-Za-z0-9]{2} ?){16}\)]] |
| # CHECK: PDBAge: 1 |
| # CHECK: PDBFileName: {{.*}}.pdb |
| # CHECK: } |
| # CHECK: } |
| # CHECK: ] |
| # CHECK: File: [[FILE]].dll |
| # CHECK: DebugDirectory [ |
| # CHECK: DebugEntry { |
| # CHECK: Characteristics: 0x0 |
| # CHECK: TimeDateStamp: |
| # CHECK: MajorVersion: 0x0 |
| # CHECK: MinorVersion: 0x0 |
| # CHECK: Type: CodeView (0x2) |
| # CHECK: SizeOfData: 0x{{[^0]}} |
| # CHECK: AddressOfRawData: 0x{{[^0]}} |
| # CHECK: PointerToRawData: 0x{{[^0]}} |
| # CHECK: PDBInfo { |
| # CHECK: PDBSignature: 0x53445352 |
| # CHECK: PDBGUID: [[GUID]] |
| # CHECK: PDBAge: 1 |
| # CHECK: PDBFileName: {{.*}}.pdb |
| # CHECK: } |
| # CHECK: } |
| # CHECK: ] |
| |
| # TWOPDBS: File: [[FILE:.*]].dll |
| # TWOPDBS: DebugDirectory [ |
| # TWOPDBS: DebugEntry { |
| # TWOPDBS: Characteristics: 0x0 |
| # TWOPDBS: TimeDateStamp: |
| # TWOPDBS: MajorVersion: 0x0 |
| # TWOPDBS: MinorVersion: 0x0 |
| # TWOPDBS: Type: CodeView (0x2) |
| # TWOPDBS: SizeOfData: 0x{{[^0]}} |
| # TWOPDBS: AddressOfRawData: 0x{{[^0]}} |
| # TWOPDBS: PointerToRawData: 0x{{[^0]}} |
| # TWOPDBS: PDBInfo { |
| # TWOPDBS: PDBSignature: 0x53445352 |
| # TWOPDBS: PDBGUID: [[GUID:\(([A-Za-z0-9]{2} ?){16}\)]] |
| # TWOPDBS: PDBAge: 1 |
| # TWOPDBS: PDBFileName: {{.*}}.pdb |
| # TWOPDBS: } |
| # TWOPDBS: } |
| # TWOPDBS: ] |
| # TWOPDBS: File: [[FILE]].dll |
| # TWOPDBS: DebugDirectory [ |
| # TWOPDBS: DebugEntry { |
| # TWOPDBS: Characteristics: 0x0 |
| # TWOPDBS: TimeDateStamp: |
| # TWOPDBS: MajorVersion: 0x0 |
| # TWOPDBS: MinorVersion: 0x0 |
| # TWOPDBS: Type: CodeView (0x2) |
| # TWOPDBS: SizeOfData: 0x{{[^0]}} |
| # TWOPDBS: AddressOfRawData: 0x{{[^0]}} |
| # TWOPDBS: PointerToRawData: 0x{{[^0]}} |
| # TWOPDBS: PDBInfo { |
| # TWOPDBS: PDBSignature: 0x53445352 |
| # TWOPDBS-NOT: PDBGUID: [[GUID]] |
| # TWOPDBS: PDBAge: 1 |
| # TWOPDBS: PDBFileName: {{.*}}.pdb |
| # TWOPDBS: } |
| # TWOPDBS: } |
| # TWOPDBS: ] |
| |
| # REPRO: File: {{.*}}.dll |
| # REPRO: DebugDirectory [ |
| # REPRO: DebugEntry { |
| # REPRO: Characteristics: 0x0 |
| # REPRO: TimeDateStamp: |
| # REPRO: MajorVersion: 0x0 |
| # REPRO: MinorVersion: 0x0 |
| # REPRO: Type: Repro (0x10) |
| # REPRO: SizeOfData: 0x0 |
| # REPRO: AddressOfRawData: 0x0 |
| # REPRO: PointerToRawData: 0x0 |
| # REPRO: } |
| # REPRO: ] |
| |
| # REPRODEBUG: File: {{.*}}.dll |
| # REPRODEBUG: DebugDirectory [ |
| # REPRODEBUG: DebugEntry { |
| # REPRODEBUG: Characteristics: 0x0 |
| # REPRODEBUG: TimeDateStamp: |
| # REPRODEBUG: MajorVersion: 0x0 |
| # REPRODEBUG: MinorVersion: 0x0 |
| # REPRODEBUG: Type: CodeView (0x2) |
| # REPRODEBUG: SizeOfData: 0x{{[^0]}} |
| # REPRODEBUG: AddressOfRawData: 0x{{[^0]}} |
| # REPRODEBUG: PointerToRawData: 0x{{[^0]}} |
| # REPRODEBUG: PDBInfo { |
| # REPRODEBUG: PDBSignature: 0x53445352 |
| # REPRODEBUG: PDBGUID: |
| # REPRODEBUG: PDBAge: 1 |
| # REPRODEBUG: PDBFileName: |
| # REPRODEBUG: } |
| # REPRODEBUG: } |
| # REPRODEBUG: DebugEntry { |
| # REPRODEBUG: Characteristics: 0x0 |
| # REPRODEBUG: TimeDateStamp: |
| # REPRODEBUG: MajorVersion: 0x0 |
| # REPRODEBUG: MinorVersion: 0x0 |
| # REPRODEBUG: Type: Repro (0x10) |
| # REPRODEBUG: SizeOfData: 0x0 |
| # REPRODEBUG: AddressOfRawData: 0x0 |
| # REPRODEBUG: PointerToRawData: 0x0 |
| # REPRODEBUG: } |
| # REPRODEBUG: ] |
| |
| # MINGW: File: {{.*}}.dll |
| # MINGW: DebugDirectory [ |
| # MINGW: DebugEntry { |
| # MINGW: Characteristics: 0x0 |
| # MINGW: TimeDateStamp: |
| # MINGW: MajorVersion: 0x0 |
| # MINGW: MinorVersion: 0x0 |
| # MINGW: Type: CodeView (0x2) |
| # MINGW: SizeOfData: 0x{{[^0]}} |
| # MINGW: AddressOfRawData: 0x{{[^0]}} |
| # MINGW: PointerToRawData: 0x{{[^0]}} |
| # MINGW: PDBInfo { |
| # MINGW: PDBSignature: 0x53445352 |
| # MINGW: PDBGUID: [[GUID:\(([A-Za-z0-9]{2} ?){16}\)]] |
| # MINGW: PDBAge: 1 |
| # MINGW: PDBFileName: |
| # MINGW: } |
| # MINGW: } |
| # MINGW: ] |
| --- !COFF |
| header: |
| Machine: IMAGE_FILE_MACHINE_I386 |
| Characteristics: [ ] |
| sections: |
| - Name: .text |
| Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] |
| Alignment: 4 |
| SectionData: 31C0C3 |
| - Name: .data |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 4 |
| SectionData: '' |
| - Name: .bss |
| Characteristics: [ IMAGE_SCN_CNT_UNINITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| Alignment: 4 |
| SectionData: '' |
| symbols: |
| - Name: .text |
| Value: 0 |
| SectionNumber: 1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 3 |
| NumberOfRelocations: 0 |
| NumberOfLinenumbers: 0 |
| CheckSum: 3963538403 |
| Number: 1 |
| - Name: .data |
| Value: 0 |
| SectionNumber: 2 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 0 |
| NumberOfRelocations: 0 |
| NumberOfLinenumbers: 0 |
| CheckSum: 0 |
| Number: 2 |
| - Name: .bss |
| Value: 0 |
| SectionNumber: 3 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| SectionDefinition: |
| Length: 0 |
| NumberOfRelocations: 0 |
| NumberOfLinenumbers: 0 |
| CheckSum: 0 |
| Number: 3 |
| - Name: '@feat.00' |
| Value: 1 |
| SectionNumber: -1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_NULL |
| StorageClass: IMAGE_SYM_CLASS_STATIC |
| - Name: _DllMain |
| Value: 0 |
| SectionNumber: 1 |
| SimpleType: IMAGE_SYM_TYPE_NULL |
| ComplexType: IMAGE_SYM_DTYPE_FUNCTION |
| StorageClass: IMAGE_SYM_CLASS_EXTERNAL |
| ... |