On Fri, Feb 6, 2015 at 4:56 AM, Markus Trippelsdorf <mar...@trippelsdorf.de> wrote: > On 2015.02.05 at 12:57 -0800, H.J. Lu wrote: >> >> We should pass handle, not file, to release_input_file. >> I checked it in as an obvious fix. > > This commit causes: > > % echo "int main () {}" | gcc -fuse-ld=gold -flto -x c++ - > ld.gold: internal error in remove_writer, at token.h:132 > collect2: error: ld returned 1 exit status >
ld.bfd closes fd without release_input_file being called and ld.gold leaks file descriptors if release_input_file isn't called. We can either fix gold: https://sourceware.org/bugzilla/show_bug.cgi?id=17896 or revert the PR lto/64837 fix. -- H.J.