Changeset View
Changeset View
Standalone View
Standalone View
lld/ELF/InputSection.h
Show First 20 Lines • Show All 381 Lines • ▼ Show 20 Lines | private: | ||||
template <class ELFT> void copyShtGroup(uint8_t *buf); | template <class ELFT> void copyShtGroup(uint8_t *buf); | ||||
}; | }; | ||||
static_assert(sizeof(InputSection) <= 160, "InputSection is too big"); | static_assert(sizeof(InputSection) <= 160, "InputSection is too big"); | ||||
inline bool isDebugSection(const InputSectionBase &sec) { | inline bool isDebugSection(const InputSectionBase &sec) { | ||||
return (sec.flags & llvm::ELF::SHF_ALLOC) == 0 && | return (sec.flags & llvm::ELF::SHF_ALLOC) == 0 && | ||||
(sec.name.startswith(".debug") || sec.name.startswith(".zdebug")); | sec.name.startswith(".debug"); | ||||
} | } | ||||
// The list of all input sections. | // The list of all input sections. | ||||
extern SmallVector<InputSectionBase *, 0> inputSections; | extern SmallVector<InputSectionBase *, 0> inputSections; | ||||
// The set of TOC entries (.toc + addend) for which we should not apply | // The set of TOC entries (.toc + addend) for which we should not apply | ||||
// toc-indirect to toc-relative relaxation. const Symbol * refers to the | // toc-indirect to toc-relative relaxation. const Symbol * refers to the | ||||
// STT_SECTION symbol associated to the .toc input section. | // STT_SECTION symbol associated to the .toc input section. | ||||
extern llvm::DenseSet<std::pair<const Symbol *, uint64_t>> ppc64noTocRelax; | extern llvm::DenseSet<std::pair<const Symbol *, uint64_t>> ppc64noTocRelax; | ||||
} // namespace elf | } // namespace elf | ||||
std::string toString(const elf::InputSectionBase *); | std::string toString(const elf::InputSectionBase *); | ||||
} // namespace lld | } // namespace lld | ||||
#endif | #endif |