------- Comment #6 from jason dot vas dot dias at gmail dot com  2010-05-01 
23:13 -------
Aha ! I think I see the problem, or at least A problem :

$ strace -f gcc ~jason/t.c -o /tmp/t 2>&1 | grep sync
$

Nothing is doing a fsync(int fd) for any object file written by gcc .

Hence writes by gcc can be entirely to the filesystem cache, and when disk
space
runs out, many files may not have been sync()-ed to disk within a large make(1) 
build.

I propose that gcc (and binutils!) should do an fsync() of each output file
written before closing and returning success.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43955

Reply via email to