[PATCH] D83482: [yaml2obj] - Add a syntax to override e_phoff, e_phentsize and e_phnum fields.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 13 06:54:53 PDT 2020
grimar added a comment.
================
Comment at: llvm/lib/ObjectYAML/ELFYAML.cpp:873-875
+ IO.mapOptional("PhOff", FileHdr.PhOff);
+ IO.mapOptional("PhEntSize", FileHdr.PhEntSize);
+ IO.mapOptional("PhNum", FileHdr.PhNum);
----------------
grimar wrote:
> jhenderson wrote:
> > The section header table related fields use "SH" not "Sh". It probably makes sense for us to standardise on one form or the other. In other words, I think we should probably use "PH*" here.
> Fields in `Sections` class also use `Sh*`:
>
> ```
> // This can be used to override the offset stored in the sh_name field.
> // It does not affect the name stored in the string table.
> Optional<llvm::yaml::Hex64> ShName;
>
> // This can be used to override the sh_offset field. It does not place the
> // section data at the offset specified.
> Optional<llvm::yaml::Hex64> ShOffset;
>
> // This can be used to override the sh_size field. It does not affect the
> // content written.
> Optional<llvm::yaml::Hex64> ShSize;
>
> // This can be used to override the sh_flags field.
> Optional<llvm::yaml::Hex64> ShFlags;
> ```
>
> So we have 2 options it seems:
> 1) Use "SH*" + "PH*" everywhere (i.e make the renaming you suggest + rename fields in `Sections`).
> 2) Rename "PH*" -> "Ph*" in a follow-up here (I assumed this action when wrote this patch).
>
> What should we do?
>>! In D83482#2147128, @jhenderson wrote:
> Relatedly, how about we actually name these fields more precisely like their spec names, e.g. EShoff, EPhoff, EShentsize (or something equivalent).
But we do not add `E` prefix to other fields. E.g: we call `e_type` as `Type`.
I renamed them to `PH*` (e.g. `PhEntSize` -> `PHEntSize`), because `phentsize` is Program **H**eader Entry Size, so it makes sense I think.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D83482/new/
https://reviews.llvm.org/D83482
More information about the llvm-commits
mailing list