| RUN: yaml2obj %p/Inputs/only-keep-sections.yaml -o %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 |
| # Run llvm-strip with --strip-symbol on a non-existent symbol to prevent |
| # defaulting to --strip-all. |
| RUN: llvm-strip --only-keep-debug --strip-symbol foo %t.in.exe -o %t-strip.out.exe |
| RUN: cmp %t.out.exe %t-strip.out.exe |
| |
| 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: |