[lld] r182793 - [ELF] Make addressOfAtom thread safe.

Michael J. Spencer bigcheesegs at gmail.com
Tue May 28 12:09:25 PDT 2013


Author: mspencer
Date: Tue May 28 14:09:25 2013
New Revision: 182793

URL: http://llvm.org/viewvc/llvm-project?rev=182793&view=rev
Log:
[ELF] Make addressOfAtom thread safe.

The expression _atomToAddressMap[atom] may modify _atomToAddressMap.

Modified:
    lld/trunk/lib/ReaderWriter/ELF/OutputELFWriter.h

Modified: lld/trunk/lib/ReaderWriter/ELF/OutputELFWriter.h
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/OutputELFWriter.h?rev=182793&r1=182792&r2=182793&view=diff
==============================================================================
--- lld/trunk/lib/ReaderWriter/ELF/OutputELFWriter.h (original)
+++ lld/trunk/lib/ReaderWriter/ELF/OutputELFWriter.h Tue May 28 14:09:25 2013
@@ -84,7 +84,8 @@ protected:
 
   // This is called by the write section to apply relocations
   virtual uint64_t addressOfAtom(const Atom *atom) {
-    return _atomToAddressMap[atom];
+    auto addr = _atomToAddressMap.find(atom);
+    return addr == _atomToAddressMap.end() ? 0 : addr->second;
   }
 
   // This is a hook for creating default dynamic entries





More information about the llvm-commits mailing list