[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


================
@@ -210,6 +210,27 @@ static Error dumpSectionToFile(StringRef SecName, StringRef Filename,
                          "section '%s' not found", SecName.str().c_str());
 }
 
+static Error dumpRawDataURIToFile(StringRef Filename, int64_t Offset,
+                                  int64_t Size, ObjectFile &Obj) {
+  SmallString<2048> NameBuf;
+  raw_svector_ostream OutputFileName(NameBuf);
+  OutputFileName << Obj.getFileName().str() << "-offset" << Offset << "-size"
+                 << Size << ".co";
+
+  Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
+      FileOutputBuffer::create(OutputFileName.str(), Size);
+
+  if (!BufferOrErr)
+    return BufferOrErr.takeError();
+
+  MemoryBufferRef Input = Obj.getMemoryBufferRef();
+  std::unique_ptr<FileOutputBuffer> Buf = std::move(*BufferOrErr);
+  std::copy(Input.getBufferStart(), Input.getBufferStart() + Size,
+            Buf->getBufferStart());
----------------
jhuber6 wrote:

Nit, you can use `llvm::copy` to avoid the iterators.

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


More information about the llvm-commits mailing list