MC/Mach-O: Resolve a FIXME; these relocation types are no longer semanticaly different.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 10 Mar 2010 02:10:29 +0000 (02:10 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 10 Mar 2010 02:10:29 +0000 (02:10 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98120 91177308-0d34-0410-b5e6-96231b3b80d8

lib/MC/MCAssembler.cpp

index b44cd1e6987855900532ec66ec59de69d1ae9509..00b02e0c6c436ee8eb028f2bcce57ee2eadb33d1 100644 (file)
@@ -462,9 +462,11 @@ public:
         llvm_report_error("symbol '" + B->getName() +
                           "' can not be undefined in a subtraction expression");
 
-      // FIXME: This change of type based on the external bit doesn't make much
-      // sense, it seems to be redundant with the other information in the
-      // relocation entry.
+      // Select the appropriate difference relocation type.
+      //
+      // Note that there is no longer any semantic difference between these two
+      // relocation types from the linkers point of view, this is done solely
+      // for pedantic compatibility with 'as'.
       Type = A_SD->isExternal() ? RIT_Difference : RIT_LocalDifference;
       Value2 = B_SD->getFragment()->getAddress() + B_SD->getOffset();
     }