From: Rui Ueyama Date: Tue, 9 Oct 2018 20:29:24 +0000 (+0000) Subject: Calculate an offset only once. NFC. X-Git-Tag: llvmorg-8.0.0-rc1~6949 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e3ccd2866047e8f034c67e75fda72537eea0ce7c;p=platform%2Fupstream%2Fllvm.git Calculate an offset only once. NFC. llvm-svn: 344076 --- diff --git a/lld/ELF/Arch/Hexagon.cpp b/lld/ELF/Arch/Hexagon.cpp index b585007..19bfa3e 100644 --- a/lld/ELF/Arch/Hexagon.cpp +++ b/lld/ELF/Arch/Hexagon.cpp @@ -254,11 +254,12 @@ void Hexagon::writePltHeader(uint8_t *Buf) const { }; memcpy(Buf, PltData, sizeof(PltData)); - // offset from PLT0 to the GOT. - relocateOne(Buf, R_HEX_B32_PCREL_X, In.GotPlt->getVA() - In.Plt->getVA()); - relocateOne(Buf + 4, R_HEX_6_PCREL_X, - In.GotPlt->getVA() - In.Plt->getVA()); + // Offset from PLT0 to the GOT. + uint64_t Off = In.GotPlt->getVA() - In.Plt->getVA(); + relocateOne(Buf, R_HEX_B32_PCREL_X, Off); + relocateOne(Buf + 4, R_HEX_6_PCREL_X, Off); } + void Hexagon::writePlt(uint8_t *Buf, uint64_t GotPltEntryAddr, uint64_t PltEntryAddr, int32_t Index, unsigned RelOff) const {