[patch ld]: Close BFDs before linker-plugin's atexit routine is called

Alan Modra amodra@gmail.com
Sun Feb 13 23:25:00 GMT 2011


On Wed, Feb 09, 2011 at 07:51:58PM +0100, Kai Tietz wrote:
> Hello,
> 
> This is patch addresses the unlink call when lto linker-plugin is
> used.  As windows
> native doesn't support to unlink still opened files, it fails to do so
> as file-descriptors
> of bfds aren't closed before atexit routine of plugin gets called.
> 
> 2011-02-09  Kai Tietz
> 
> 	* ldmain.c (remove_output): Set output_bfd
> 	of link_info to nil and close all cached bfds.
> 	(main): Close output_bfd of link_info and set
> 	it to nil. Additionally close all cached bfds.

The fact that you need to patch three places to fix one problem
says to me that this isn't the best fix..  Does a single
bfd_cache_close_all at the start of plugin_call_cleanup fix your
problem?

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list