[PATCH] D78363: [yaml2obj] - Change how p_offset is calculated when creating segments. NFCI.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 17 06:27:14 PDT 2020
grimar created this revision.
grimar added reviewers: jhenderson, MaskRay.
Herald added a subscriber: hiraditya.
This depends on D78361 <https://reviews.llvm.org/D78361> and simplifies the computation of the `p_offset`.
https://reviews.llvm.org/D78363
Files:
llvm/lib/ObjectYAML/ELFEmitter.cpp
Index: llvm/lib/ObjectYAML/ELFEmitter.cpp
===================================================================
--- llvm/lib/ObjectYAML/ELFEmitter.cpp
+++ llvm/lib/ObjectYAML/ELFEmitter.cpp
@@ -759,18 +759,12 @@
reportError("sections in the program header with index " +
Twine(PhdrIdx) + " are not sorted by their file offset");
- if (YamlPhdr.Offset) {
+ if (YamlPhdr.Offset)
PHeader.p_offset = *YamlPhdr.Offset;
- } else {
- if (YamlPhdr.Sections.size())
- PHeader.p_offset = UINT32_MAX;
- else
- PHeader.p_offset = 0;
-
- // Find the minimum offset for the program header.
- for (const Fragment &F : Fragments)
- PHeader.p_offset = std::min((uint64_t)PHeader.p_offset, F.Offset);
- }
+ else if (!Fragments.empty())
+ PHeader.p_offset = Fragments.front().Offset;
+ else
+ PHeader.p_offset = 0;
// Find the maximum offset of the end of a section in order to set p_filesz
// and p_memsz. When setting p_filesz, trailing SHT_NOBITS sections are not
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78363.258306.patch
Type: text/x-patch
Size: 1062 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200417/1233f35c/attachment-0001.bin>
More information about the llvm-commits
mailing list