llvm-project/llvm/lib/Object
Reid Kleckner cc418a3af4 [Support] Move llvm::MemoryBuffer to sys::fs::file_t
Summary:
On Windows, Posix integer file descriptors are a compatibility layer
over native file handles provided by the C runtime. There is a hard
limit on the maximum number of file descriptors that a process can open,
and the limit is 8192. LLD typically doesn't run into this limit because
it opens input files, maps them into memory, and then immediately closes
the file descriptor. This prevents it from running out of FDs.

For various reasons, I'd like to open handles to every input file and
keep them open during linking. That requires migrating MemoryBuffer over
to taking open native file handles instead of integer FDs.

Reviewers: aganea, Bigcheese

Reviewed By: aganea

Subscribers: smeenai, silvas, mehdi_amini, hiraditya, steven_wu, dexonsmith, dang, llvm-commits, zturner

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63453

llvm-svn: 365588
2019-07-10 00:34:13 +00:00
..
Archive.cpp [libObject][NFC] Include filename in error message 2019-02-06 20:51:04 +00:00
ArchiveWriter.cpp [Support] Move llvm::MemoryBuffer to sys::fs::file_t 2019-07-10 00:34:13 +00:00
Binary.cpp [Object][XCOFF] Add support for 64-bit file header and section header dumping. 2019-07-09 18:09:11 +00:00
CMakeLists.txt Share /machine: handling code with llvm-cvtres too 2019-06-12 11:32:43 +00:00
COFFImportFile.cpp [llvm-dlltool] Respect NONAME keyword 2019-05-22 09:49:54 +00:00
COFFModuleDefinition.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
COFFObjectFile.cpp [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
Decompressor.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ELF.cpp [Object/ELF.h] - Improve error reporting. 2019-07-05 11:28:49 +00:00
ELFObjectFile.cpp [ARM] add target arch definitions for 8.1-M and MVE 2019-05-30 12:57:04 +00:00
Error.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IRObjectFile.cpp Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
IRSymtab.cpp [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MachOObjectFile.cpp [MachO] Add valid architecture function 2019-07-04 00:17:02 +00:00
MachOUniversal.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Minidump.cpp Minidump: Add support for the MemoryList stream 2019-05-16 15:17:30 +00:00
ModuleSymbolTable.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Object.cpp [LLVM-C] Add Accessor for Mach-O Universal Binary Slices 2019-05-25 16:47:27 +00:00
ObjectFile.cpp [Object][XCOFF] Add support for 64-bit file header and section header dumping. 2019-07-09 18:09:11 +00:00
RecordStreamer.cpp [AsmPrinter] Remove hidden flag -print-schedule. 2019-02-04 12:51:26 +00:00
RecordStreamer.h [AsmPrinter] Remove hidden flag -print-schedule. 2019-02-04 12:51:26 +00:00
RelocationResolver.cpp [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries 2019-03-22 02:43:11 +00:00
SymbolSize.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolicFile.cpp [Object][XCOFF] Add support for 64-bit file header and section header dumping. 2019-07-09 18:09:11 +00:00
WasmObjectFile.cpp [Object] Change ObjectFile::getSectionContents to return Expected<ArrayRef<uint8_t>> 2019-05-14 04:22:51 +00:00
WindowsMachineFlag.cpp Share /machine: handling code with llvm-cvtres too 2019-06-12 11:32:43 +00:00
WindowsResource.cpp lld-link: Reject more than one resource .obj file 2019-06-11 15:22:28 +00:00
XCOFFObjectFile.cpp Try to appease the Windows build bots. 2019-07-09 18:44:28 +00:00