# .option norelax
# .global _start
# _start:
#     call    _start + 4
#
# .section .reloc_neg, "ax", @progbits
# L1:
#     call    L1 - 4
#
# REQUIRES: riscv
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: obj2yaml %t | FileCheck %s
#
# CHECK:  - Name:            .text
# CHECK:    Content:         '97000000E7804000'
#
# 11000:       00000097                auipc   ra,0x0
# 11004:       004080e7                jalr    4(ra)
#
# CHECK:  - Name:            .reloc_neg
# CHECK:    Content:         97000000E780C0FF
#
# 11008:       00000097                auipc   ra,0x0
# 1100c:       ffc080e7                jalr    -4(ra)

--- !ELF
FileHeader:
  Class:           ELFCLASS32
  Data:            ELFDATA2LSB
  Type:            ET_REL
  Machine:         EM_RISCV
  Flags:           [ EF_RISCV_RVC, EF_RISCV_FLOAT_ABI_SOFT ]
Sections:
  - Name:            .text
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000002
    Content:         '97000000E7800000'
  - Name:            .rela.text
    Type:            SHT_RELA
    Flags:           [ SHF_INFO_LINK ]
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .text
    Relocations:
      - Offset:          0x0000000000000000
        Symbol:          _start
        Type:            R_RISCV_CALL
        Addend:          4
  - Name:            .data
    Type:            SHT_PROGBITS
    Flags:           [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign:    0x0000000000000001
    Content:         ''
  - Name:            .bss
    Type:            SHT_NOBITS
    Flags:           [ SHF_WRITE, SHF_ALLOC ]
    AddressAlign:    0x0000000000000001
  - Name:            .reloc_neg
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000001
    Content:         '97000000E7800000'
  - Name:            .rela.reloc_neg
    Type:            SHT_RELA
    Flags:           [ SHF_INFO_LINK ]
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .reloc_neg
    Relocations:
      - Offset:          0x0000000000000000
        Symbol:          L1
        Type:            R_RISCV_CALL
        Addend:          -4
Symbols:
  Local:
    - Name:            .text
      Type:            STT_SECTION
      Section:         .text
    - Name:            .data
      Type:            STT_SECTION
      Section:         .data
    - Name:            .bss
      Type:            STT_SECTION
      Section:         .bss
    - Name:            .reloc_neg
      Type:            STT_SECTION
      Section:         .reloc_neg
    - Name:            L1
      Section:         .reloc_neg
  Global:
    - Name:            _start
      Section:         .text
...
