| # RUN: yaml2obj < %s > %t.obj | 
 | # | 
 | # RUN: lld-link /out:%t.exe /entry:main %t.obj | 
 | # RUN: llvm-readobj --file-headers %t.exe | FileCheck -check-prefix=HEADER %s | 
 | # RUN: llvm-objdump --unwind-info %t.exe | FileCheck --check-prefix=UNWIND %s | 
 | # | 
 | # RUN: lld-link /merge:.pdata=.rdata /out:%t.exe /entry:main %t.obj | 
 | # RUN: llvm-readobj --file-headers --sections %t.exe | FileCheck -check-prefix=HEADER-MERGE %s | 
 | # | 
 | # HEADER: ExceptionTableRVA: 0x3000 | 
 | # | 
 | # FIXME: llvm-readobj currently does not understand files with .pdata merged | 
 | # into .rdata. But we can at least check that the section headers look correct. | 
 | # | 
 | # HEADER-MERGE: ExceptionTableRVA: 0x2004 | 
 | # HEADER-MERGE-NEXT: ExceptionTableSize: 0x30 | 
 | # HEADER-MERGE: Name: .rdata | 
 | # HEADER-MERGE-NEXT: VirtualSize: 0x78 | 
 | # HEADER-MERGE-NEXT: VirtualAddress: 0x2000 | 
 | # | 
 | # UNWIND: Function Table: | 
 | # UNWIND:   Start Address: 0x1000 | 
 | # UNWIND:   End Address: 0x101b | 
 | # UNWIND:   Unwind Info Address: 0x2004 | 
 | # UNWIND:     Version: 1 | 
 | # UNWIND:     Flags: 1 UNW_ExceptionHandler | 
 | # UNWIND:     Size of prolog: 18 | 
 | # UNWIND:     Number of Codes: 8 | 
 | # UNWIND:     Frame register: RBX | 
 | # UNWIND:     Frame offset: 0 | 
 | # UNWIND:     Unwind Codes: | 
 | # UNWIND:       0x12: UOP_SetFPReg | 
 | # UNWIND:       0x0f: UOP_PushNonVol RBX | 
 | # UNWIND:       0x0e: UOP_SaveXMM128 XMM8 [0x0000] | 
 | # UNWIND:       0x09: UOP_SaveNonVol RSI [0x0010] | 
 | # UNWIND:       0x04: UOP_AllocSmall 24 | 
 | # UNWIND:       0x00: UOP_PushMachFrame w/o error code | 
 | # UNWIND: Function Table: | 
 | # UNWIND:   Start Address: 0x1012 | 
 | # UNWIND:   End Address: 0x1012 | 
 | # UNWIND:   Unwind Info Address: 0x2020 | 
 | # UNWIND:     Version: 1 | 
 | # UNWIND:     Flags: 4 UNW_ChainInfo | 
 | # UNWIND:     Size of prolog: 0 | 
 | # UNWIND:     Number of Codes: 0 | 
 | # UNWIND:     No frame pointer used | 
 | # UNWIND: Function Table: | 
 | # UNWIND:   Start Address: 0x101b | 
 | # UNWIND:   End Address: 0x101c | 
 | # UNWIND:   Unwind Info Address: 0x2030 | 
 | # UNWIND:     Version: 1 | 
 | # UNWIND:     Flags: 0 | 
 | # UNWIND:     Size of prolog: 0 | 
 | # UNWIND:     Number of Codes: 0 | 
 | # UNWIND:     No frame pointer used | 
 | # UNWIND: Function Table: | 
 | # UNWIND:   Start Address: 0x101c | 
 | # UNWIND:   End Address: 0x1039 | 
 | # UNWIND:   Unwind Info Address: 0x2038 | 
 | # UNWIND:     Version: 1 | 
 | # UNWIND:     Flags: 0 | 
 | # UNWIND:     Size of prolog: 14 | 
 | # UNWIND:     Number of Codes: 6 | 
 | # UNWIND:     No frame pointer used | 
 | # UNWIND:     Unwind Codes: | 
 | # UNWIND:       0x0e: UOP_AllocLarge 8454128 | 
 | # UNWIND:       0x07: UOP_AllocLarge 8190 | 
 | # UNWIND:       0x00: UOP_PushMachFrame w/o error code | 
 |  | 
 | --- !COFF | 
 | header: | 
 |   Machine:         IMAGE_FILE_MACHINE_AMD64 | 
 |   Characteristics: [  ] | 
 | sections: | 
 |   - Name:            .text | 
 |     Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] | 
 |     Alignment:       4 | 
 |     SectionData:     4883EC184889742410440F110424534889E3488D235B4883C418C3C34881ECF0FF00004881ECF0FF80004881C4F0FF80004881C4F0FF0000C3 | 
 |   - Name:            .xdata | 
 |     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] | 
 |     Alignment:       4 | 
 |     SectionData:     0912080312030F300E880000096402000422001A000000000000000021000000000000001B000000000000000100000000000000010E06000E11F0FF80000701FE1F001A | 
 |     Relocations: | 
 |       - VirtualAddress:  20 | 
 |         SymbolName:      __C_specific_handler | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  32 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  36 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  40 | 
 |         SymbolName:      .xdata | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |   - Name:            .pdata | 
 |     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] | 
 |     Alignment:       4 | 
 |     SectionData:     000000001B0000000000000012000000120000001C00000000000000010000002C000000000000001D00000034000000 | 
 |     Relocations: | 
 |       - VirtualAddress:  0 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  4 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  8 | 
 |         SymbolName:      .xdata | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  12 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  16 | 
 |         SymbolName:      func | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  20 | 
 |         SymbolName:      .xdata | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  24 | 
 |         SymbolName:      smallFunc | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  28 | 
 |         SymbolName:      smallFunc | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  32 | 
 |         SymbolName:      .xdata | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  36 | 
 |         SymbolName:      allocFunc | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  40 | 
 |         SymbolName:      allocFunc | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |       - VirtualAddress:  44 | 
 |         SymbolName:      .xdata | 
 |         Type:            IMAGE_REL_AMD64_ADDR32NB | 
 |   - Name:            .rdata | 
 |     Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] | 
 |     Alignment:       4 | 
 |     SectionData:     00000000 | 
 | symbols: | 
 |   - Name:            .text | 
 |     Value:           0 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_STATIC | 
 |     SectionDefinition: | 
 |       Length:          57 | 
 |       NumberOfRelocations: 0 | 
 |       NumberOfLinenumbers: 0 | 
 |       CheckSum:        0 | 
 |       Number:          1 | 
 |   - Name:            .xdata | 
 |     Value:           0 | 
 |     SectionNumber:   2 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_STATIC | 
 |     SectionDefinition: | 
 |       Length:          68 | 
 |       NumberOfRelocations: 4 | 
 |       NumberOfLinenumbers: 0 | 
 |       CheckSum:        0 | 
 |       Number:          2 | 
 |   - Name:            .pdata | 
 |     Value:           0 | 
 |     SectionNumber:   3 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_STATIC | 
 |     SectionDefinition: | 
 |       Length:          48 | 
 |       NumberOfRelocations: 12 | 
 |       NumberOfLinenumbers: 0 | 
 |       CheckSum:        0 | 
 |       Number:          3 | 
 |   - Name:            func | 
 |     Value:           0 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 |   - Name:            __C_specific_handler | 
 |     Value:           0 | 
 |     SectionNumber:   0 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 |   - Name:            smallFunc | 
 |     Value:           27 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 |   - Name:            allocFunc | 
 |     Value:           28 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_FUNCTION | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 |   - Name:            main | 
 |     Value:           0 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 |   - Name:            __C_specific_handler | 
 |     Value:           0 | 
 |     SectionNumber:   1 | 
 |     SimpleType:      IMAGE_SYM_TYPE_NULL | 
 |     ComplexType:     IMAGE_SYM_DTYPE_NULL | 
 |     StorageClass:    IMAGE_SYM_CLASS_EXTERNAL | 
 | ... |