xref: /llvm-project/llvm/test/tools/llvm-objcopy/wasm/basic-strip.test (revision 7cb25f53875e5490bccaf297accd34b7331cfb8b)
1## Test that debug, name, and producers sections are stripped with --strip-all.
2## Other sections (unknown to LLVM, such as foo) are not stripped by --strip-all.
3# RUN: yaml2obj %s -o %t
4# RUN: llvm-strip --strip-all %t
5# RUN: obj2yaml %t | FileCheck --implicit-check-not producers --implicit-check-not .debug --implicit-check-not name %s
6
7## The default no-arg behavior is the same as --strip-all.
8# RUN: llvm-strip %t
9# RUN: obj2yaml %t | FileCheck --implicit-check-not producers --implicit-check-not .debug --implicit-check-not name %s
10
11# CHECK:      Sections:
12# CHECK-NEXT:   - Type: TYPE
13# CHECK:          Name: foo
14
15--- !WASM
16FileHeader:
17  Version: 0x00000001
18Sections:
19  - Type: TYPE
20    Signatures:
21      - Index: 0
22        ParamTypes: []
23        ReturnTypes: []
24  - Type: FUNCTION
25    FunctionTypes: [ 0 ]
26  - Type: CODE
27    Functions:
28      - Index: 0
29        Locals: []
30        Body: 0B
31  - Type: CUSTOM
32    Name: name
33    FunctionNames:
34     - Index:          0
35       Name:           foo
36  - Type: CUSTOM
37    Name: producers
38    Tools:
39      - Name:   clang
40        Version: 9.0.0
41  - Type: CUSTOM
42    Name: .debug_info
43    Payload: DEADBEEF
44  - Type: CUSTOM
45    Name: foo
46    Payload: CAFE
47