# 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: }