1# RUN: yaml2obj < %s | llvm-nm - | FileCheck -strict-whitespace %s
2
3# Check that wasm weak function/global/data symbols are displayed correctly
4
5--- !WASM
6FileHeader:
7  Version:         0x00000001
8Sections:
9  - Type:            TYPE
10    Signatures:
11      - Index:           0
12        ParamTypes:
13          - I32
14        ReturnTypes:
15          - I32
16  - Type:            IMPORT
17    Imports:
18      - Module:          env
19        Field:           weak_import_func
20        Kind:            FUNCTION
21        SigIndex:        0
22  - Type:            FUNCTION
23    FunctionTypes: [ 0 ]
24  - Type:            GLOBAL
25    Globals:
26      - Index:       0
27        Type:        I32
28        Mutable:     false
29        InitExpr:
30          Opcode:          I64_CONST
31          Value:           32
32  - Type:            CODE
33    Functions:
34      - Index:           1
35        Locals:
36        Body:            00
37  - Type:            DATA
38    Segments:
39      - SectionOffset:   6
40        InitFlags:       0
41        Offset:
42          Opcode:          I32_CONST
43          Value:           0
44        Content:         '616263'
45  - Type:            CUSTOM
46    Name:            linking
47    Version:         2
48    SymbolTable:
49       - Index:           0
50         Kind:            DATA
51         Name:            weak_defined_data
52         Flags:           [ BINDING_WEAK ]
53         Segment:         0
54         Size:            3
55       - Index:           1
56         Kind:            FUNCTION
57         Name:            weak_defined_func
58         Flags:           [ BINDING_WEAK ]
59         Function:        1
60       - Index:           2
61         Kind:            GLOBAL
62         Name:            weak_defined_global
63         Flags:           [ BINDING_WEAK ]
64         Global:          0
65       - Index:           3
66         Kind:            DATA
67         Name:            weak_import_data
68         Flags:           [ BINDING_WEAK, UNDEFINED ]
69       - Index:           4
70         Kind:            FUNCTION
71         Name:            weak_import_func
72         Flags:           [ BINDING_WEAK, UNDEFINED ]
73         Function:        0
74    SegmentInfo:
75      - Index:           0
76        Name:            .rodata.constantData
77        Alignment:       1
78        Flags:           [  ]
79
80
81# CHECK:      00000000 W weak_defined_data
82# CHECK-NEXT: 00000001 W weak_defined_func
83# CHECK-NEXT: 00000000 W weak_defined_global
84# CHECK-NEXT:          w weak_import_data
85# CHECK-NEXT:          w weak_import_func
86