diff --git a/include/eld/Fragment/RegionFragmentEx.h b/include/eld/Fragment/RegionFragmentEx.h index fc865a12b..43a0ce4d4 100644 --- a/include/eld/Fragment/RegionFragmentEx.h +++ b/include/eld/Fragment/RegionFragmentEx.h @@ -36,7 +36,7 @@ class RegionFragmentEx : public Fragment { static bool classof(const RegionFragmentEx *) { return true; } - bool replaceInstruction(uint32_t Offset, Relocation *Reloc, uint32_t Instr, + bool replaceInstruction(uint32_t Offset, Relocation *Reloc, uint64_t Instr, uint8_t Size); void deleteInstruction(uint32_t Offset, uint32_t Size); void addRequiredNops(uint32_t Offset, uint32_t NumNopsToAdd); diff --git a/lib/Fragment/RegionFragmentEx.cpp b/lib/Fragment/RegionFragmentEx.cpp index 5b0eb431a..ffe24986b 100644 --- a/lib/Fragment/RegionFragmentEx.cpp +++ b/lib/Fragment/RegionFragmentEx.cpp @@ -22,7 +22,7 @@ RegionFragmentEx::RegionFragmentEx(const char *Buf, size_t Sz, ELFSection *O, RegionFragmentEx::~RegionFragmentEx() {} bool RegionFragmentEx::replaceInstruction(uint32_t Offset, Relocation *Reloc, - uint32_t Instr, uint8_t Size) { + uint64_t Instr, uint8_t Size) { std::memcpy((void *)(Data + Offset), &Instr, Size); return true; }