llvm-for-llvmta/test/tools/obj2yaml/ELF/symbol.yaml

69 lines
1.7 KiB
YAML

## This is a test case to check how obj2yaml dumps symbols.
## Check that we only dump Size and Value keys when
## their values are not 0.
# RUN: yaml2obj %s -o %t1
# RUN: obj2yaml %t1 | FileCheck %s --check-prefix=FIELDS-DEF
# FIELDS-DEF: Symbols:
# FIELDS-DEF-NEXT: - Name: foo
# FIELDS-DEF-NEXT: - Name: bar
# FIELDS-DEF-NEXT: Value: 0x1
# FIELDS-DEF-NEXT: Size: 0x1
# FIELDS-DEF-NEXT: ...
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Symbols:
- Name: foo
Size: 0x0
Value: 0x0
- Name: bar
Size: 0x1
Value: 0x1
## Check how we dump unnamed section symbols.
## Check we are able to handle the section symbol for the null section.
## Document we name them with a section name they describe.
# RUN: yaml2obj --docnum=2 %s -o %t2
# RUN: obj2yaml %t2 | FileCheck %s --check-prefix=SECTION-SYM
# SECTION-SYM: --- !ELF
# SECTION-SYM-NEXT: FileHeader:
# SECTION-SYM-NEXT: Class: ELFCLASS64
# SECTION-SYM-NEXT: Data: ELFDATA2LSB
# SECTION-SYM-NEXT: Type: ET_REL
# SECTION-SYM-NEXT: Sections:
# SECTION-SYM-NEXT: - Name: .section
# SECTION-SYM-NEXT: Type: SHT_PROGBITS
# SECTION-SYM-NEXT: Symbols:
# SECTION-SYM-NEXT: - Type: STT_SECTION
# SECTION-SYM-NEXT: - Name: .section
# SECTION-SYM-NEXT: Type: STT_SECTION
# SECTION-SYM-NEXT: Section: .section
# SECTION-SYM-NEXT: - Name: .section
# SECTION-SYM-NEXT: Type: STT_SECTION
# SECTION-SYM-NEXT: Section: .section
# SECTION-SYM-NEXT: ...
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_REL
Sections:
- Name: .section
Type: SHT_PROGBITS
Symbols:
- Type: STT_SECTION
Index: 0
- Type: STT_SECTION
Index: 1
- Type: STT_SECTION
Index: 1