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.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/gold/gold-plugin.cpp b/tools/gold/gold-plugin.cpp
index 77717098d6..bd11d1b555 100644
--- a/tools/gold/gold-plugin.cpp
+++ b/tools/gold/gold-plugin.cpp
@@ -417,8 +417,10 @@ static ld_plugin_status all_symbols_read_hook(void) {
bool err = lto_codegen_write_merged_modules(code_gen, path.c_str());
if (err)
(*message)(LDPL_FATAL, "Failed to write the output file.");
- if (options::generate_bc_file == options::BC_ONLY)
+ if (options::generate_bc_file == options::BC_ONLY) {
+ lto_codegen_dispose(code_gen);
exit(0);
+ }
}
const char *objPath;
if (lto_codegen_compile_to_file(code_gen, &objPath)) {