forked from OSchip/llvm-project
[gold-plugin] allow function/data sections to be toggleable
Summary: r336838 allowed these to be toggleable. r336858 reverted r336838. r336943 made the generation of these sections conditional on LDPO_REL. This commit brings back the toggle-ability. You can specify: -plugin-opt=-function-sections -plugin-opt=-data-sections For your linker flags to disable the changes made in r336943. Without toggling r336943 off, arm64 linux kernels linked with gold-plugin see significant boot time regressions, but with r336943 outright reverted x86_64 linux kernels linked with gold-plugin fail to boot. Reviewers: pcc, void Reviewed By: pcc Subscribers: javed.absar, kristof.beyls, llvm-commits, srhines Differential Revision: https://reviews.llvm.org/D55291 llvm-svn: 348389
This commit is contained in:
parent
f7357c335f
commit
c9e38bade5
|
@ -833,8 +833,10 @@ static std::unique_ptr<LTO> createLTO(IndexWriteCallback OnIndexWrite,
|
|||
Conf.Options.RelaxELFRelocations = false;
|
||||
|
||||
// Toggle function/data sections.
|
||||
Conf.Options.FunctionSections = SplitSections;
|
||||
Conf.Options.DataSections = SplitSections;
|
||||
if (FunctionSections.getNumOccurrences() == 0)
|
||||
Conf.Options.FunctionSections = SplitSections;
|
||||
if (DataSections.getNumOccurrences() == 0)
|
||||
Conf.Options.DataSections = SplitSections;
|
||||
|
||||
Conf.MAttrs = MAttrs;
|
||||
Conf.RelocModel = RelocationModel;
|
||||
|
|
Loading…
Reference in New Issue