# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj --headers --symbols --string-table %t | \
# RUN: FileCheck %s --check-prefix=CHECK64
--- !XCOFF
FileHeader:
MagicNumber: 0x01F7
Sections:
- Name: .text
Flags: [ STYP_TEXT ]
- Name: .data
Flags: [ STYP_DATA ]
SectionData: "0000000000000FC0"
- Name: .bss
Flags: [ STYP_BSS ]
Relocations:
- Type: 0x02
- Name: .debug
Address: 0x0
Size: 0x60
Flags: [ STYP_DEBUG, STYP_DATA ]
SectionData: 01110103
Symbols:
- Name: .file
Section: N_DEBUG
- Name: .undef
- Name: .abs
Section: N_ABS
- Name: .text
Value: 0x0
Section: .text
Type: 0x0
StorageClass: C_HIDEXT
# CHECK64: AddressSize: 64bit
# CHECK64-NEXT: FileHeader {
# CHECK64-NEXT: Magic: 0x1F7
# CHECK64-NEXT: NumberOfSections: 4
# CHECK64-NEXT: TimeStamp: None (0x0)
# CHECK64-NEXT: SymbolTableOffset: 0x152
# CHECK64-NEXT: SymbolTableEntries: 4
# CHECK64-NEXT: OptionalHeaderSize: 0x0
# CHECK64-NEXT: Flags: 0x0
# CHECK64-NEXT: }
# CHECK64-NEXT: AuxiliaryHeader {
# CHECK64-NEXT: }
# CHECK64-NEXT: Sections [
# CHECK64-NEXT: Section {
# CHECK64-NEXT: Index: 1
# CHECK64-NEXT: Name: .text
# CHECK64-NEXT: PhysicalAddress: 0x0
# CHECK64-NEXT: VirtualAddress: 0x0
# CHECK64-NEXT: Size: 0x0
# CHECK64-NEXT: RawDataOffset: 0x0
# CHECK64-NEXT: RelocationPointer: 0x0
# CHECK64-NEXT: LineNumberPointer: 0x0
# CHECK64-NEXT: NumberOfRelocations: 0
# CHECK64-NEXT: NumberOfLineNumbers: 0
# CHECK64-NEXT: Type: STYP_TEXT (0x20)
# CHECK64-NEXT: }
# CHECK64-NEXT: Section {
# CHECK64-NEXT: Index: 2
# CHECK64-NEXT: Name: .data
# CHECK64-NEXT: PhysicalAddress: 0x0
# CHECK64-NEXT: VirtualAddress: 0x0
# CHECK64-NEXT: Size: 0x8
# CHECK64-NEXT: RawDataOffset: 0x138
# CHECK64-NEXT: RelocationPointer: 0x0
# CHECK64-NEXT: LineNumberPointer: 0x0
# CHECK64-NEXT: NumberOfRelocations: 0
# CHECK64-NEXT: NumberOfLineNumbers: 0
# CHECK64-NEXT: Type: STYP_DATA (0x40)
# CHECK64-NEXT: }
# CHECK64-NEXT: Section {
# CHECK64-NEXT: Index: 3
# CHECK64-NEXT: Name: .bss
# CHECK64-NEXT: PhysicalAddress: 0x8
# CHECK64-NEXT: VirtualAddress: 0x8
# CHECK64-NEXT: Size: 0x0
# CHECK64-NEXT: RawDataOffset: 0x0
# CHECK64-NEXT: RelocationPointer: 0x144
# CHECK64-NEXT: LineNumberPointer: 0x0
# CHECK64-NEXT: NumberOfRelocations: 1
# CHECK64-NEXT: NumberOfLineNumbers: 0
# CHECK64-NEXT: Type: STYP_BSS (0x80)
# CHECK64-NEXT: }
# CHECK64-NEXT: Section {
# CHECK64-NEXT: Index: 4
# CHECK64-NEXT: Name: .debug
# CHECK64-NEXT: PhysicalAddress: 0x0
# CHECK64-NEXT: VirtualAddress: 0x0
# CHECK64-NEXT: Size: 0x60
# CHECK64-NEXT: RawDataOffset: 0x140
# CHECK64-NEXT: RelocationPointer: 0x0
# CHECK64-NEXT: LineNumberPointer: 0x0
# CHECK64-NEXT: NumberOfRelocations: 0
# CHECK64-NEXT: NumberOfLineNumbers: 0
# CHECK64-NEXT: Type: 0x2040
# CHECK64-NEXT: }
# CHECK64-NEXT: ]
# CHECK64-NEXT: Symbols [
# CHECK64-NEXT: Symbol {
# CHECK64-NEXT: Index: 0
# CHECK64-NEXT: Name: .file
# CHECK64-NEXT: Value: 0x0
# CHECK64-NEXT: Section: N_DEBUG
# CHECK64-NEXT: Type: 0x0
# CHECK64-NEXT: StorageClass: C_NULL (0x0)
# CHECK64-NEXT: NumberOfAuxEntries: 0
# CHECK64-NEXT: }
# CHECK64-NEXT: Symbol {
# CHECK64-NEXT: Index: 1
# CHECK64-NEXT: Name: .undef
# CHECK64-NEXT: Value: 0x0
# CHECK64-NEXT: Section: N_UNDEF
# CHECK64-NEXT: Type: 0x0
# CHECK64-NEXT: StorageClass: C_NULL (0x0)
# CHECK64-NEXT: NumberOfAuxEntries: 0
# CHECK64-NEXT: }
# CHECK64-NEXT: Symbol {
# CHECK64-NEXT: Index: 2
# CHECK64-NEXT: Name: .abs
# CHECK64-NEXT: Value: 0x0
# CHECK64-NEXT: Section: N_ABS
# CHECK64-NEXT: Type: 0x0
# CHECK64-NEXT: StorageClass: C_NULL (0x0)
# CHECK64-NEXT: NumberOfAuxEntries: 0
# CHECK64-NEXT: }
# CHECK64-NEXT: Symbol {
# CHECK64-NEXT: Index: 3
# CHECK64-NEXT: Name: .text
# CHECK64-NEXT: Value (RelocatableAddress): 0x0
# CHECK64-NEXT: Section: .text
# CHECK64-NEXT: Type: 0x0
# CHECK64-NEXT: StorageClass: C_HIDEXT (0x6B)
# CHECK64-NEXT: NumberOfAuxEntries: 0
# CHECK64-NEXT: }
# CHECK64-NEXT: ]
# CHECK64-NEXT: StringTable {
# CHECK64-NEXT: Length: 28
# CHECK64-NEXT: [ 4] .text
# CHECK64-NEXT: [ a] .abs
# CHECK64-NEXT: [ f] .undef
# CHECK64-NEXT: [ 16] .file
# CHECK64-NEXT: }