[llvm] Add Offoading to llvm-readobj and llvm-objcopy (PR #141978)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu May 29 10:00:31 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) {
+  StringRef OutputFileName(Obj.getFileName().str() + "-offset" +
+                           itostr(Offset) + "-size" + itostr(Size) + ".co");
+
+  Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
+      FileOutputBuffer::create(OutputFileName, 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());
+  if (Error E = Buf->commit())
+    return E;
+
+  return Error::success();
----------------
arsenm wrote:

```suggestion
  return Buf->commit();
```

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


More information about the llvm-commits mailing list