summaryrefslogtreecommitdiffstats
path: root/lld/ELF/Arch/Hexagon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/ELF/Arch/Hexagon.cpp')
-rw-r--r--lld/ELF/Arch/Hexagon.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/lld/ELF/Arch/Hexagon.cpp b/lld/ELF/Arch/Hexagon.cpp
index b5850070612..19bfa3ea338 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 {
OpenPOWER on IntegriCloud