forked from OSchip/llvm-project
Rename processCommands -> processSectionCommands.
llvm-svn: 315415
This commit is contained in:
parent
a80633ca14
commit
5908c2f877
|
@ -114,8 +114,8 @@ void LinkerScript::setDot(Expr E, const Twine &Loc, bool InSec) {
|
||||||
CurAddressState->OutSec->Size = Dot - CurAddressState->OutSec->Addr;
|
CurAddressState->OutSec->Size = Dot - CurAddressState->OutSec->Addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// This function is called from processCommands, while we are
|
// This function is called from processSectionCommands,
|
||||||
// fixing the output section layout.
|
// while we are fixing the output section layout.
|
||||||
void LinkerScript::addSymbol(SymbolAssignment *Cmd) {
|
void LinkerScript::addSymbol(SymbolAssignment *Cmd) {
|
||||||
if (Cmd->Name == ".")
|
if (Cmd->Name == ".")
|
||||||
return;
|
return;
|
||||||
|
@ -337,7 +337,7 @@ LinkerScript::createInputSectionList(OutputSection &OutCmd) {
|
||||||
return Ret;
|
return Ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LinkerScript::processCommands(OutputSectionFactory &Factory) {
|
void LinkerScript::processSectionCommands(OutputSectionFactory &Factory) {
|
||||||
// A symbol can be assigned before any section is mentioned in the linker
|
// A symbol can be assigned before any section is mentioned in the linker
|
||||||
// script. In an DSO, the symbol values are addresses, so the only important
|
// script. In an DSO, the symbol values are addresses, so the only important
|
||||||
// section values are:
|
// section values are:
|
||||||
|
|
|
@ -186,7 +186,7 @@ struct PhdrsCommand {
|
||||||
};
|
};
|
||||||
|
|
||||||
class LinkerScript final {
|
class LinkerScript final {
|
||||||
// Temporary state used in processCommands() and assignAddresses()
|
// Temporary state used in processSectionCommands() and assignAddresses()
|
||||||
// that must be reinitialized for each call to the above functions, and must
|
// that must be reinitialized for each call to the above functions, and must
|
||||||
// not be used outside of the scope of a call to the above functions.
|
// not be used outside of the scope of a call to the above functions.
|
||||||
struct AddressState {
|
struct AddressState {
|
||||||
|
@ -247,7 +247,7 @@ public:
|
||||||
void assignAddresses();
|
void assignAddresses();
|
||||||
void allocateHeaders(std::vector<PhdrEntry *> &Phdrs);
|
void allocateHeaders(std::vector<PhdrEntry *> &Phdrs);
|
||||||
void addSymbol(SymbolAssignment *Cmd);
|
void addSymbol(SymbolAssignment *Cmd);
|
||||||
void processCommands(OutputSectionFactory &Factory);
|
void processSectionCommands(OutputSectionFactory &Factory);
|
||||||
|
|
||||||
// SECTIONS command list.
|
// SECTIONS command list.
|
||||||
std::vector<BaseCommand *> SectionCommands;
|
std::vector<BaseCommand *> SectionCommands;
|
||||||
|
|
|
@ -46,6 +46,7 @@ public:
|
||||||
static bool classof(const SectionBase *S) {
|
static bool classof(const SectionBase *S) {
|
||||||
return S->kind() == SectionBase::Output;
|
return S->kind() == SectionBase::Output;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool classof(const BaseCommand *C);
|
static bool classof(const BaseCommand *C);
|
||||||
|
|
||||||
uint64_t getLMA() const { return Addr + LMAOffset; }
|
uint64_t getLMA() const { return Addr + LMAOffset; }
|
||||||
|
|
|
@ -163,7 +163,7 @@ template <class ELFT> void Writer<ELFT>::run() {
|
||||||
// Create output sections.
|
// Create output sections.
|
||||||
if (Script->HasSectionsCommand) {
|
if (Script->HasSectionsCommand) {
|
||||||
// If linker script contains SECTIONS commands, let it create sections.
|
// If linker script contains SECTIONS commands, let it create sections.
|
||||||
Script->processCommands(Factory);
|
Script->processSectionCommands(Factory);
|
||||||
|
|
||||||
// Linker scripts may have left some input sections unassigned.
|
// Linker scripts may have left some input sections unassigned.
|
||||||
// Assign such sections using the default rule.
|
// Assign such sections using the default rule.
|
||||||
|
@ -173,7 +173,7 @@ template <class ELFT> void Writer<ELFT>::run() {
|
||||||
// output sections by default rules. We still need to give the
|
// output sections by default rules. We still need to give the
|
||||||
// linker script a chance to run, because it might contain
|
// linker script a chance to run, because it might contain
|
||||||
// non-SECTIONS commands such as ASSERT.
|
// non-SECTIONS commands such as ASSERT.
|
||||||
Script->processCommands(Factory);
|
Script->processSectionCommands(Factory);
|
||||||
createSections();
|
createSections();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue