[llvm-commits] [lld] r160468 - /lld/trunk/docs/design.rst

Marshall Clow mclow at qualcomm.com
Wed Jul 18 16:20:41 PDT 2012


Author: marshall
Date: Wed Jul 18 18:20:40 2012
New Revision: 160468

URL: http://llvm.org/viewvc/llvm-project?rev=160468&view=rev
Log:
Added description of Atom types from Nick's email

Modified:
    lld/trunk/docs/design.rst

Modified: lld/trunk/docs/design.rst
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/docs/design.rst?rev=160468&r1=160467&r2=160468&view=diff
==============================================================================
--- lld/trunk/docs/design.rst (original)
+++ lld/trunk/docs/design.rst Wed Jul 18 18:20:40 2012
@@ -42,6 +42,30 @@
 references. One is the call site for the call to printf, and the other is a
 reference for the instruction that loads the address of the c-string literal.
 
+There are only four different types of atoms:
+
+	* DefinedAtom
+		95% of all atoms.  This is a chunk of code or data
+		
+	* UndefinedAtom 
+	   This is a place holder in object files for a reference to some atom
+	   outside the translation unit.During core linking it is usually replaced
+	   by (coalesced into) another Atom.
+	   
+	* SharedLibraryAtom
+		If a required symbol name turns out to be defined in a dynamic shared 
+		library (and not some object file).  A SharedLibraryAtom is the 
+		placeholder Atom used to represent that fact.
+		
+		It is similar to an UndefinedAtom, but it also tracks information 
+		about the associated shared library.
+		
+	* AbsoluteAtom
+		This is for embedded support where some stuff is implemented in ROM at
+		some fixed address.  This atom has no content.  It is just an address
+		that the Writer needs to fixup any references to point to.
+
+
 File Model
 ----------
 





More information about the llvm-commits mailing list