# RUN: yaml2obj %s > %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
...
