diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-03-22 23:16:43 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-03-22 23:16:43 +0000 |
commit | a75f01a905fde8bb8dce069fc5ce4c5c1a7a430e (patch) | |
tree | eb750ac425b6e4cf566853c9b7927a53afdc7fb1 /llvm/lib/MC/MachObjectWriter.cpp | |
parent | b1c4f62cac7cd9832631c74c45a906935cdd6eef (diff) | |
download | bcm5719-llvm-a75f01a905fde8bb8dce069fc5ce4c5c1a7a430e.tar.gz bcm5719-llvm-a75f01a905fde8bb8dce069fc5ce4c5c1a7a430e.zip |
Add a FIXME.
llvm-svn: 99228
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/MachObjectWriter.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp index 633197a67fd..e6232acbf0d 100644 --- a/llvm/lib/MC/MachObjectWriter.cpp +++ b/llvm/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, |