summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2016-08-21 23:05:43 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2016-08-21 23:05:43 +0000
commit9f8bc029bdbcfd9ee76756d2690a59ea746ebe72 (patch)
tree5992e5b1106441c5be8f0de4ee6afcbacbf66b2f
parent89e375a95eca0942a8de957b7591ff01708828bb (diff)
downloadbcm5719-llvm-9f8bc029bdbcfd9ee76756d2690a59ea746ebe72.tar.gz
bcm5719-llvm-9f8bc029bdbcfd9ee76756d2690a59ea746ebe72.zip
COFF: hoist a local variable
Create a local variable for the rdata section. NFC. llvm-svn: 279407
-rw-r--r--lld/COFF/Writer.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/lld/COFF/Writer.cpp b/lld/COFF/Writer.cpp
index ea0dcb4d7aa..1a1018e2076 100644
--- a/lld/COFF/Writer.cpp
+++ b/lld/COFF/Writer.cpp
@@ -286,25 +286,29 @@ void Writer::createSections() {
}
void Writer::createMiscChunks() {
+ OutputSection *RData = createSection(".rdata");
+
// Create thunks for locally-dllimported symbols.
if (!Symtab->LocalImportChunks.empty()) {
- OutputSection *Sec = createSection(".rdata");
for (Chunk *C : Symtab->LocalImportChunks)
- Sec->addChunk(C);
+ RData->addChunk(C);
}
// Create SEH table. x86-only.
if (Config->Machine != I386)
return;
+
std::set<Defined *> Handlers;
+
for (lld::coff::ObjectFile *File : Symtab->ObjectFiles) {
if (!File->SEHCompat)
return;
for (SymbolBody *B : File->SEHandlers)
Handlers.insert(cast<Defined>(B->repl()));
}
+
SEHTable.reset(new SEHTableChunk(Handlers));
- createSection(".rdata")->addChunk(SEHTable.get());
+ RData->addChunk(SEHTable.get());
}
// Create .idata section for the DLL-imported symbol table.
OpenPOWER on IntegriCloud