## Check that yaml2obj automatically assigns omited fields with values.
# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj --headers --symbols %t | FileCheck %s
--- !XCOFF
FileHeader:
MagicNumber: 0x1DF
Sections:
- Name: .text
Flags: [ STYP_TEXT ]
SectionData: "9061FFF880820000"
- Name: .data
Flags: [ STYP_DATA ]
SectionData: "0000000000000FC0"
Relocations:
- Address: 0x08
- Name: .data
Relocations:
- Type: 0x02
- Name: .debug
Address: 0x0
Size: 0x60
Flags: [ STYP_DEBUG, STYP_DATA ]
SectionData: 01110103
- Flags: [ STYP_BSS, STYP_DWARF, STYP_EXCEPT, STYP_INFO, STYP_TDATA, STYP_TBSS, STYP_LOADER, STYP_TYPCHK, STYP_OVRFLO ]
Symbols:
- Name: .file
Section: N_DEBUG
- Name: .undef
- Name: .abs
Section: N_ABS
- Name: .text
Value: 0x0
Section: .text
Type: 0x0
StorageClass: C_HIDEXT
NumberOfAuxEntries: 1
# CHECK: AddressSize: 32bit
# CHECK-NEXT: FileHeader {
# CHECK-NEXT: Magic: 0x1DF
# CHECK-NEXT: NumberOfSections: 5
# CHECK-NEXT: TimeStamp: None (0x0)
# CHECK-NEXT: SymbolTableOffset: 0x104
# CHECK-NEXT: SymbolTableEntries: 5
# CHECK-NEXT: OptionalHeaderSize: 0x0
# CHECK-NEXT: Flags: 0x0
# CHECK-NEXT: }
# CHECK-NEXT: AuxiliaryHeader {
# CHECK-NEXT: }
# CHECK-NEXT: Sections [
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 1
# CHECK-NEXT: Name: .text
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: Size: 0x8
# CHECK-NEXT: RawDataOffset: 0xDC
# CHECK-NEXT: RelocationPointer: 0x0
# CHECK-NEXT: LineNumberPointer: 0x0
# CHECK-NEXT: NumberOfRelocations: 0
# CHECK-NEXT: NumberOfLineNumbers: 0
# CHECK-NEXT: Type: STYP_TEXT (0x20)
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 2
# CHECK-NEXT: Name: .data
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: Size: 0x8
# CHECK-NEXT: RawDataOffset: 0xE4
# CHECK-NEXT: RelocationPointer: 0xF0
# CHECK-NEXT: LineNumberPointer: 0x0
# CHECK-NEXT: NumberOfRelocations: 1
# CHECK-NEXT: NumberOfLineNumbers: 0
# CHECK-NEXT: Type: STYP_DATA (0x40)
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Name: .data
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: Size: 0x0
# CHECK-NEXT: RawDataOffset: 0x0
# CHECK-NEXT: RelocationPointer: 0xFA
# CHECK-NEXT: LineNumberPointer: 0x0
# CHECK-NEXT: NumberOfRelocations: 1
# CHECK-NEXT: NumberOfLineNumbers: 0
# CHECK-NEXT: Type: 0x0
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 4
# CHECK-NEXT: Name: .debug
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: Size: 0x60
# CHECK-NEXT: RawDataOffset: 0xEC
# CHECK-NEXT: RelocationPointer: 0x0
# CHECK-NEXT: LineNumberPointer: 0x0
# CHECK-NEXT: NumberOfRelocations: 0
# CHECK-NEXT: NumberOfLineNumbers: 0
# CHECK-NEXT: Type: 0x2040
# CHECK-NEXT: }
# CHECK-NEXT: Section {
# CHECK-NEXT: Index: 5
# CHECK-NEXT: Name:
# CHECK-NEXT: PhysicalAddress: 0x0
# CHECK-NEXT: VirtualAddress: 0x0
# CHECK-NEXT: Size: 0x0
# CHECK-NEXT: RawDataOffset: 0x0
# CHECK-NEXT: RelocationPointer: 0x0
# CHECK-NEXT: LineNumberPointer: 0x0
# CHECK-NEXT: NumberOfRelocations: 0
# CHECK-NEXT: NumberOfLineNumbers: 0
# CHECK-NEXT: Type: 0xDF90
# CHECK-NEXT: }
# CHECK-NEXT: ]
# CHECK-NEXT: Symbols [
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Index: 0
# CHECK-NEXT: Name: .file
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Section: N_DEBUG
# CHECK-NEXT: Type: 0x0
# CHECK-NEXT: StorageClass: C_NULL (0x0)
# CHECK-NEXT: NumberOfAuxEntries: 0
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Index: 1
# CHECK-NEXT: Name: .undef
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Section: N_UNDEF
# CHECK-NEXT: Type: 0x0
# CHECK-NEXT: StorageClass: C_NULL (0x0)
# CHECK-NEXT: NumberOfAuxEntries: 0
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Index: 2
# CHECK-NEXT: Name: .abs
# CHECK-NEXT: Value: 0x0
# CHECK-NEXT: Section: N_ABS
# CHECK-NEXT: Type: 0x0
# CHECK-NEXT: StorageClass: C_NULL (0x0)
# CHECK-NEXT: NumberOfAuxEntries: 0
# CHECK-NEXT: }
# CHECK-NEXT: Symbol {
# CHECK-NEXT: Index: 3
# CHECK-NEXT: Name: .text
# CHECK-NEXT: Value (RelocatableAddress): 0x0
# CHECK-NEXT: Section: .text
# CHECK-NEXT: Type: 0x0
# CHECK-NEXT: StorageClass: C_HIDEXT (0x6B)
# CHECK-NEXT: NumberOfAuxEntries: 1
# CHECK-NEXT: CSECT Auxiliary Entry {
# CHECK-NEXT: Index: 4
# CHECK-NEXT: SectionLen: 0
# CHECK-NEXT: ParameterHashIndex: 0x0
# CHECK-NEXT: TypeChkSectNum: 0x0
# CHECK-NEXT: SymbolAlignmentLog2: 0
# CHECK-NEXT: SymbolType: XTY_ER (0x0)
# CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
# CHECK-NEXT: StabInfoIndex: 0x0
# CHECK-NEXT: StabSectNum: 0x0
# CHECK-NEXT: }
# CHECK-NEXT: }
# CHECK-NEXT: ]