diff options
| -rw-r--r-- | lld/ELF/Target.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lld/ELF/Target.h b/lld/ELF/Target.h index a2a0f58ebec..5b7af1c7f08 100644 --- a/lld/ELF/Target.h +++ b/lld/ELF/Target.h @@ -42,8 +42,13 @@ public: virtual void writeGotHeader(uint8_t *Buf) const; virtual void writeGotPltHeader(uint8_t *Buf) const; virtual void writeGotPlt(uint8_t *Buf, uint64_t Plt) const = 0; + + // If lazy binding is supported, the first entry of the PLT has code + // to call the dynamic linker to resolve PLT entries the first time + // they are called. This function writes that code. virtual void writePltZero(uint8_t *Buf, uint64_t GotEntryAddr, uint64_t PltEntryAddr) const = 0; + virtual void writePlt(uint8_t *Buf, uint64_t GotAddr, uint64_t GotEntryAddr, uint64_t PltEntryAddr, int32_t Index, unsigned RelOff) const = 0; |

