On 2015.02.06 at 05:10 -0800, H.J. Lu wrote: > 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.
Given that LTO would be completely broken with any gold version in gcc-5, a revert seems to be the only viable option. -- Markus