diff options
Diffstat (limited to 'llvm/tools/llvm-objcopy/COFF/Object.cpp')
| -rw-r--r-- | llvm/tools/llvm-objcopy/COFF/Object.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/tools/llvm-objcopy/COFF/Object.cpp b/llvm/tools/llvm-objcopy/COFF/Object.cpp index e19cea6aa9d..fc87d9e574d 100644 --- a/llvm/tools/llvm-objcopy/COFF/Object.cpp +++ b/llvm/tools/llvm-objcopy/COFF/Object.cpp @@ -127,6 +127,16 @@ void Object::removeSections(function_ref<bool(const Section &)> ToRemove) { updateSymbols(); } +void Object::truncateSections(function_ref<bool(const Section &)> ToTruncate) { + for (Section &Sec : Sections) { + if (ToTruncate(Sec)) { + Sec.Contents = ArrayRef<uint8_t>(); + Sec.Relocs.clear(); + Sec.Header.SizeOfRawData = 0; + } + } +} + } // end namespace coff } // end namespace objcopy } // end namespace llvm |

