llvm-project/llvm/lib/Object
Rafael Espindola 484983f453 Fix bug where temporary file would be left behind every time an archive was updated.
When updating an existing archive, llvm-ar opens the old archive into a
`MemoryBuffer`, does its thing, and writes the results to a temporary
file. That file is then renamed to the original archive filename, thus
replacing it with the updated contents. However, on Windows at least,
what would happen is that the `MemoryBuffer` for the old archive would
actually be an mmap'ed view of the file, so when it came time to do the
rename via Win32's `ReplaceFile`, it would succeed but would be unable
to fully replace the file since there would still be a handle open on
it; instead, the old version got renamed to a random temporary name and
left behind.

Patch by Cameron!

llvm-svn: 268916
2016-05-09 13:31:11 +00:00
..
Archive.cpp Expose a getFullName for thin archive members. 2016-05-02 13:45:06 +00:00
ArchiveWriter.cpp Fix bug where temporary file would be left behind every time an archive was updated. 2016-05-09 13:31:11 +00:00
Binary.cpp Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00
CMakeLists.txt [ThinLTO] Renaming of function index to module summary index (NFC) 2016-03-15 00:04:37 +00:00
COFFObjectFile.cpp Thread Expected<...> up from libObject’s getType() for symbols to allow llvm-objdump to produce a good error message. 2016-05-02 20:28:12 +00:00
ELF.cpp [lanai] Add ELF enum value and relocations. 2016-03-01 21:21:42 +00:00
ELFObjectFile.cpp [Object, ELF] Don't assert on invalid magic in createELFObjectFile. 2015-06-04 23:14:43 +00:00
Error.cpp Change GenericBinaryError to no longer include a FileName, which is then not 2016-05-06 20:16:28 +00:00
IRObjectFile.cpp Clean the API for CollectAsmUndefinedRefs, taking a Triple and a String InlineAsm instead of a Module (NFC) 2016-04-22 04:58:12 +00:00
LLVMBuild.txt
MachOObjectFile.cpp Change GenericBinaryError to no longer include a FileName, which is then not 2016-05-06 20:16:28 +00:00
MachOUniversal.cpp [Object] Make createMachOObjectFile return Expected<...> rather than 2016-03-25 23:11:52 +00:00
ModuleSummaryIndexObjectFile.cpp [ThinLTO] Remove unused/incomplete lazy summary reading support (NFC) 2016-04-22 01:52:00 +00:00
Object.cpp Thread Expected<...> up from libObject’s getType() for symbols to allow llvm-objdump to produce a good error message. 2016-05-02 20:28:12 +00:00
ObjectFile.cpp Thread Expected<...> up from libObject’s getType() for symbols to allow llvm-objdump to produce a good error message. 2016-05-02 20:28:12 +00:00
RecordStreamer.cpp Move alignment from MCSectionData to MCSection. 2015-05-21 19:20:38 +00:00
RecordStreamer.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SymbolSize.cpp [SymbolSize] Skip sorting by index, just assign by index. 2015-06-29 16:05:00 +00:00
SymbolicFile.cpp Thread Expected<...> up from createMachOObjectFile() to allow llvm-objdump to produce a real error message 2016-04-06 22:14:09 +00:00