136 lines · yaml
1## Check we are able to dump the SHT_NULL section at2## index 0 when it has custom section fields.3 4# RUN: yaml2obj --docnum=1 %s -o %t15# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=FIRST-SEC6 7# FIRST-SEC: --- !ELF8# FIRST-SEC-NEXT: FileHeader:9# FIRST-SEC-NEXT: Class: ELFCLASS6410# FIRST-SEC-NEXT: Data: ELFDATA2LSB11# FIRST-SEC-NEXT: Type: ET_REL12# FIRST-SEC-NEXT: Sections:13# FIRST-SEC-NEXT: - Type: SHT_NULL14# FIRST-SEC-NEXT: Flags: [ SHF_ALLOC ]15# FIRST-SEC-NEXT: Address: 0x616# FIRST-SEC-NEXT: Link: .foo17# FIRST-SEC-NEXT: AddressAlign: 0x318# FIRST-SEC-NEXT: EntSize: 0x519# FIRST-SEC-NEXT: Size: 0x420# FIRST-SEC-NEXT: Info: 0x221# FIRST-SEC-NEXT: - Name: .foo22# FIRST-SEC-NEXT: Type: SHT_PROGBITS23# FIRST-SEC-NEXT: ...24 25--- !ELF26FileHeader:27 Class: ELFCLASS6428 Data: ELFDATA2LSB29 Type: ET_REL30Sections:31 - Type: SHT_NULL32 Name: ''33 Flags: [ SHF_ALLOC ]34 Link: 135 Info: 236 AddressAlign: 0x337 Size: 0x438 EntSize: 0x539 Address: 0x640 - Type: SHT_PROGBITS41 Name: .foo42 43## Check we are able to dump the SHT_NULL section with a non-zero index.44 45# RUN: yaml2obj --docnum=2 %s -o %t246# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=SECOND-SEC47 48# SECOND-SEC: --- !ELF49# SECOND-SEC-NEXT: FileHeader:50# SECOND-SEC-NEXT: Class: ELFCLASS6451# SECOND-SEC-NEXT: Data: ELFDATA2LSB52# SECOND-SEC-NEXT: Type: ET_REL53# SECOND-SEC-NEXT: Sections:54# SECOND-SEC-NEXT: - Name: .foo55# SECOND-SEC-NEXT: Type: SHT_PROGBITS56# SECOND-SEC-NEXT: - Type: SHT_NULL57# SECOND-SEC-NEXT: Flags: [ SHF_ALLOC ]58# SECOND-SEC-NEXT: Address: 0x659# SECOND-SEC-NEXT: Link: .foo60# SECOND-SEC-NEXT: AddressAlign: 0x361# SECOND-SEC-NEXT: EntSize: 0x562# SECOND-SEC-NEXT: Content: '00000000'63# SECOND-SEC-NEXT: Info: 0x264# SECOND-SEC-NEXT: ...65 66--- !ELF67FileHeader:68 Class: ELFCLASS6469 Data: ELFDATA2LSB70 Type: ET_REL71Sections:72 - Type: SHT_PROGBITS73 Name: .foo74 - Type: SHT_NULL75 Name: ''76 Flags: [ SHF_ALLOC ]77 Link: 178 Info: 279 AddressAlign: 0x380 Size: 0x481 EntSize: 0x582 Address: 0x683 84## Check we do not dump the SHT_NULL section with index 085## when it does not have any custom fields.86 87# RUN: yaml2obj --docnum=3 %s -o %t388# RUN: obj2yaml %t3 | FileCheck %s --check-prefix=NULL-SEC89 90# NULL-SEC: --- !ELF91# NULL-SEC-NEXT: FileHeader:92# NULL-SEC-NEXT: Class: ELFCLASS6493# NULL-SEC-NEXT: Data: ELFDATA2LSB94# NULL-SEC-NEXT: Type: ET_REL95# NULL-SEC-NEXT: Sections:96# NULL-SEC-NEXT: - Name: .foo97# NULL-SEC-NEXT: Type: SHT_PROGBITS98# NULL-SEC-NEXT: ...99 100--- !ELF101FileHeader:102 Class: ELFCLASS64103 Data: ELFDATA2LSB104 Type: ET_REL105Sections:106 - Type: SHT_NULL107 - Type: SHT_PROGBITS108 Name: .foo109 110## Check we dump SHT_NULL sections which are not at the beginning111## of the section list even if they don't have any non-null fields.112 113# RUN: yaml2obj --docnum=4 %s -o %t4114# RUN: obj2yaml %t4 | FileCheck %s --check-prefix=NULL-SEC-MIDDLE115 116# NULL-SEC-MIDDLE: --- !ELF117# NULL-SEC-MIDDLE-NEXT: FileHeader:118# NULL-SEC-MIDDLE-NEXT: Class: ELFCLASS64119# NULL-SEC-MIDDLE-NEXT: Data: ELFDATA2LSB120# NULL-SEC-MIDDLE-NEXT: Type: ET_REL121# NULL-SEC-MIDDLE-NEXT: Sections:122# NULL-SEC-MIDDLE-NEXT: - Name: .foo123# NULL-SEC-MIDDLE-NEXT: Type: SHT_PROGBITS124# NULL-SEC-MIDDLE-NEXT: - Type: SHT_NULL125# NULL-SEC-MIDDLE-NEXT: ...126 127--- !ELF128FileHeader:129 Class: ELFCLASS64130 Data: ELFDATA2LSB131 Type: ET_REL132Sections:133 - Type: SHT_PROGBITS134 Name: .foo135 - Type: SHT_NULL136