191 lines · yaml
1## This is a basic test to check if we can parse the XCOFF object file correctly.2# RUN: yaml2obj %s -DMAGIC=0x01DF -o %t-323# RUN: obj2yaml %t-32 | FileCheck %s --check-prefix=CHECK324# RUN: yaml2obj %s -DMAGIC=0x01F7 -o %t-645# RUN: obj2yaml %t-64 -o %t-64.yaml 2>&1 | count 06# RUN: FileCheck --input-file %t-64.yaml %s --check-prefix=CHECK647 8# CHECK32: --- !XCOFF9# CHECK32-NEXT: FileHeader:10# CHECK32-NEXT: MagicNumber: 0x1DF11# CHECK32-NEXT: NumberOfSections: 212# CHECK32-NEXT: CreationTime: 013# CHECK32-NEXT: OffsetToSymbolTable: 0x8014# CHECK32-NEXT: EntriesInSymbolTable: 415# CHECK32-NEXT: AuxiliaryHeaderSize: 016# CHECK32-NEXT: Flags: 0x017# CHECK32-NEXT: Sections:18# CHECK32-NEXT: - Name: .text19# CHECK32-NEXT: Address: 0x020# CHECK32-NEXT: Size: 0x421# CHECK32-NEXT: FileOffsetToData: 0x6422# CHECK32-NEXT: FileOffsetToRelocations: 0x6C23# CHECK32-NEXT: FileOffsetToLineNumbers: 0x024# CHECK32-NEXT: NumberOfRelocations: 0x125# CHECK32-NEXT: NumberOfLineNumbers: 0x026# CHECK32-NEXT: Flags: [ STYP_TEXT ]27# CHECK32-NEXT: SectionData: '00007400'28# CHECK32-NEXT: Relocations:29# CHECK32-NEXT: - Address: 0xE30# CHECK32-NEXT: Symbol: 0x1231# CHECK32-NEXT: Info: 0xF32# CHECK32-NEXT: Type: 0x333# CHECK32-NEXT: - Name: .data34# CHECK32-NEXT: Address: 0x035# CHECK32-NEXT: Size: 0x436# CHECK32-NEXT: FileOffsetToData: 0x6837# CHECK32-NEXT: FileOffsetToRelocations: 0x7638# CHECK32-NEXT: FileOffsetToLineNumbers: 0x039# CHECK32-NEXT: NumberOfRelocations: 0x140# CHECK32-NEXT: NumberOfLineNumbers: 0x041# CHECK32-NEXT: Flags: [ STYP_DATA ]42# CHECK32-NEXT: SectionData: '00007700'43# CHECK32-NEXT: Relocations:44# CHECK32-NEXT: - Address: 0x6045# CHECK32-NEXT: Symbol: 0x846# CHECK32-NEXT: Info: 0x1F47# CHECK32-NEXT: Type: 0x048# CHECK32-NEXT: Symbols:49# CHECK32-NEXT: - Name: TestforXcoff50# CHECK32-NEXT: Value: 0x051# CHECK32-NEXT: Section: N_UNDEF52# CHECK32-NEXT: Type: 0x053# CHECK32-NEXT: StorageClass: C_EXT54# CHECK32-NEXT: NumberOfAuxEntries: 155# CHECK32-NEXT: AuxEntries:56# CHECK32-NEXT: - Type: AUX_CSECT57# CHECK32-NEXT: ParameterHashIndex: 058# CHECK32-NEXT: TypeChkSectNum: 059# CHECK32-NEXT: SymbolType: XTY_ER60# CHECK32-NEXT: SymbolAlignment: 061# CHECK32-NEXT: StorageMappingClass: XMC_PR62# CHECK32-NEXT: SectionOrLength: 063# CHECK32-NEXT: StabInfoIndex: 064# CHECK32-NEXT: StabSectNum: 065# CHECK32-NEXT: - Name: .data66# CHECK32-NEXT: Value: 0x7067# CHECK32-NEXT: Section: .data68# CHECK32-NEXT: Type: 0x069# CHECK32-NEXT: StorageClass: C_HIDEXT70# CHECK32-NEXT: NumberOfAuxEntries: 171# CHECK32-NEXT: AuxEntries:72# CHECK32-NEXT: - Type: AUX_CSECT73# CHECK32-NEXT: ParameterHashIndex: 074# CHECK32-NEXT: TypeChkSectNum: 075# CHECK32-NEXT: SymbolType: XTY_ER76# CHECK32-NEXT: SymbolAlignment: 077# CHECK32-NEXT: StorageMappingClass: XMC_PR78# CHECK32-NEXT: SectionOrLength: 079# CHECK32-NEXT: StabInfoIndex: 080# CHECK32-NEXT: StabSectNum: 081 82# CHECK64: --- !XCOFF83# CHECK64-NEXT: FileHeader:84# CHECK64-NEXT: MagicNumber: 0x1F785# CHECK64-NEXT: NumberOfSections: 286# CHECK64-NEXT: CreationTime: 087# CHECK64-NEXT: OffsetToSymbolTable: 0xCC88# CHECK64-NEXT: EntriesInSymbolTable: 489# CHECK64-NEXT: AuxiliaryHeaderSize: 090# CHECK64-NEXT: Flags: 0x091# CHECK64-NEXT: Sections:92# CHECK64-NEXT: - Name: .text93# CHECK64-NEXT: Address: 0x094# CHECK64-NEXT: Size: 0x495# CHECK64-NEXT: FileOffsetToData: 0xA896# CHECK64-NEXT: FileOffsetToRelocations: 0xB097# CHECK64-NEXT: FileOffsetToLineNumbers: 0x098# CHECK64-NEXT: NumberOfRelocations: 0x199# CHECK64-NEXT: NumberOfLineNumbers: 0x0100# CHECK64-NEXT: Flags: [ STYP_TEXT ]101# CHECK64-NEXT: SectionData: '00007400'102# CHECK64-NEXT: Relocations:103# CHECK64-NEXT: - Address: 0xE104# CHECK64-NEXT: Symbol: 0x12105# CHECK64-NEXT: Info: 0xF106# CHECK64-NEXT: Type: 0x3107# CHECK64-NEXT: - Name: .data108# CHECK64-NEXT: Address: 0x0109# CHECK64-NEXT: Size: 0x4110# CHECK64-NEXT: FileOffsetToData: 0xAC111# CHECK64-NEXT: FileOffsetToRelocations: 0xBE112# CHECK64-NEXT: FileOffsetToLineNumbers: 0x0113# CHECK64-NEXT: NumberOfRelocations: 0x1114# CHECK64-NEXT: NumberOfLineNumbers: 0x0115# CHECK64-NEXT: Flags: [ STYP_DATA ]116# CHECK64-NEXT: SectionData: '00007700'117# CHECK64-NEXT: Relocations:118# CHECK64-NEXT: - Address: 0x60119# CHECK64-NEXT: Symbol: 0x8120# CHECK64-NEXT: Info: 0x1F121# CHECK64-NEXT: Type: 0x0122# CHECK64-NEXT: Symbols:123# CHECK64-NEXT: - Name: TestforXcoff124# CHECK64-NEXT: Value: 0x0125# CHECK64-NEXT: Section: N_UNDEF126# CHECK64-NEXT: Type: 0x0127# CHECK64-NEXT: StorageClass: C_EXT128# CHECK64-NEXT: NumberOfAuxEntries: 1129# CHECK64-NEXT: AuxEntries:130# CHECK64-NEXT: - Type: AUX_CSECT131# CHECK64-NEXT: ParameterHashIndex: 0132# CHECK64-NEXT: TypeChkSectNum: 0133# CHECK64-NEXT: SymbolType: XTY_ER134# CHECK64-NEXT: SymbolAlignment: 0135# CHECK64-NEXT: StorageMappingClass: XMC_PR136# CHECK64-NEXT: SectionOrLengthLo: 0137# CHECK64-NEXT: SectionOrLengthHi: 0138# CHECK64-NEXT: - Name: .data139# CHECK64-NEXT: Value: 0x70140# CHECK64-NEXT: Section: .data141# CHECK64-NEXT: Type: 0x0142# CHECK64-NEXT: StorageClass: C_HIDEXT143# CHECK64-NEXT: NumberOfAuxEntries: 1144# CHECK64-NEXT: AuxEntries:145# CHECK64-NEXT: - Type: AUX_CSECT146# CHECK64-NEXT: ParameterHashIndex: 0147# CHECK64-NEXT: TypeChkSectNum: 0148# CHECK64-NEXT: SymbolType: XTY_ER149# CHECK64-NEXT: SymbolAlignment: 0150# CHECK64-NEXT: StorageMappingClass: XMC_PR151# CHECK64-NEXT: SectionOrLengthLo: 0152# CHECK64-NEXT: SectionOrLengthHi: 0153 154--- !XCOFF155FileHeader:156 MagicNumber: [[MAGIC]]157Sections:158 - Name: .text159 Flags: [ STYP_TEXT ]160 SectionData: '00007400'161 Relocations:162 - Address: 0xE163 Symbol: 0x12164 Info: 0xF165 Type: 0x3166 - Name: .data167 Flags: [ STYP_DATA ]168 SectionData: '00007700'169 Relocations:170 - Address: 0x60171 Symbol: 0x8172 Info: 0x1F173 Type: 0x0174Symbols:175 - Name: TestforXcoff176 Value: 0x0177 Section: N_UNDEF178 Type: 0x0179 StorageClass: C_EXT180 NumberOfAuxEntries: 1181 AuxEntries:182 - Type: AUX_CSECT183 - Name: .data184 Value: 0x70185 Section: .data186 Type: 0x0187 StorageClass: C_HIDEXT188 NumberOfAuxEntries: 1189 AuxEntries:190 - Type: AUX_CSECT191