xref: /llvm-project/llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test (revision 7db0a606a294bc788563b8363261efa0c13e3062)
1RUN: yaml2obj %p/Inputs/i386-debug-rdata.yaml -o %t.in.exe
2
3RUN: llvm-objcopy --only-keep-debug %t.in.exe %t.out.exe
4RUN: llvm-readobj --sections %t.out.exe | FileCheck %s
5
6Check that all non-debug/rodata (which contains the debug directory in this case)
7sections with IMAGE_SCN_CNT_CODE or IMAGE_SCN_CNT_INITIALIZED_DATA are truncated,
8and no others.
9
10CHECK:       Section {
11CHECK-NEXT:   Number: 1
12CHECK-NEXT:   Name: .text (2E 74 65 78 74 00 00 00)
13CHECK-NEXT:   VirtualSize: 0x12
14CHECK-NEXT:   VirtualAddress: 0x1000
15CHECK-NEXT:   RawDataSize: 0
16CHECK:       Section {
17CHECK-NEXT:   Number: 2
18CHECK-NEXT:   Name: .rdata (2E 72 64 61 74 61 00 00)
19CHECK-NEXT:   VirtualSize: 0x6D
20CHECK-NEXT:   VirtualAddress: 0x2000
21CHECK-NEXT:   RawDataSize: 512
22CHECK:       Section {
23CHECK-NEXT:   Number: 3
24CHECK-NEXT:   Name: .debug_abbrev (2F 34 00 00 00 00 00 00)
25CHECK-NEXT:   VirtualSize: 0x4E
26CHECK-NEXT:   VirtualAddress: 0x3000
27CHECK-NEXT:   RawDataSize: 512
28CHECK:       Section {
29CHECK-NEXT:   Number: 4
30CHECK-NEXT:   Name: .debug_info (2F 32 39 00 00 00 00 00)
31CHECK-NEXT:   VirtualSize: 0x74
32CHECK-NEXT:   VirtualAddress: 0x4000
33CHECK-NEXT:   RawDataSize: 512
34CHECK:       Section {
35CHECK-NEXT:   Number: 5
36CHECK-NEXT:   Name: .debug_line (2F 34 31 00 00 00 00 00)
37CHECK-NEXT:   VirtualSize: 0x3C
38CHECK-NEXT:   VirtualAddress: 0x5000
39CHECK-NEXT:   RawDataSize: 512
40CHECK:       Section {
41CHECK-NEXT:   Number: 6
42CHECK-NEXT:   Name: .debug_str (2F 31 38 00 00 00 00 00)
43CHECK-NEXT:   VirtualSize: 0xD9
44CHECK-NEXT:   VirtualAddress: 0x6000
45CHECK-NEXT:   RawDataSize: 512
46