diff --git a/source/Host/common/FileSystem.cpp b/source/Host/common/FileSystem.cpp
index 64ecf27..9076188 100644
--- a/source/Host/common/FileSystem.cpp
+++ b/source/Host/common/FileSystem.cpp
@@ -307,7 +307,7 @@
   std::unique_ptr<llvm::WritableMemoryBuffer> buffer;
   if (size == 0) {
     auto buffer_or_error =
-        llvm::WritableMemoryBuffer::getFile(*external_path, -1, is_volatile);
+        llvm::WritableMemoryBuffer::getFile(*external_path, is_volatile);
     if (!buffer_or_error)
       return nullptr;
     buffer = std::move(*buffer_or_error);
diff --git a/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp b/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
index 35a823e..cb7bbee 100644
--- a/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
+++ b/source/Plugins/ObjectFile/PDB/ObjectFilePDB.cpp
@@ -173,7 +173,7 @@
   if (ec || magic != llvm::file_magic::pdb)
     return nullptr;
   llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> ErrorOrBuffer =
-      llvm::MemoryBuffer::getFile(PdbPath, /*FileSize=*/-1,
+      llvm::MemoryBuffer::getFile(PdbPath, /*IsText=*/false,
                                   /*RequiresNullTerminator=*/false);
   if (!ErrorOrBuffer)
     return nullptr;
diff --git a/unittests/TestingSupport/TestUtilities.cpp b/unittests/TestingSupport/TestUtilities.cpp
index 34f49e5..86f3d1a 100644
--- a/unittests/TestingSupport/TestUtilities.cpp
+++ b/unittests/TestingSupport/TestUtilities.cpp
@@ -38,8 +38,8 @@
 
 llvm::Expected<TestFile> TestFile::fromYamlFile(const llvm::Twine &Name) {
   auto BufferOrError =
-      llvm::MemoryBuffer::getFile(GetInputFilePath(Name), /*FileSize*/ -1,
-                                  /*RequiresNullTerminator*/ false);
+      llvm::MemoryBuffer::getFile(GetInputFilePath(Name), /*IsText=*/false,
+                                  /*RequiresNullTerminator=*/false);
   if (!BufferOrError)
     return llvm::errorCodeToError(BufferOrError.getError());
   return fromYaml(BufferOrError.get()->getBuffer());
