ruiu added a comment. _exit() doesn't flush the buffer indeed. So it is likely that the `LTO` object holds file handles until it is destroyed. Maybe we should call the destructor before returning. Let me try that. Do you know how I can test it? https://reviews.llvm.org/D46442