1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/test/tools/obj2yaml/elf-reladyn-section-shinfo.yaml
George Rimar c464866e57 [yaml2elf/obj2yaml] - Allow normal parsing/dumping of the .rela.dyn section
.rela.dyn is a section that has sh_info normally
set to zero. And Info is an optional field in the description
of the relocation section in YAML.

But currently, yaml2obj would fail to produce the object when
Info is not explicitly listed.

The patch fixes the issue.

Differential revision: https://reviews.llvm.org/D60820

llvm-svn: 358656
2019-04-18 11:02:07 +00:00

45 lines
1.1 KiB
YAML

# RUN: yaml2obj %s -o %t
# RUN: llvm-readobj --sections %t | FileCheck %s
# RUN: obj2yaml %t | FileCheck %s --check-prefix=YAML
## .rela.dyn is a dynamic relocation section that normally has
## no value in sh_info field. Check we are able to use
## yaml2obj/obj2yaml without needing to explicitly set it.
# CHECK: Name: .rela.dyn
# CHECK-NEXT: Type: SHT_RELA
# CHECK-NEXT: Flags [
# CHECK-NEXT: SHF_ALLOC
# CHECK-NEXT: ]
# CHECK-NEXT: Address:
# CHECK-NEXT: Offset:
# CHECK-NEXT: Size:
# CHECK-NEXT: Link:
# CHECK-NEXT: Info: 0
# CHECK-NEXT: AddressAlignment:
# CHECK-NEXT: EntrySize:
# YAML: - Name: .rela.dyn
# YAML-NEXT: Type: SHT_RELA
# YAML-NEXT: Flags: [ SHF_ALLOC ]
# YAML-NEXT: Link: .dynsym
# YAML-NEXT: EntSize: 0x0000000000000018
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_DYN
Machine: EM_X86_64
Entry: 0x0000000000001000
Sections:
- Name: .rela.dyn
Type: SHT_RELA
Flags: [ SHF_ALLOC ]
Link: .dynsym
EntSize: 0x0000000000000018
# Add at least one symbol to trigger the .dynsym emission.
DynamicSymbols:
- Name: bar
Binding: STB_GLOBAL