summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2019-01-19 19:42:48 +0000
committerMartin Storsjo <martin@martin.st>2019-01-19 19:42:48 +0000
commit1868d88b2efd705a11f44f8bef1960599a2346c1 (patch)
tree8dd5a27a1c28b0f9e27267ca0a6712392da23201 /llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
parent78a0b418b44b0198cd5c4e134b7ae32b744d6c09 (diff)
downloadbcm5719-llvm-1868d88b2efd705a11f44f8bef1960599a2346c1.tar.gz
bcm5719-llvm-1868d88b2efd705a11f44f8bef1960599a2346c1.zip
[llvm-objcopy] [COFF] Implement --only-keep-debug
Differential Revision: https://reviews.llvm.org/D56840 llvm-svn: 351662
Diffstat (limited to 'llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test')
-rw-r--r--llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test58
1 files changed, 58 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test b/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
new file mode 100644
index 00000000000..5518d4000fc
--- /dev/null
+++ b/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug.test
@@ -0,0 +1,58 @@
+RUN: yaml2obj %p/Inputs/only-keep-sections.yaml > %t.in.exe
+
+RUN: llvm-objcopy --only-keep-debug %t.in.exe %t.out.exe
+RUN: llvm-readobj --sections %t.out.exe | FileCheck %s --check-prefix=SECTIONS
+RUN: llvm-objdump -t %t.out.exe | FileCheck %s --check-prefix=SYMBOLS
+
+Check that all non-debug/buildid sections with IMAGE_SCN_CNT_CODE
+or IMAGE_SCN_CNT_INITIALIZED_DATA are truncated, and no others.
+
+SECTIONS: Sections [
+SECTIONS-NEXT: Section {
+SECTIONS-NEXT: Number: 1
+SECTIONS-NEXT: Name: .text
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 0
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 2
+SECTIONS-NEXT: Name: .rdata
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 0
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 3
+SECTIONS-NEXT: Name: .buildid
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 512
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 4
+SECTIONS-NEXT: Name: .reloc
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 0
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 5
+SECTIONS-NEXT: Name: .debug_discardable
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 512
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 6
+SECTIONS-NEXT: Name: .debug_undiscardable
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 512
+SECTIONS: Section {
+SECTIONS-NEXT: Number: 7
+SECTIONS-NEXT: Name: .unflagged
+SECTIONS-NEXT: VirtualSize: 0x4
+SECTIONS-NEXT: VirtualAddress:
+SECTIONS-NEXT: RawDataSize: 512
+
+SYMBOLS: SYMBOL TABLE:
+SYMBOLS-NEXT: main
+SYMBOLS-NEXT: debug_discardable_sym
+SYMBOLS-NEXT: debug_undiscardable_sym
+SYMBOLS-EMPTY:
OpenPOWER on IntegriCloud