This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi,
Attached patch fixes issue with gold on windows:
ld.exe: fatal error: could not unlink output file
collect2.exe: error: ld returned 1 exit status
It happens on any gold link (successful or not) with plugins when
plugins->cleanup() called on gold_exit() tries to remove temporary
files (cc2lB8c4.ltrans0.ltrans.o) but handle is still opened.
I'm fixing it via new property close_on_release which can be setup per
each descriptor and therefore control any descriptor release if
needed.
ChangeLog:
2013-01-20 Pavel Chupin <pavel.v.chupin@intel.com>
Enforce descriptor close on release when plugins used
* descriptors.cc: Enforce close for plugins.
* descriptors.h: Add close_on_release descriptor property.
Alternative simpler fix could be made to always call
release_descriptor with permanent=true. E.g. this patch fixes the
problem as well:
--- a/gold/fileread.cc
+++ b/gold/fileread.cc
@@ -280,7 +280,7 @@ File_read::release()
this->clear_views(CLEAR_VIEWS_NORMAL);
if (this->is_descriptor_opened_)
{
- release_descriptor(this->descriptor_, false);
+ release_descriptor(this->descriptor_, true);
this->is_descriptor_opened_ = false;
}
}
--
Pavel Chupin
Intel Corporation
Attachment:
gold-plugins-close-handle.patch
Description: Binary data
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |