section-symbol-relocs.yaml 2.1 KB
# RUN: yaml2obj %s -o %t.o
# RUN: llc -filetype=obj  %S/Inputs/custom.ll -o %t2.o
# RUN: wasm-ld --no-entry -o - %t2.o %t.o | obj2yaml | FileCheck %s
# RUN: wasm-ld -r --no-entry -o - %t2.o %t.o | obj2yaml | FileCheck %s -check-prefix=RELOC

--- !WASM
FileHeader:
  Version:         0x00000001
Sections:
  - Type:            CUSTOM
    Name:            green
    Payload:         'AA0000000000000000'
    Relocations:
      - Type:            R_WASM_SECTION_OFFSET_I32
        Index:           0
        Offset:          0x00000001
      - Type:            R_WASM_SECTION_OFFSET_I32
        Index:           1
        Offset:          0x00000005
  - Type:            CUSTOM
    Name:            red
    Payload:         'BB0000000000000000'
  - Type:            CUSTOM
    Name:            linking
    Version:         2
    SymbolTable:
      - Index:           0
        Kind:            SECTION
        Section:         0
        Flags:           [ BINDING_LOCAL ]
      - Index:           1
        Kind:            SECTION
        Section:         1
        Flags:           [ BINDING_LOCAL ]
...

# CHECK:        Name:            green
# CHECK-NEXT:   Payload:         626172717578AA0600000003000000
# CHECK:        Name:            red
# CHECK-NEXT:   Payload:         666F6FBB0000000000000000

# RELOC:        Relocations:
# RELOC-NEXT:       - Type:            R_WASM_SECTION_OFFSET_I32
# RELOC-NEXT:         Index:           0
# RELOC-NEXT:         Offset:          0x00000007
# RELOC-NEXT:         Addend:          6
# RELOC-NEXT:       - Type:            R_WASM_SECTION_OFFSET_I32
# RELOC-NEXT:         Index:           1
# RELOC-NEXT:         Offset:          0x0000000B
# RELOC-NEXT:         Addend:          3
# RELOC-NEXT:    Name:            green
#
# RELOC:        SymbolTable:
# RELOC-NEXT:     - Index:           0
# RELOC-NEXT:       Kind:            SECTION
# RELOC-NEXT:       Flags:           [ BINDING_LOCAL ]
# RELOC-NEXT:       Section:         2
# RELOC-NEXT:     - Index:           1
# RELOC-NEXT:       Kind:            SECTION
# RELOC-NEXT:       Flags:           [ BINDING_LOCAL ]
# RELOC-NEXT:       Section:         3