gold-plugin: delete the output file for OT_DISABLE
authorMichael Kuperstein <michael.m.kuperstein@intel.com>
Thu, 12 Feb 2015 18:21:50 +0000 (18:21 +0000)
committerMichael Kuperstein <michael.m.kuperstein@intel.com>
Thu, 12 Feb 2015 18:21:50 +0000 (18:21 +0000)
bfd creates the output file early, so calling exit(0) is not enough, the file needs to be explicitly deleted.

Patch by: H.J. Lu <hjl.tools@gmail.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228946 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gold/gold-plugin.cpp

index dd6d47f5d708507be3cb136bd08ac5599fa608db..b1a28c522900f0b25b8e57005f4ab43b36fdf2fb 100644 (file)
@@ -869,8 +869,13 @@ static ld_plugin_status all_symbols_read_hook(void) {
   llvm_shutdown();
 
   if (options::TheOutputType == options::OT_BC_ONLY ||
-      options::TheOutputType == options::OT_DISABLE)
+      options::TheOutputType == options::OT_DISABLE) {
+    if (options::TheOutputType == options::OT_DISABLE)
+      // Remove the output file here since ld.bfd creates the output file
+      // early.
+      sys::fs::remove(output_name);
     exit(0);
+  }
 
   return Ret;
 }