blob: 0794ad4d22e7438559129697dcd5b5dc06475905 [file] [log] [blame]
# 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_ADD32 - 0xFFFFFFFC
# RELAX-RELOC-NEXT: 0x0 R_RISCV_SUB32 - 0x0
# RELAX-RELOC-NEXT: 0x14 R_RISCV_ADD32 - 0x0
# RELAX-RELOC-NEXT: 0x14 R_RISCV_SUB32 - 0x0
# RELAX-RELOC-NEXT: 0x18 R_RISCV_ADD32 - 0x0
# RELAX-RELOC-NEXT: 0x18 R_RISCV_SUB32 - 0x0
# 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: }