aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MC
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-03-22 23:16:43 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-03-22 23:16:43 +0000
commit35b0657dea3f5dfee3b753a58c585edd22e3b45c (patch)
tree605d95ecc572e5c5f92155b82afb404dbc041447 /lib/MC
parentea16ea59011ce6d5d9baaab16c33b1457ceab0da (diff)
downloadexternal_llvm-35b0657dea3f5dfee3b753a58c585edd22e3b45c.zip
external_llvm-35b0657dea3f5dfee3b753a58c585edd22e3b45c.tar.gz
external_llvm-35b0657dea3f5dfee3b753a58c585edd22e3b45c.tar.bz2
Add a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99228 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r--lib/MC/MachObjectWriter.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/MC/MachObjectWriter.cpp b/lib/MC/MachObjectWriter.cpp
index 633197a..e6232ac 100644
--- a/lib/MC/MachObjectWriter.cpp
+++ b/lib/MC/MachObjectWriter.cpp
@@ -437,6 +437,20 @@ public:
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,