// Returns the size of this section (even if this is a common or BSS.)
size_t getSize() const;
- static InputSectionBase<ELFT> Discarded;
-
ObjectFile<ELFT> *getFile() const { return File; }
llvm::object::ELFFile<ELFT> getObj() const { return File->getObj(); }
uintX_t getOffset(const DefinedRegular<ELFT> &Sym) const;
getRawCompressedData(ArrayRef<uint8_t> Data);
};
-template <class ELFT> InputSectionBase<ELFT> InputSectionBase<ELFT>::Discarded;
-
// SectionPiece represents a piece of splittable section contents.
// We allocate a lot of these and binary search on them. This means that they
// have to be as compact as possible, which is why we don't store the size (can
typedef typename ELFT::uint uintX_t;
public:
+ InputSection();
InputSection(uintX_t Flags, uint32_t Type, uintX_t Addralign,
ArrayRef<uint8_t> Data, StringRef Name);
InputSection(ObjectFile<ELFT> *F, const Elf_Shdr *Header, StringRef Name);
+ static InputSection<ELFT> Discarded;
+
// Write this section to a mmap'ed file, assuming Buf is pointing to
// beginning of the output section.
void writeTo(uint8_t *Buf);
llvm::TinyPtrVector<const Thunk<ELFT> *> Thunks;
};
+template <class ELFT> InputSection<ELFT> InputSection<ELFT>::Discarded;
+
// MIPS .reginfo section provides information on the registers used by the code
// in the object file. Linker should collect this information and write a single
// .reginfo section in the output file. The output section contains a union of