Lines Matching defs:InputSection
1 //===- InputSection.h -------------------------------------------*- C++ -*-===//
30 class InputSection {
39 virtual ~InputSection() = default;
47 // Translates \p off -- an offset relative to this InputSection -- into an
60 // Whether the data at \p off in this InputSection is live.
63 virtual InputSection *canonical() { return this; }
64 virtual const InputSection *canonical() const { return this; }
67 InputSection(Kind kind, const Section §ion, ArrayRef<uint8_t> data,
72 InputSection(const InputSection &rhs)
92 // The symbols that belong to this InputSection, sorted by value. With
105 class ConcatInputSection final : public InputSection {
109 : InputSection(ConcatKind, section, data, align) {}
112 uint64_t getVA() const { return InputSection::getVA(0); }
124 const InputSection *canonical() const override {
128 static bool classof(const InputSection *isec) {
137 // With subsections_via_symbols, most symbols have their own InputSection,
139 // InputSection from one translation unit will make it to the output,
151 // Initialize a fake InputSection that does not belong to any InputFile.
161 inline bool shouldOmitFromOutput(InputSection *isec) {
166 inline bool isCoalescedWeak(InputSection *isec) {
198 class CStringInputSection final : public InputSection {
202 : InputSection(CStringLiteralKind, section, data, align),
236 static bool classof(const InputSection *isec) {
247 class WordLiteralInputSection final : public InputSection {
259 static bool classof(const InputSection *isec) {
298 bool isCodeSection(const InputSection *);
299 bool isCfStringSection(const InputSection *);
300 bool isClassRefsSection(const InputSection *);
301 bool isSelRefsSection(const InputSection *);
302 bool isEhFrameSection(const InputSection *);
303 bool isGccExceptTabSection(const InputSection *);
376 void addInputSection(InputSection *inputSection);
379 std::string toString(const macho::InputSection *);