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] |
2011/2/14 Kai Tietz <ktietz70@googlemail.com>: > 2011/2/14 Alan Modra <amodra@gmail.com>: >> 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. > > Hi Alan, > >> The fact that you need to patch three places to fix one problem >> says to me that this isn't the best fix.. > Well, here I am not that sure about. I thought about fixing it just > within the atexit-handler of plugin, but well, next one trying to > opearate on files in a similar way, will have the same issues again. I > think it is simply bad style to exit a program without even try to > cleanup ?opened file descriptors and used memory. This could even help > to use tools like valgrind on ld ... > >> ?Does a single >> bfd_cache_close_all at the start of plugin_call_cleanup fix your >> problem? > Yes, it does. I reworked patch a bit. It takes care that in ldmain's local atexit-handler BFDs are closed, and that for case of plugin the bfds getting closed before it tries to unlink files. Changelog 2011-02-14 Kai Tietz * ldmain.c (ld_close_bfds): New. (remove_output): Call ld_close_bfds. * plugin.c (plugin_call_cleanup): Likewise. * ldmain.h (ld_close_bfds): Add prototype. Tested for x86_64-pc-linux-gnu, and x86_64-w64-mingw32. Ok for apply? Regards, Kai
Attachment:
ld_bfd_close.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |