| ## 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: 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: 0x8 |
| # CHECK-NEXT: VirtualAddress: 0x8 |
| # 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: ] |