More info: by the time it gets to the end of BackupStoreFileEncodeStream::Setup , where it updates the stats, the filesize has already overflowed. Now to trace my way back through the calling stack and see *where* it happens. BTW, in lib/win32/emu.cpp, _off_t != off_t. For BSD systems, yes, but for MinGW, off_t is uint64_t, _off_t is uint (if I'm reading system include files correctly). paul