https://sourceware.org/bugzilla/show_bug.cgi?id=27972
Bug ID: 27972 Summary: gold leaves a broken output file behind when it's interrupted; should clean up Product: binutils Version: 2.37 (HEAD) Status: UNCONFIRMED Severity: normal Priority: P2 Component: gold Assignee: ccoutant at gmail dot com Reporter: johannes.abt at advantest dot com CC: ian at airs dot com Target Milestone: --- In output.cc, gold opens the file for writing, it fallocates the necessary space and then it starts writing. Without using a temporary file. If you interrupt gold with Ctrl-C, it does not clean up. Some build system do not clean up output files after an interrupt. During the next run, they just see updated timestamp and go on with the build using the broken output file. That's why many build tools either * use temporary files and use the atomic `rename()` call or * (try to) clean up in an atexit handler (see `ld_cleanup()` in file `ldmain.c` of GNU ld) I keep getting files with the proper output size, containing anything but nul bytes. That's quite annoying. -- You are receiving this mail because: You are on the CC list for the bug.