diff options
| author | George Rimar <grimar@accesssoftek.com> | 2019-08-05 13:16:06 +0000 |
|---|---|---|
| committer | George Rimar <grimar@accesssoftek.com> | 2019-08-05 13:16:06 +0000 |
| commit | 94484d2b118cd4045d18c0132770755641ff78cd (patch) | |
| tree | 14299573ea2f8a439f954b646f2be99aef37d82f /llvm/test | |
| parent | 53770e78ae482113df8951cdb874a93b03bdb241 (diff) | |
| download | bcm5719-llvm-94484d2b118cd4045d18c0132770755641ff78cd.tar.gz bcm5719-llvm-94484d2b118cd4045d18c0132770755641ff78cd.zip | |
[obj2yaml] - Teach tool to dump SHT_NULL sections.
Recently an advanced support of SHT_NULL sections
was implemented in yaml2obj.
This patch adds a corresponding support to obj2yaml.
Differential revision: https://reviews.llvm.org/D65215
llvm-svn: 367852
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/tools/obj2yaml/elf-null-section.yaml | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/llvm/test/tools/obj2yaml/elf-null-section.yaml b/llvm/test/tools/obj2yaml/elf-null-section.yaml new file mode 100644 index 00000000000..99781ec1067 --- /dev/null +++ b/llvm/test/tools/obj2yaml/elf-null-section.yaml @@ -0,0 +1,143 @@ +## Check we are able to dump the SHT_NULL section at +## index 0 when it has custom section fields. + +# RUN: yaml2obj --docnum=1 %s -o %t1 +# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=FIRST-SEC + +# FIRST-SEC: --- !ELF +# FIRST-SEC-NEXT: FileHeader: +# FIRST-SEC-NEXT: Class: ELFCLASS64 +# FIRST-SEC-NEXT: Data: ELFDATA2LSB +# FIRST-SEC-NEXT: Type: ET_REL +# FIRST-SEC-NEXT: Machine: EM_X86_64 +# FIRST-SEC-NEXT: Sections: +# FIRST-SEC-NEXT: - Type: SHT_NULL +# FIRST-SEC-NEXT: Flags: [ SHF_ALLOC ] +# FIRST-SEC-NEXT: Address: 0x0000000000000006 +# FIRST-SEC-NEXT: Link: .foo +# FIRST-SEC-NEXT: AddressAlign: 0x0000000000000003 +# FIRST-SEC-NEXT: EntSize: 0x0000000000000005 +# FIRST-SEC-NEXT: Size: 0x0000000000000004 +# FIRST-SEC-NEXT: Info: 0x0000000000000002 +# FIRST-SEC-NEXT: - Name: .foo +# FIRST-SEC-NEXT: Type: SHT_PROGBITS +# FIRST-SEC-NEXT: ... + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Type: SHT_NULL + Name: '' + Flags: [ SHF_ALLOC ] + Link: 1 + Info: 2 + AddressAlign: 0x3 + Size: 0x4 + EntSize: 0x5 + Address: 0x6 + - Type: SHT_PROGBITS + Name: .foo + +## Check we are able to dump the SHT_NULL section with a non-zero index. + +# RUN: yaml2obj --docnum=2 %s -o %t2 +# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=SECOND-SEC + +# SECOND-SEC: --- !ELF +# SECOND-SEC-NEXT: FileHeader: +# SECOND-SEC-NEXT: Class: ELFCLASS64 +# SECOND-SEC-NEXT: Data: ELFDATA2LSB +# SECOND-SEC-NEXT: Type: ET_REL +# SECOND-SEC-NEXT: Machine: EM_X86_64 +# SECOND-SEC-NEXT: Sections: +# SECOND-SEC-NEXT: - Name: .foo +# SECOND-SEC-NEXT: Type: SHT_PROGBITS +# SECOND-SEC-NEXT: - Type: SHT_NULL +# SECOND-SEC-NEXT: Flags: [ SHF_ALLOC ] +# SECOND-SEC-NEXT: Address: 0x0000000000000006 +# SECOND-SEC-NEXT: Link: .foo +# SECOND-SEC-NEXT: AddressAlign: 0x0000000000000003 +# SECOND-SEC-NEXT: EntSize: 0x0000000000000005 +# SECOND-SEC-NEXT: Content: '00000000' +# SECOND-SEC-NEXT: Info: 0x0000000000000002 +# SECOND-SEC-NEXT: ... + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Type: SHT_PROGBITS + Name: .foo + - Type: SHT_NULL + Name: '' + Flags: [ SHF_ALLOC ] + Link: 1 + Info: 2 + AddressAlign: 0x3 + Size: 0x4 + EntSize: 0x5 + Address: 0x6 + +## Check we do not dump the SHT_NULL section with index 0 +## when it does not have any custom fields. + +# RUN: yaml2obj --docnum=3 %s -o %t3 +# RUN: obj2yaml %t3 | FileCheck %s --check-prefix=NULL-SEC + +# NULL-SEC: --- !ELF +# NULL-SEC-NEXT: FileHeader: +# NULL-SEC-NEXT: Class: ELFCLASS64 +# NULL-SEC-NEXT: Data: ELFDATA2LSB +# NULL-SEC-NEXT: Type: ET_REL +# NULL-SEC-NEXT: Machine: EM_X86_64 +# NULL-SEC-NEXT: Sections: +# NULL-SEC-NEXT: - Name: .foo +# NULL-SEC-NEXT: Type: SHT_PROGBITS +# NULL-SEC-NEXT: ... + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Type: SHT_NULL + - Type: SHT_PROGBITS + Name: .foo + +## Check we dump SHT_NULL sections which are not at the beginning +## of the section list even if they don't have any non-null fields. + +# RUN: yaml2obj --docnum=4 %s -o %t4 +# RUN: obj2yaml %t4 | FileCheck %s --check-prefix=NULL-SEC-MIDDLE + +# NULL-SEC-MIDDLE: --- !ELF +# NULL-SEC-MIDDLE-NEXT: FileHeader: +# NULL-SEC-MIDDLE-NEXT: Class: ELFCLASS64 +# NULL-SEC-MIDDLE-NEXT: Data: ELFDATA2LSB +# NULL-SEC-MIDDLE-NEXT: Type: ET_REL +# NULL-SEC-MIDDLE-NEXT: Machine: EM_X86_64 +# NULL-SEC-MIDDLE-NEXT: Sections: +# NULL-SEC-MIDDLE-NEXT: - Name: .foo +# NULL-SEC-MIDDLE-NEXT: Type: SHT_PROGBITS +# NULL-SEC-MIDDLE-NEXT: - Type: SHT_NULL +# NULL-SEC-MIDDLE-NEXT: ... + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Type: SHT_PROGBITS + Name: .foo + - Type: SHT_NULL |

