-
Notifications
You must be signed in to change notification settings - Fork 14.3k
Support,lld: Rename misnamed F_no_mmap to F_mmap #139836
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support,lld: Rename misnamed F_no_mmap to F_mmap #139836
Conversation
Created using spr 1.3.5-bogner
@llvm/pr-subscribers-lld-elf @llvm/pr-subscribers-llvm-support Author: Fangrui Song (MaskRay) Changes
When the output is a regular file or do not exist, Full diff: https://github.com/llvm/llvm-project/pull/139836.diff 6 Files Affected:
diff --git a/lld/ELF/Arch/ARM.cpp b/lld/ELF/Arch/ARM.cpp
index e667fdc0633c5..e45dd4d354afb 100644
--- a/lld/ELF/Arch/ARM.cpp
+++ b/lld/ELF/Arch/ARM.cpp
@@ -1489,7 +1489,7 @@ template <typename ELFT> void elf::writeARMCmseImportLib(Ctx &ctx) {
const uint64_t fileSize =
sectionHeaderOff + shnum * sizeof(typename ELFT::Shdr);
const unsigned flags =
- ctx.arg.mmapOutputFile ? 0 : (unsigned)FileOutputBuffer::F_no_mmap;
+ ctx.arg.mmapOutputFile ? (unsigned)FileOutputBuffer::F_mmap : 0;
unlinkAsync(ctx.arg.cmseOutputLib);
Expected<std::unique_ptr<FileOutputBuffer>> bufferOrErr =
FileOutputBuffer::create(ctx.arg.cmseOutputLib, fileSize, flags);
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp
index e8acdbefa32bb..76a37b706c5fa 100644
--- a/lld/ELF/Driver.cpp
+++ b/lld/ELF/Driver.cpp
@@ -1421,7 +1421,7 @@ static void readConfigs(Ctx &ctx, opt::InputArgList &args) {
ctx.arg.mergeArmExidx =
args.hasFlag(OPT_merge_exidx_entries, OPT_no_merge_exidx_entries, true);
ctx.arg.mmapOutputFile =
- args.hasFlag(OPT_mmap_output_file, OPT_no_mmap_output_file, true);
+ args.hasFlag(OPT_mmap_output_file, OPT_no_mmap_output_file, false);
ctx.arg.nmagic = args.hasFlag(OPT_nmagic, OPT_no_nmagic, false);
ctx.arg.noinhibitExec = args.hasArg(OPT_noinhibit_exec);
ctx.arg.nostdlib = args.hasArg(OPT_nostdlib);
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index e2aebff20e174..6a0552e808c7b 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -2908,8 +2908,8 @@ template <class ELFT> void Writer<ELFT>::openFile() {
unsigned flags = 0;
if (!ctx.arg.relocatable)
flags |= FileOutputBuffer::F_executable;
- if (!ctx.arg.mmapOutputFile)
- flags |= FileOutputBuffer::F_no_mmap;
+ if (ctx.arg.mmapOutputFile)
+ flags |= FileOutputBuffer::F_mmap;
Expected<std::unique_ptr<FileOutputBuffer>> bufferOrErr =
FileOutputBuffer::create(ctx.arg.outputFile, fileSize, flags);
diff --git a/llvm/include/llvm/Support/FileOutputBuffer.h b/llvm/include/llvm/Support/FileOutputBuffer.h
index d4b73522115db..f98e7a5470b55 100644
--- a/llvm/include/llvm/Support/FileOutputBuffer.h
+++ b/llvm/include/llvm/Support/FileOutputBuffer.h
@@ -31,9 +31,8 @@ class FileOutputBuffer {
/// Set the 'x' bit on the resulting file.
F_executable = 1,
- /// Don't use mmap and instead write an in-memory buffer to a file when this
- /// buffer is closed.
- F_no_mmap = 2,
+ /// Use mmap for in-memory file buffer.
+ F_mmap = 2,
};
/// Factory method to create an OutputBuffer object which manages a read/write
diff --git a/llvm/lib/Support/FileOutputBuffer.cpp b/llvm/lib/Support/FileOutputBuffer.cpp
index 58a06a34e8cf3..a2396d7629488 100644
--- a/llvm/lib/Support/FileOutputBuffer.cpp
+++ b/llvm/lib/Support/FileOutputBuffer.cpp
@@ -186,7 +186,7 @@ FileOutputBuffer::create(StringRef Path, size_t Size, unsigned Flags) {
case fs::file_type::regular_file:
case fs::file_type::file_not_found:
case fs::file_type::status_error:
- if (Flags & F_no_mmap)
+ if (Flags & F_mmap)
return createInMemoryBuffer(Path, Size, Mode);
else
return createOnDiskBuffer(Path, Size, Mode);
diff --git a/llvm/unittests/Support/FileOutputBufferTest.cpp b/llvm/unittests/Support/FileOutputBufferTest.cpp
index f7bb0833e5a0e..423a6e12240c0 100644
--- a/llvm/unittests/Support/FileOutputBufferTest.cpp
+++ b/llvm/unittests/Support/FileOutputBufferTest.cpp
@@ -123,7 +123,7 @@ TEST(FileOutputBuffer, Test) {
File5.append("/file5");
{
Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
- FileOutputBuffer::create(File5, 8000, FileOutputBuffer::F_no_mmap);
+ FileOutputBuffer::create(File5, 8000, FileOutputBuffer::F_mmap);
ASSERT_NO_ERROR(errorToErrorCode(BufferOrErr.takeError()));
std::unique_ptr<FileOutputBuffer> &Buffer = *BufferOrErr;
// Start buffer with special header.
|
https://reviews.llvm.org/D69294 misnames |
`F_no_mmap` introduced by https://reviews.llvm.org/D69294 is misnamed. It oughts to be `F_mmap` When the output is a regular file or do not exist, `--no-mmap-output-file` is the default. Relands #134787 by fixing the lld option default. Note: changing the default to --map-output-file would likely fail on llvm-clang-x86_64-sie-win (https://lab.llvm.org/buildbot/#/builders/46/builds/14847) Pull Request: llvm/llvm-project#139836
`F_no_mmap` introduced by https://reviews.llvm.org/D69294 is misnamed. It oughts to be `F_mmap` When the output is a regular file or do not exist, `--no-mmap-output-file` is the default. Relands llvm#134787 by fixing the lld option default. Note: changing the default to --map-output-file would likely fail on llvm-clang-x86_64-sie-win (https://lab.llvm.org/buildbot/#/builders/46/builds/14847) Pull Request: llvm#139836
F_no_mmap
introduced by https://reviews.llvm.org/D69294 is misnamed.It oughts to be
F_mmap
When the output is a regular file or do not exist,
--no-mmap-output-file
is the default. Relands #134787 by fixing thelld option default. Note: changing the default to --map-output-file
would likely fail on llvm-clang-x86_64-sie-win
(https://lab.llvm.org/buildbot/#/builders/46/builds/14847)