diff options
Diffstat (limited to 'lld/ELF/Relocations.h')
-rw-r--r-- | lld/ELF/Relocations.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lld/ELF/Relocations.h b/lld/ELF/Relocations.h index 7ea03c3..86ca298 100644 --- a/lld/ELF/Relocations.h +++ b/lld/ELF/Relocations.h @@ -17,7 +17,9 @@ namespace lld::elf { struct Ctx; +struct ELFSyncStream; class Defined; +class Undefined; class Symbol; class InputSection; class InputSectionBase; @@ -153,12 +155,17 @@ struct JumpInstrMod { unsigned size; }; +void printLocation(ELFSyncStream &s, InputSectionBase &sec, const Symbol &sym, + uint64_t off); + // This function writes undefined symbol diagnostics to an internal buffer. // Call reportUndefinedSymbols() after calling scanRelocations() to emit // the diagnostics. template <class ELFT> void scanRelocations(Ctx &ctx); template <class ELFT> void checkNoCrossRefs(Ctx &ctx); void reportUndefinedSymbols(Ctx &); +bool maybeReportUndefined(Ctx &, Undefined &sym, InputSectionBase &sec, + uint64_t offset); void postScanRelocations(Ctx &ctx); void addGotEntry(Ctx &ctx, Symbol &sym); |