summaryrefslogtreecommitdiff
path: root/tools/gold/gold-plugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gold/gold-plugin.cpp')
-rw-r--r--tools/gold/gold-plugin.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp
index f4b5caeeff..e21a82373f 100644
--- a/tools/gold/gold-plugin.cpp
+++ b/tools/gold/gold-plugin.cpp
@@ -239,26 +239,26 @@ ld_plugin_status onload(ld_plugin_tv *tv) {
return LDPS_ERR;
}
- if (RegisteredAllSymbolsRead) {
- InitializeAllTargetInfos();
- InitializeAllTargets();
- InitializeAllTargetMCs();
- InitializeAllAsmParsers();
- InitializeAllAsmPrinters();
- InitializeAllDisassemblers();
- TargetOpts = InitTargetOptionsFromCodeGenFlags();
- CodeGen = new LTOCodeGenerator();
- CodeGen->setTargetOptions(TargetOpts);
- if (MAttrs.size()) {
- std::string Attrs;
- for (unsigned I = 0; I < MAttrs.size(); ++I) {
- if (I > 0)
- Attrs.append(",");
- Attrs.append(MAttrs[I]);
- }
+ if (!RegisteredAllSymbolsRead)
+ return LDPS_OK;
- CodeGen->setAttr(Attrs.c_str());
+ InitializeAllTargetInfos();
+ InitializeAllTargets();
+ InitializeAllTargetMCs();
+ InitializeAllAsmParsers();
+ InitializeAllAsmPrinters();
+ InitializeAllDisassemblers();
+ TargetOpts = InitTargetOptionsFromCodeGenFlags();
+ CodeGen = new LTOCodeGenerator();
+ CodeGen->setTargetOptions(TargetOpts);
+ if (MAttrs.size()) {
+ std::string Attrs;
+ for (unsigned I = 0; I < MAttrs.size(); ++I) {
+ if (I > 0)
+ Attrs.append(",");
+ Attrs.append(MAttrs[I]);
}
+ CodeGen->setAttr(Attrs.c_str());
}
return LDPS_OK;