# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+relax < %s \
# RUN:     | llvm-readobj -r | FileCheck -check-prefix=RELAX-RELOC %s
# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=-relax < %s \
# RUN:     | llvm-readobj -r | FileCheck -check-prefix=NORELAX-RELOC %s

func:
	.cfi_startproc
  ret
	.cfi_endproc

# TODO: Should produce R_RISCV_32_PCREL for the FDE pc relocation. Many of the
# ADD32/SUB32 relocations also can be safely resolved even with linker
# relaxation enabled. This test is written to capture current behaviour, in
# preparation for follow-on patches to fix it.

# RELAX-RELOC:   Section (4) .rela.eh_frame {
# RELAX-RELOC-NEXT:   0x0 R_RISCV_32 - 0x10
# RELAX-RELOC-NEXT:   0x14 R_RISCV_32 - 0x10
# RELAX-RELOC-NEXT:   0x18 R_RISCV_32 - 0x18
# RELAX-RELOC-NEXT:   0x1C R_RISCV_ADD32 - 0x0
# RELAX-RELOC-NEXT:   0x1C R_RISCV_SUB32 - 0x0
# RELAX-RELOC-NEXT:   0x20 R_RISCV_ADD32 - 0x0
# RELAX-RELOC-NEXT:   0x20 R_RISCV_SUB32 - 0x0
# RELAX-RELOC-NEXT: }

# NORELAX-RELOC:        Section (4) .rela.eh_frame {
# NORELAX-RELOC-NEXT:    0x1C R_RISCV_32_PCREL - 0x0
# NORELAX-RELOC-NEXT:  }
