forked from OSchip/llvm-project
d5e48f1347
We already set the `sh_entsize` field in a single place for all non-implicit sections. This patch reorders the logic slightly and with it we finally have the only one place where the `sh_entsize` is set. obj2yaml will not dump the `EntSize` key for `SHT_DYNSYM/SHT_SYMTAB` sections anymore, when the value of `sh_entsize` is equal to `sizeof(Elf_Sym)` Note that this also seems revealed an issue in llvm-objcopy: Previously yaml2obj set the `sh_entsize` for the `.symtab` section to 0x18, now we it sets it for `SHT_SYMTAB` sections, i.e. by type. But the `llvm-objcopy/ELF/only-keep-debug.test` has a `.symtab` section of type `SHT_STRTAB`, and now yaml2obj sets the `sh_entsize` to 0 for it. I had to update the corresponding check lines for `ES`, but the behavior of `llvm-objcopy` should be fixed instead I think. I've added a TODO and a comment. Differential revision: https://reviews.llvm.org/D95364 |
||
---|---|---|
.. | ||
ArchiveEmitter.cpp | ||
ArchiveYAML.cpp | ||
CMakeLists.txt | ||
COFFEmitter.cpp | ||
COFFYAML.cpp | ||
CodeViewYAMLDebugSections.cpp | ||
CodeViewYAMLSymbols.cpp | ||
CodeViewYAMLTypeHashing.cpp | ||
CodeViewYAMLTypes.cpp | ||
DWARFEmitter.cpp | ||
DWARFYAML.cpp | ||
ELFEmitter.cpp | ||
ELFYAML.cpp | ||
MachOEmitter.cpp | ||
MachOYAML.cpp | ||
MinidumpEmitter.cpp | ||
MinidumpYAML.cpp | ||
ObjectYAML.cpp | ||
WasmEmitter.cpp | ||
WasmYAML.cpp | ||
XCOFFYAML.cpp | ||
YAML.cpp | ||
yaml2obj.cpp |