From d7facaf37169a5012c12b5755973dfdeaecb7693 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 4 Aug 2011 13:05:26 +0000 Subject: [PATCH] Add an assert to check that the Addend fits the file format. llvm-svn: 136868 --- llvm/lib/MC/ELFObjectWriter.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index 78588ae9acaf..18fed21afc66 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -462,6 +462,12 @@ void ELFObjectWriter::RecordRelocation(const MCAssembler &Asm, if (!hasRelocationAddend()) Addend = 0; + + if (is64Bit()) + assert(isInt<64>(Addend)); + else + assert(isInt<32>(Addend)); + ELFRelocationEntry ERE(RelocOffset, Index, Type, RelocSymbol, Addend); Relocations[Fragment->getParent()].push_back(ERE); }