[dsymutil] Fix __LINKEDIT vmsize in dsymutil upgrade path

Summary:
dsymutil upgrade path can change the size of segment and it needs to update
the vmsize of the segment to reflect the size change.

rdar://problem/30290714

Reviewers: friss

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D29433

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293842 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Steven Wu 2017-02-02 00:00:13 +00:00
parent 2e96f1dea1
commit 9a41e59c1f

View File

@ -236,6 +236,8 @@ static void transferSegmentAndSections(
if (StringRef("__LINKEDIT") == Segment.segname) {
Segment.fileoff = LinkeditOffset;
Segment.filesize = LinkeditSize;
// Resize vmsize by rounding to the page size.
Segment.vmsize = alignTo(LinkeditSize, 0x1000);
}
// Check if the end address of the last segment and our current