forked from OSchip/llvm-project
parent
a57511c451
commit
93c64025fc
|
@ -378,7 +378,8 @@ void LinkerScript<ELFT>::processCommands(OutputSectionFactory<ELFT> &Factory) {
|
|||
|
||||
// Add sections that didn't match any sections command.
|
||||
template <class ELFT>
|
||||
void LinkerScript<ELFT>::addOrphanSections(OutputSectionFactory<ELFT> &Factory) {
|
||||
void LinkerScript<ELFT>::addOrphanSections(
|
||||
OutputSectionFactory<ELFT> &Factory) {
|
||||
for (InputSectionBase<ELFT> *S : Symtab<ELFT>::X->Sections)
|
||||
if (S->Live && !S->OutSec)
|
||||
addSection(Factory, S, getOutputSectionName(S->Name));
|
||||
|
@ -657,8 +658,7 @@ static bool shouldSkip(const BaseCommand &Cmd) {
|
|||
// Orphan sections are sections present in the input files which are not
|
||||
// explicitly placed into the output file by the linker script. This just
|
||||
// places them in the order already decided in OutputSections.
|
||||
template <class ELFT>
|
||||
void LinkerScript<ELFT>::placeOrphanSections() {
|
||||
template <class ELFT> void LinkerScript<ELFT>::placeOrphanSections() {
|
||||
// The OutputSections are already in the correct order.
|
||||
// This loops creates or moves commands as needed so that they are in the
|
||||
// correct order.
|
||||
|
@ -816,8 +816,7 @@ template <class ELFT> bool LinkerScript<ELFT>::ignoreInterpSection() {
|
|||
}) == Opt.PhdrsCommands.end();
|
||||
}
|
||||
|
||||
template <class ELFT>
|
||||
uint32_t LinkerScript<ELFT>::getFiller(StringRef Name) {
|
||||
template <class ELFT> uint32_t LinkerScript<ELFT>::getFiller(StringRef Name) {
|
||||
for (const std::unique_ptr<BaseCommand> &Base : Opt.Commands)
|
||||
if (auto *Cmd = dyn_cast<OutputSectionCommand>(Base.get()))
|
||||
if (Cmd->Name == Name)
|
||||
|
|
Loading…
Reference in New Issue