# 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: - Name:
--- !ELF
FileHeader:
Class: ELFCLASS64
Data: ELFDATA2LSB
Type: ET_DYN
Entry: 0x0000000000001000
Sections:
- Name: .rela.dyn
Type: SHT_RELA
Flags: [ SHF_ALLOC ]
Link: .dynsym
# Add at least one symbol to trigger the .dynsym emission.
DynamicSymbols:
- Name: bar
Binding: STB_GLOBAL