summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2017-10-10 03:40:57 +0000
committerRui Ueyama <ruiu@google.com>2017-10-10 03:40:57 +0000
commitf987fe7869f105707fae0924b478b852a630081f (patch)
tree42cbca0ff51744c07c0ede256428031b1f9192d7
parent124bedbd50f027659b22c41b1ed0fd0bc8571f76 (diff)
downloadbcm5719-llvm-f987fe7869f105707fae0924b478b852a630081f.tar.gz
bcm5719-llvm-f987fe7869f105707fae0924b478b852a630081f.zip
Add more comments.
llvm-svn: 315267
-rw-r--r--lld/ELF/InputSection.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/lld/ELF/InputSection.h b/lld/ELF/InputSection.h
index 686658c629d..b3cc8624efb 100644
--- a/lld/ELF/InputSection.h
+++ b/lld/ELF/InputSection.h
@@ -176,6 +176,9 @@ public:
InputSection *getLinkOrderDep() const;
+ // Compilers emit zlib-compressed debug sections if the -gz option
+ // is given. This function checks if this section is compressed, and
+ // if so, decompress in memory.
void maybeUncompress();
// Returns a source location string. Used to construct an error message.
@@ -183,9 +186,15 @@ public:
template <class ELFT> std::string getSrcMsg(uint64_t Offset);
template <class ELFT> std::string getObjMsg(uint64_t Offset);
+ // Each section knows how to relocate itself. These functions apply
+ // relocations, assuming that Buf points to this section's copy in
+ // the mmap'ed output buffer.
template <class ELFT> void relocate(uint8_t *Buf, uint8_t *BufEnd);
void relocateAlloc(uint8_t *Buf, uint8_t *BufEnd);
+ // The native ELF reloc data type is not very convenient to handle.
+ // So we convert ELF reloc records to our own records in Relocations.cpp.
+ // This vector contains such "cooked" relocations.
std::vector<Relocation> Relocations;
template <typename T> llvm::ArrayRef<T> getDataAs() const {
OpenPOWER on IntegriCloud