[llvm-strip][WebAssembly] Support strip flags
authorDerek Schuff <dschuff@chromium.org>
Fri, 31 Jan 2020 23:55:47 +0000 (15:55 -0800)
committerDerek Schuff <dschuff@chromium.org>
Wed, 14 Jul 2021 21:17:02 +0000 (14:17 -0700)
commit7cb25f53875e5490bccaf297accd34b7331cfb8b
tree4ecb6ff8c4fb594d13cba6c8288cff3422653a3a
parentd3816ef042d7506e154fb708456147a11264895c
[llvm-strip][WebAssembly] Support strip flags

Summary:
Add support for the basic section stripping (and keeping) flags for wasm:
strip with no flags, --strip-all, --strip-debug,
--only-section, --keep-section, and --only-keep-debug.

Factor section removal into a function and use a predicate chain like
the ELF implementation.

Reviewers: jhenderson, sbc100

Differential Revision: https://reviews.llvm.org/D73820
llvm/test/tools/llvm-objcopy/wasm/basic-keep.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/basic-only-section.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/basic-strip.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/only-keep-debug.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/strip-all.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/strip-debug.test [new file with mode: 0644]
llvm/test/tools/llvm-objcopy/wasm/strip-reloc.test [new file with mode: 0644]
llvm/tools/llvm-objcopy/ConfigManager.cpp
llvm/tools/llvm-objcopy/wasm/WasmObjcopy.cpp