Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[yaml2elf/obj2yaml] - Allow normal parsing/dumping of the .rela.dyn s…
…ection .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
- Loading branch information
George Rimar
committed
Apr 18, 2019
1 parent
99b7277
commit a630b34
Showing
2 changed files
with
47 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters