brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 8b3c8ec Raw
59 lines · plain
1# REQUIRES: riscv2# RUN: rm -rf %t && split-file %s %t && cd %t3# RUN: llvm-mc -filetype=obj -triple=riscv64 -mattr=+c,+relax a.s -o a.o4 5# RUN: ld.lld -T lds a.o -o a6# RUN: llvm-objdump -d --no-show-raw-insn -M no-aliases a | FileCheck %s7 8## Unsure whether this needs a diagnostic. GNU ld allows this.9# RUN: ld.lld -T lds -pie a.o -o a.pie10# RUN: llvm-objdump -d --no-show-raw-insn -M no-aliases a.pie | FileCheck %s11 12# RUN: ld.lld -T lds -pie -z notext -z ifunc-noplt a.o -o a.ifunc-noplt13# RUN: llvm-objdump -d --no-show-raw-insn -M no-aliases a.ifunc-noplt | FileCheck %s --check-prefix=CHECK214 15# CHECK-LABEL:  <_start>:16# CHECK-NEXT:             jal    zero, 0x8 <abs>17# CHECK-NEXT:             jal    zero, 0x8 <abs>18# CHECK-NEXT:             jal    ra, 0x8 <abs>19# CHECK-NEXT:             auipc  t1, 0xfff0020# CHECK-NEXT:             jalr   zero, -0x4(t1)21# CHECK-EMPTY:22 23# CHECK-LABEL:  <.mid>:24# CHECK-NEXT:             jal    zero, 0x10100025# CHECK-NEXT:             c.j    0x10100026# CHECK-EMPTY:27 28# CHECK2-LABEL: <.mid>:29# CHECK2-NEXT:            auipc  t1, 0x030# CHECK2-NEXT:            jalr   zero, 0x0(t1)31# CHECK2-NEXT:            auipc  t1, 0x032# CHECK2-NEXT:            jalr   zero, 0x0(t1)33# CHECK2-EMPTY:34 35#--- a.s36.global _start, ifunc37_start:38  jump abs, t239  jump abs, t340  call abs41  tail abs       # not relaxed42 43.section .mid,"ax",@progbits44.balign 1645  tail ifunc@plt # not relaxed46  tail ifunc@plt47 48.type ifunc, @gnu_indirect_function49ifunc:50  ret51 52#--- lds53SECTIONS {54  .text 0x100000 : { *(.text) }55  .mid 0x100800 : { *(.mid) }56  .iplt 0x101000 : { *(.iplt) }57}58abs = 8;59