# RUN: yaml2obj %s -o %t.wasm
# RUN: llvm-objdump -t %t.wasm | FileCheck %s
#
# CHECK:      SYMBOL TABLE:
# CHECK-NEXT: 00000000   F *UND* 00000000 my_func_import_name
# CHECK-NEXT: 0000008c g F CODE 00000003 my_func_export_name
# CHECK-NEXT: 0000008f l F CODE 00000003 my_func_local_name
# CHECK-NEXT: 00000000    *UND* 00000000 my_global_import_name
# CHECK-NEXT: 0000004c g  GLOBAL 00000005 my_global_export_name
# CHECK-NEXT: 00000051 g  GLOBAL 00000009 my_global_local_name
# CHECK-NEXT: 00000000 l O DATA 00000004 my_datasegment_name

--- !WASM
FileHeader:
  Version:         0x1
Sections:
  - Type:            TYPE
    Signatures:
      - Index:           0
        ParamTypes:      []
        ReturnTypes:     []
  - Type:            IMPORT
    Imports:
      - Module:          env
        Field:           foo
        Kind:            FUNCTION
        SigIndex:        0
      - Module:          env
        Field:           bar
        Kind:            GLOBAL
        GlobalType:      I32
        GlobalMutable:   true
      - Module:          env
        Field:           memory
        Kind:            MEMORY
        Memory:
          Minimum:         0x1
  - Type:            FUNCTION
    FunctionTypes:   [ 0, 0 ]
  - Type:            GLOBAL
    Globals:
      - Index:           1
        Mutable:         false
        Type:            I32
        InitExpr:
          Opcode:          I32_CONST
          Value:           42
      - Index:           2
        Mutable:         true
        Type:            I64
        InitExpr:
          Opcode:          I64_CONST
          Value:           5000000000
  - Type:            EXPORT
    Exports:
      - Name:            my_func_export
        Kind:            FUNCTION
        Index:           1
      - Name:            my_global_export
        Kind:            GLOBAL
        Index:           1
  - Type:            CODE
    Functions:
      - Index:           1
        Locals:
        Body:            00
      - Index:           2
        Locals:
        Body:            00
  - Type:            DATA
    Segments:
      - SectionOffset:   0
        InitFlags:       0
        Offset:
          Opcode:          I32_CONST
          Value:           0
        Content:         'abcd1234'
  - Type:            CUSTOM
    Name:            name
    FunctionNames:
     - Index:        0
       Name:         my_func_import_name
     - Index:        1
       Name:         my_func_export_name
     - Index:        2
       Name:         my_func_local_name
    GlobalNames:
     - Index:        0
       Name:         my_global_import_name
     - Index:        1
       Name:         my_global_export_name
     - Index:        2
       Name:         my_global_local_name
    DataSegmentNames:
     - Index:        0
       Name:         my_datasegment_name
