Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[obj2yaml] - SHT_DYNAMIC and SHT_REL* sections: stop dumping sh_entsi…
…ze field when it has the default value. Currently obj2yaml always emits the `EntSize` property when `sh_entsize != 0`. It is not correct. For example, for `SHT_DYNAMIC` section, `EntSize == 0` is abnormal, while `sizeof(ELFT::Dyn)` is the expected default. To reduce the output produces we should not dump default values. yaml2obj tests that shows `sh_entsize` values produced are: 1) For `SHT_REL*` sections: `yaml2obj\ELF\reloc-sec-entry-size.yaml` 2) For `SHT_DYNAMIC`: `yaml2obj\ELF\dynamic-section.yaml` Differential revision: https://reviews.llvm.org/D76227
- Loading branch information
Georgii Rymar
committed
Mar 19, 2020
1 parent
cf1f8f9
commit a02b386
Showing
9 changed files
with
131 additions
and
83 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
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
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
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
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,43 @@ | ||
# 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 | ||
Machine: EM_X86_64 | ||
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 |
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
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
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
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