Hi, I tried the suggestion below. And sync() does the trick. So seems not to be a problem of gcc but rather of the kernel. I consider this only a workaround, because flushing a system-wide cache in such a standard situation seems a littel over-kill. But that belongs in a another list. Or might it be that g++ takes control of the flushing-behaviour but forgets in the end that it cannot rely on the standard flush-on-process-end? Moritz ----- Hi. Have you tried to call sync(2)/sync(8) between g++ and ar calls? To make sure that this is not a file system buffer in kernel. Marcin