[llvm] [ObjCopy][DX] Support for -dump-section flag (PR #159999)
James Henderson via llvm-commits
llvm-commits at lists.llvm.org
Tue Sep 23 00:24:54 PDT 2025
================
@@ -42,7 +44,40 @@ static Error extractPartAsObject(StringRef PartName, StringRef OutFilename,
"part '%s' not found", PartName.str().c_str());
}
+static Error dumpPartToFile(StringRef PartName, StringRef Filename,
+ StringRef InputFilename, Object &Obj) {
+ for (const Part &P : Obj.Parts) {
+ if (P.Name == PartName) {
+ ArrayRef<uint8_t> Contents = P.Data;
+ // For parts containing llvm bitcode, don't dump the program headers so
+ // that we get a valid .bc file.
+ if (PartName == "DXIL" || PartName == "STAT")
+ Contents = Contents.drop_front(sizeof(llvm::dxbc::ProgramHeader));
+ Expected<std::unique_ptr<FileOutputBuffer>> BufferOrErr =
+ FileOutputBuffer::create(Filename, Contents.size());
+ if (!BufferOrErr)
+ return createFileError(Filename, BufferOrErr.takeError());
----------------
jh7370 wrote:
Test cases for this and other error paths are required.
https://github.com/llvm/llvm-project/pull/159999
More information about the llvm-commits
mailing list