# .option norelax
# .global _start
#
# .section .reloc_zero, "ax", @progbits
# _start:
# L1:
#     jal x0, L1
# L2:
#     c.jal L2
#
# .section .reloc_max, "ax", @progbits
# L3:
#     jal x0, L3 + 0xffffe
# L4:
#     c.jal L4 + 0x7fe
#
# .section .reloc_min, "ax", @progbits
# L5:
#     jal x0, L5 - 0x100000
# L6:
#     c.jal L6 - 0x800
#
# REQUIRES: riscv
# RUN: yaml2obj %s -o %t.o
# RUN: ld.lld %t.o -o %t
# RUN: obj2yaml %t | FileCheck %s
#
# CHECK: - Name:            .reloc_zero
# CHECK:   Content:         6F0000000120
# 11000:       0000006f                j       11000
# 11004:       2001                    jal     11004
#
# CHECK: - Name:            .reloc_max
# CHECK:   Content:         6FF0FF7FFD2F
# 11006:       7ffff06f                j       111004
# 1100a:       2ffd                    jal     11808
#
# CHECK: - Name:            .reloc_min
# CHECK:   Content:         6F0000800130
# 1100c:       8000006f                j       fff1100c
# 11010:       3001                    jal     10810

--- !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:         ''
  - 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_zero
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000001
    Content:         6F0000000120
  - Name:            .rela.reloc_zero
    Type:            SHT_RELA
    Flags:           [ SHF_INFO_LINK ]
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .reloc_zero
    Relocations:
      - Offset:          0x0000000000000000
        Symbol:          L1
        Type:            R_RISCV_JAL
      - Offset:          0x0000000000000004
        Symbol:          L2
        Type:            R_RISCV_RVC_JUMP
  - Name:            .reloc_max
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000001
    Content:         6FF0FF7FFD2F
  - Name:            .rela.reloc_max
    Type:            SHT_RELA
    Flags:           [ SHF_INFO_LINK ]
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .reloc_max
    Relocations:
      - Offset:          0x0000000000000000
        Symbol:          L3
        Type:            R_RISCV_JAL
        Addend:          1048574
      - Offset:          0x0000000000000004
        Symbol:          L4
        Type:            R_RISCV_RVC_JUMP
        Addend:          2046
  - Name:            .reloc_min
    Type:            SHT_PROGBITS
    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
    AddressAlign:    0x0000000000000001
    Content:         6F0000800130
  - Name:            .rela.reloc_min
    Type:            SHT_RELA
    Flags:           [ SHF_INFO_LINK ]
    Link:            .symtab
    AddressAlign:    0x0000000000000004
    Info:            .reloc_min
    Relocations:
      - Offset:          0x0000000000000000
        Symbol:          L5
        Type:            R_RISCV_JAL
        Addend:          -1048576
      - Offset:          0x0000000000000004
        Symbol:          L6
        Type:            R_RISCV_RVC_JUMP
        Addend:          -2048
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_zero
      Type:            STT_SECTION
      Section:         .reloc_zero
    - Name:            L1
      Section:         .reloc_zero
    - Name:            L2
      Section:         .reloc_zero
      Value:           0x0000000000000004
    - Name:            .reloc_max
      Type:            STT_SECTION
      Section:         .reloc_max
    - Name:            L3
      Section:         .reloc_max
    - Name:            L4
      Section:         .reloc_max
      Value:           0x0000000000000004
    - Name:            .reloc_min
      Type:            STT_SECTION
      Section:         .reloc_min
    - Name:            L5
      Section:         .reloc_min
    - Name:            L6
      Section:         .reloc_min
      Value:           0x0000000000000004
  Global:
    - Name:            _start
      Section:         .reloc_zero
...
