[PATCH] D145637: [dsymutil] Fix offset calculation for fat binaries
Jonas Devlieghere via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 9 10:27:36 PST 2023
This revision was automatically updated to reflect the committed changes.
Closed by commit rG244a6acff0b8: [dsymutil] Fix offset calculation for universal binaries (authored by JDevlieghere).
Changed prior to commit:
https://reviews.llvm.org/D145637?vs=503584&id=503836#toc
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D145637/new/
https://reviews.llvm.org/D145637
Files:
llvm/tools/dsymutil/dsymutil.cpp
Index: llvm/tools/dsymutil/dsymutil.cpp
===================================================================
--- llvm/tools/dsymutil/dsymutil.cpp
+++ llvm/tools/dsymutil/dsymutil.cpp
@@ -35,6 +35,7 @@
#include "llvm/Support/CrashRecoveryContext.h"
#include "llvm/Support/FileCollector.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/LLVMDriver.h"
#include "llvm/Support/Path.h"
@@ -801,12 +802,14 @@
ErrorOr<vfs::Status> stat = Options.LinkOpts.VFS->status(File.path());
if (!stat)
break;
- FileOffset += stat->getSize();
if (FileOffset > UINT32_MAX) {
- WithColor::error() << "the universal binary has a slice with an "
- "offset exceeds 4GB and will produce an invalid Mach-O file.";
+ WithColor::error() << formatv(
+ "the universal binary has a slice with a starting offset ({0:x}) "
+ "that exceeds 4GB and will produce an invalid Mach-O file.",
+ FileOffset);
return EXIT_FAILURE;
}
+ FileOffset += stat->getSize();
}
if (!MachOUtils::generateUniversalBinary(TempFiles,
OutputLocationOrErr->DWARFFile,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D145637.503836.patch
Type: text/x-patch
Size: 1309 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230309/7f851ec3/attachment.bin>
More information about the llvm-commits
mailing list