Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
lld/ELF/InputSection.h
Show All 19 Lines | |||||
namespace lld { | namespace lld { | ||||
namespace elf { | namespace elf { | ||||
class Symbol; | class Symbol; | ||||
struct SectionPiece; | struct SectionPiece; | ||||
class Defined; | class Defined; | ||||
struct Partition; | |||||
class SyntheticSection; | class SyntheticSection; | ||||
class MergeSyntheticSection; | class MergeSyntheticSection; | ||||
template <class ELFT> class ObjFile; | template <class ELFT> class ObjFile; | ||||
class OutputSection; | class OutputSection; | ||||
extern std::vector<Partition> Partitions; | |||||
// This is the base class of all sections that lld handles. Some are sections in | // This is the base class of all sections that lld handles. Some are sections in | ||||
// input files, some are sections in the produced output file and some exist | // input files, some are sections in the produced output file and some exist | ||||
// just as a convenience for implementing special ways of combining some | // just as a convenience for implementing special ways of combining some | ||||
// sections. | // sections. | ||||
class SectionBase { | class SectionBase { | ||||
public: | public: | ||||
enum Kind { Regular, EHFrame, Merge, Synthetic, Output }; | enum Kind { Regular, EHFrame, Merge, Synthetic, Output }; | ||||
Show All 30 Lines | public: | ||||
// Set for sections that should not be folded by ICF. | // Set for sections that should not be folded by ICF. | ||||
unsigned KeepUnique : 1; | unsigned KeepUnique : 1; | ||||
// The 1-indexed partition that this section is assigned to by the garbage | // The 1-indexed partition that this section is assigned to by the garbage | ||||
// collector, or 0 if this section is dead. Normally there is only one | // collector, or 0 if this section is dead. Normally there is only one | ||||
// partition, so this will either be 0 or 1. | // partition, so this will either be 0 or 1. | ||||
uint8_t Partition; | uint8_t Partition; | ||||
elf::Partition &getPartition() const; | |||||
// These corresponds to the fields in Elf_Shdr. | // These corresponds to the fields in Elf_Shdr. | ||||
uint32_t Alignment; | uint32_t Alignment; | ||||
uint64_t Flags; | uint64_t Flags; | ||||
uint64_t Entsize; | uint64_t Entsize; | ||||
uint32_t Type; | uint32_t Type; | ||||
uint32_t Link; | uint32_t Link; | ||||
uint32_t Info; | uint32_t Info; | ||||
▲ Show 20 Lines • Show All 287 Lines • Show Last 20 Lines |