[llvm] Add --dump-offload-bundle option to llvm-objcopy (PR #143347)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 9 11:15:41 PDT 2025


================
@@ -1417,25 +1435,26 @@ objcopy::parseInstallNameToolOptions(ArrayRef<const char *> ArgsArr) {
                              Arg->getAsString(InputArgs).c_str());
   for (auto *Arg : InputArgs.filtered(INSTALL_NAME_TOOL_INPUT))
     Positional.push_back(Arg->getValue());
-  if (Positional.empty())
+  if (Positional.empty() && Config.NeedPositional)
     return createStringError(errc::invalid_argument, "no input file specified");
-  if (Positional.size() > 1)
+  if (Positional.size() > 1 && Config.NeedPositional)
     return createStringError(
         errc::invalid_argument,
         "llvm-install-name-tool expects a single input file");
-  Config.InputFilename = Positional[0];
-  Config.OutputFilename = Positional[0];
-
-  Expected<OwningBinary<Binary>> BinaryOrErr =
-      createBinary(Config.InputFilename);
-  if (!BinaryOrErr)
-    return createFileError(Config.InputFilename, BinaryOrErr.takeError());
-  auto *Binary = (*BinaryOrErr).getBinary();
-  if (!Binary->isMachO() && !Binary->isMachOUniversalBinary())
-    return createStringError(errc::invalid_argument,
-                             "input file: %s is not a Mach-O file",
-                             Config.InputFilename.str().c_str());
-
+  if (Config.NeedPositional) {
+    Config.InputFilename = Positional[0];
+    Config.OutputFilename = Positional[0];
+
+    Expected<OwningBinary<Binary>> BinaryOrErr =
+        createBinary(Config.InputFilename);
+    if (!BinaryOrErr)
+      return createFileError(Config.InputFilename, BinaryOrErr.takeError());
+    auto *Binary = (*BinaryOrErr).getBinary();
----------------
jhuber6 wrote:

```suggestion
    auto &Binary = *BinaryOrErr->getBinary();
```

https://github.com/llvm/llvm-project/pull/143347


More information about the llvm-commits mailing list