[llvm-commits] [llvm] r99228 - /llvm/trunk/lib/MC/MachObjectWriter.cpp

Daniel Dunbar daniel at zuster.org
Mon Mar 22 16:16:43 PDT 2010


Author: ddunbar
Date: Mon Mar 22 18:16:43 2010
New Revision: 99228

URL: http://llvm.org/viewvc/llvm-project?rev=99228&view=rev
Log:
Add a FIXME.

Modified:
    llvm/trunk/lib/MC/MachObjectWriter.cpp

Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MachObjectWriter.cpp?rev=99228&r1=99227&r2=99228&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
+++ llvm/trunk/lib/MC/MachObjectWriter.cpp Mon Mar 22 18:16:43 2010
@@ -437,6 +437,20 @@
       Write32(Address);
   }
 
+  // FIXME: We really need to improve the relocation validation. Basically, we
+  // want to implement a separate computation which evaluates the relocation
+  // entry as the linker would, and verifies that the resultant fixup value is
+  // exactly what the encoder wanted. This will catch several classes of
+  // problems:
+  //
+  //  - Relocation entry bugs, the two algorithms are unlikely to have the same
+  //    exact bug.
+  //
+  //  - Relaxation issues, where we forget to relax something.
+  //
+  //  - Input errors, where something cannot be correctly encoded. 'as' allows
+  //    these through in many cases.
+
   void RecordX86_64Relocation(const MCAssembler &Asm,
                               const MCFragment *Fragment,
                               const MCAsmFixup &Fixup, MCValue Target,





More information about the llvm-commits mailing list