summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2019-07-17 09:23:04 +0000
committerFangrui Song <maskray@google.com>2019-07-17 09:23:04 +0000
commit2be0ebb0d80d75241ac7ef033153466317ff13a0 (patch)
treed4577ac91498d556ad214adc85f03790c9d3a4f3
parent9eb95903da4575b3b95d1a743d48e51bb5026ccd (diff)
downloadbcm5719-llvm-2be0ebb0d80d75241ac7ef033153466317ff13a0.tar.gz
bcm5719-llvm-2be0ebb0d80d75241ac7ef033153466317ff13a0.zip
[ELF] Delete redundant pageAlign at PT_GNU_RELRO boundaries after D58892
Summary: After D58892 split the RW PT_LOAD on the PT_GNU_RELRO boundary, the new layout is: PT_LOAD(PT_GNU_RELRO(.data.rel.ro .bss.rel.ro)) PT_LOAD(.data. .bss) The two pageAlign() calls at PT_GNU_RELRO boundaries are redundant due to the existence of PT_LOAD. Reviewers: grimar, peter.smith, ruiu, espindola Reviewed By: ruiu Subscribers: sfertile, atanasyan, emaste, arichardson, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64854 llvm-svn: 366307
-rw-r--r--lld/ELF/Writer.cpp19
1 files changed, 0 insertions, 19 deletions
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index 3cf7b056064..b8c8891648a 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -2223,25 +2223,6 @@ template <class ELFT> void Writer<ELFT>::fixSectionAlignments() {
for (const PhdrEntry *p : part.phdrs)
if (p->p_type == PT_LOAD && p->firstSec)
pageAlign(p->firstSec);
-
- for (const PhdrEntry *p : part.phdrs) {
- if (p->p_type != PT_GNU_RELRO)
- continue;
-
- if (p->firstSec)
- pageAlign(p->firstSec);
-
- // Find the first section after PT_GNU_RELRO. If it is in a PT_LOAD we
- // have to align it to a page.
- auto end = outputSections.end();
- auto i = llvm::find(outputSections, p->lastSec);
- if (i == end || (i + 1) == end)
- continue;
-
- OutputSection *cmd = (*(i + 1));
- if (needsPtLoad(cmd))
- pageAlign(cmd);
- }
}
}
OpenPOWER on IntegriCloud