[llvm-objcopy] Add support for removing sections

This change adds support for removing sections using the -R field (as
GNU objcopy does as well). This change should let us add many helpful
tests and is a proper stepping stone for adding more general kinds of
stripping.

Differential Revision: https://reviews.llvm.org/D38260

llvm-svn: 315346
diff --git a/llvm/test/tools/llvm-objcopy/remove-shstrtab-error.test b/llvm/test/tools/llvm-objcopy/remove-shstrtab-error.test
new file mode 100644
index 0000000..7d297ef
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/remove-shstrtab-error.test
@@ -0,0 +1,11 @@
+# RUN: yaml2obj %s > %t
+# RUN: not llvm-objcopy -R .shstrtab %t %t2 2>&1 >/dev/null | FileCheck %s
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_REL
+  Machine:         EM_X86_64
+
+# CHECK: Cannot remove .shstrtab because it is the section header string table.