## Test that we can explicitly specify all the fields. # RUN: yaml2obj %s -o %t # RUN: llvm-readobj --headers --symbols %t | FileCheck %s --- !XCOFF FileHeader: MagicNumber: 0x1DF NumberOfSections: 2 CreationTime: 0 OffsetToSymbolTable: 0x7A EntriesInSymbolTable: 4 AuxiliaryHeaderSize: 0 Flags: 0x0 Sections: - Name: .text Address: 0x0 Size: 0x8 FileOffsetToData: 0x64 FileOffsetToRelocations: 0x0 FileOffsetToLineNumbers: 0x0 NumberOfRelocations: 0x0 NumberOfLineNumbers: 0x0 Flags: [ STYP_TEXT ] SectionData: "3860000048" - Name: .data Address: 0x8 Size: 0x4 FileOffsetToData: 0x6C FileOffsetToRelocations: 0x70 FileOffsetToLineNumbers: 0x0 NumberOfRelocations: 0x1 NumberOfLineNumbers: 0x0 Flags: [ STYP_DATA ] SectionData: "00000088" Relocations: - Address: 0x80 Symbol: 0x21 Info: 0x1F Type: 0x0 Symbols: - Name: .text Value: 0x0 Section: .text Type: 0x0 StorageClass: C_STAT NumberOfAuxEntries: 1 - Name: .data Value: 0x80 Section: .data Type: 0x0 StorageClass: C_STAT NumberOfAuxEntries: 1 # CHECK: FileHeader { # CHECK-NEXT: Magic: 0x1DF # CHECK-NEXT: NumberOfSections: 2 # CHECK-NEXT: TimeStamp: None (0x0) # CHECK-NEXT: SymbolTableOffset: 0x7A # CHECK-NEXT: SymbolTableEntries: 4 # 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: 0x64 # 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: 0x4 # CHECK-NEXT: RawDataOffset: 0x6C # CHECK-NEXT: RelocationPointer: 0x70 # CHECK-NEXT: LineNumberPointer: 0x0 # CHECK-NEXT: NumberOfRelocations: 1 # CHECK-NEXT: NumberOfLineNumbers: 0 # CHECK-NEXT: Type: STYP_DATA (0x40) # CHECK-NEXT: } # CHECK-NEXT: ] # CHECK-NEXT: Symbols [ # CHECK-NEXT: Symbol { # CHECK-NEXT: Index: 0 # CHECK-NEXT: Name: .text # CHECK-NEXT: Value (RelocatableAddress): 0x0 # CHECK-NEXT: Section: .text # CHECK-NEXT: Type: 0x0 # CHECK-NEXT: StorageClass: C_STAT (0x3) # CHECK-NEXT: NumberOfAuxEntries: 1 # CHECK-NEXT: Sect Auxiliary Entry For Stat { # CHECK-NEXT: Index: 1 # CHECK-NEXT: SectionLength: 0 # CHECK-NEXT: NumberOfRelocEnt: 0 # CHECK-NEXT: NumberOfLineNum: 0 # CHECK-NEXT: } # CHECK-NEXT: } # CHECK-NEXT: Symbol { # CHECK-NEXT: Index: 2 # CHECK-NEXT: Name: .data # CHECK-NEXT: Value (RelocatableAddress): 0x80 # CHECK-NEXT: Section: .data # CHECK-NEXT: Type: 0x0 # CHECK-NEXT: StorageClass: C_STAT (0x3) # CHECK-NEXT: NumberOfAuxEntries: 1 # CHECK-NEXT: Sect Auxiliary Entry For Stat { # CHECK-NEXT: Index: 3 # CHECK-NEXT: SectionLength: 0 # CHECK-NEXT: NumberOfRelocEnt: 0 # CHECK-NEXT: NumberOfLineNum: 0 # CHECK-NEXT: } # CHECK-NEXT: } # CHECK-NEXT: ]