[lld] r193479 - [PECOFF] Add atoms to the PassManager file

Shankar Easwaran shankare at codeaurora.org
Sat Oct 26 12:38:33 PDT 2013


Author: shankare
Date: Sat Oct 26 14:38:33 2013
New Revision: 193479

URL: http://llvm.org/viewvc/llvm-project?rev=193479&view=rev
Log:
[PECOFF] Add atoms to the PassManager file

Modified:
    lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h

Modified: lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h?rev=193479&r1=193478&r2=193479&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h (original)
+++ lld/trunk/lib/ReaderWriter/PECOFF/IdataPass.h Sat Oct 26 14:38:33 2013
@@ -264,10 +264,21 @@ public:
       vector<COFFSharedLibraryAtom *> &atoms = i.second;
       createImportDirectory(context, loadName, atoms);
     }
-    new (_alloc) NullImportDirectoryAtom(context);
+
+    auto nidatom = new (_alloc) NullImportDirectoryAtom(context);
+    context.file.addAtom(*nidatom);
+
     connectAtoms(context);
     createDataDirectoryAtoms(context);
     replaceSharedLibraryAtoms(context);
+    for (auto id : context.importDirectories)
+      context.file.addAtom(*id);
+    for (auto ilt : context.importLookupTables)
+      context.file.addAtom(*ilt);
+    for (auto iat : context.importAddressTables)
+      context.file.addAtom(*iat);
+    for (auto hna : context.hintNameAtoms)
+      context.file.addAtom(*hna);
   }
 
 private:
@@ -303,6 +314,7 @@ private:
     appendAtoms(atoms, context.importAddressTables);
     appendAtoms(atoms, context.dllNameAtoms);
     appendAtoms(atoms, context.hintNameAtoms);
+
     coff::connectAtomsWithLayoutEdge(atoms);
   }
 





More information about the llvm-commits mailing list