From e3ccd2866047e8f034c67e75fda72537eea0ce7c Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 9 Oct 2018 20:29:24 +0000 Subject: [PATCH] Calculate an offset only once. NFC. llvm-svn: 344076 --- lld/ELF/Arch/Hexagon.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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 { -- 2.7.4