17cb25f53SDerek Schuff## Test that only debug sections are kept with --only-keep-debug.
27cb25f53SDerek Schuff# RUN: yaml2obj %s -o %t
37cb25f53SDerek Schuff# RUN: llvm-strip --only-keep-debug %t
47cb25f53SDerek Schuff# RUN: obj2yaml %t | FileCheck %s
57cb25f53SDerek Schuff
67cb25f53SDerek Schuff## Test that keep-section overrides only-keep-debug.
77cb25f53SDerek Schuff# RUN: yaml2obj %s -o %t
87cb25f53SDerek Schuff# RUN: llvm-strip --only-keep-debug --keep-section=foo %t
97cb25f53SDerek Schuff# RUN: obj2yaml %t | FileCheck --implicit-check-not=Name --check-prefix=CHECK --check-prefix=KEEP %s
107cb25f53SDerek Schuff
11c9dd1cc6SDerek Schuff## Test that keep-section overrides only-keep-debug, even for known sections.
12c9dd1cc6SDerek Schuff# RUN: yaml2obj %s -o %t
13c9dd1cc6SDerek Schuff# RUN: llvm-strip --only-keep-debug --keep-section=TYPE %t
14c9dd1cc6SDerek Schuff# RUN: obj2yaml %t | FileCheck --implicit-check-not=Name --check-prefix=CHECK --check-prefix=KEEPTYPE %s
15c9dd1cc6SDerek Schuff
167cb25f53SDerek Schuff# CHECK:      Sections:
17e07dab8aSDerek Schuff# KEEPTYPE:     - Type: TYPE
18*1e29c3a1SDerek Schuff# CHECK-NOT:    - Type: TYPE
197cb25f53SDerek Schuff# CHECK:        - Type: CUSTOM
207cb25f53SDerek Schuff# CHECK-NEXT:     Name: .debug_info
217cb25f53SDerek Schuff# CHECK:        - Type: CUSTOM
227cb25f53SDerek Schuff# CHECK-NEXT:     Name: .debug_line
237cb25f53SDerek Schuff# KEEP:           Name: foo
247cb25f53SDerek Schuff
257cb25f53SDerek Schuff## Test that remove-section overrides only-keep-debug.
267cb25f53SDerek Schuff# RUN: yaml2obj %s -o %t
277cb25f53SDerek Schuff# RUN: llvm-strip --only-keep-debug --remove-section=.debug_info %t
287cb25f53SDerek Schuff# RUN: obj2yaml %t | FileCheck %s --check-prefix=NOINFO --implicit-check-not=.debug_info
297cb25f53SDerek Schuff
307cb25f53SDerek Schuff# NOINFO: Name: .debug_line
317cb25f53SDerek Schuff
327cb25f53SDerek Schuff--- !WASM
337cb25f53SDerek SchuffFileHeader:
347cb25f53SDerek Schuff  Version: 0x00000001
357cb25f53SDerek SchuffSections:
367cb25f53SDerek Schuff  - Type: TYPE
377cb25f53SDerek Schuff    Signatures:
387cb25f53SDerek Schuff      - Index: 0
397cb25f53SDerek Schuff        ParamTypes:
407cb25f53SDerek Schuff          - I32
417cb25f53SDerek Schuff        ReturnTypes:
427cb25f53SDerek Schuff          - F32
437cb25f53SDerek Schuff  - Type: CUSTOM
447cb25f53SDerek Schuff    Name: .debug_info
457cb25f53SDerek Schuff    Payload: CAFE1234
467cb25f53SDerek Schuff  - Type: CUSTOM
477cb25f53SDerek Schuff    Name: linking
487cb25f53SDerek Schuff    Version: 2
497cb25f53SDerek Schuff  - Type: CUSTOM
507cb25f53SDerek Schuff    Name: producers
517cb25f53SDerek Schuff    Tools:
527cb25f53SDerek Schuff      - Name:   clang
537cb25f53SDerek Schuff        Version: 9.0.0
547cb25f53SDerek Schuff  - Type: CUSTOM
557cb25f53SDerek Schuff    Name: .debug_line
567cb25f53SDerek Schuff    Payload: DEADBEEF
577cb25f53SDerek Schuff  - Type: CUSTOM
587cb25f53SDerek Schuff    Name: foo
597cb25f53SDerek Schuff    Payload: CAFE
60