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

David Salinas via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 21 11:50:59 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());
----------------
david-salinas wrote:

I tried to change this to use llvm::copy but because we need to do a small calculation to get "end" it would actually make this code more complicated to call llvm::copy, and llvm::copy just calls std:copy anyway.

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


More information about the llvm-commits mailing list