brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.9 KiB · b513aa8 Raw
86 lines · plain
1# REQUIRES: riscv2 3# RUN: llvm-mc -filetype=obj -triple=riscv32 %s -o %t.32.o4## rv32 IE5# RUN: ld.lld -shared %t.32.o -o %t.32.so6# RUN: llvm-readobj -r -d %t.32.so | FileCheck --check-prefix=IE32-REL %s7# RUN: llvm-objdump -d --no-show-raw-insn %t.32.so | FileCheck --check-prefixes=IE,IE32 %s8## rv32 IE -> LE9# RUN: ld.lld %t.32.o -o %t.3210# RUN: llvm-readelf -r %t.32 | FileCheck --check-prefix=NOREL %s11# RUN: llvm-readelf -x .got %t.32 | FileCheck --check-prefix=LE32-GOT %s12# RUN: llvm-objdump -d --no-show-raw-insn %t.32 | FileCheck --check-prefixes=LE,LE32 %s13 14# RUN: llvm-mc -filetype=obj -triple=riscv64 %s -o %t.64.o15## rv64 IE16# RUN: ld.lld -shared %t.64.o -o %t.64.so17# RUN: llvm-readobj -r -d %t.64.so | FileCheck --check-prefix=IE64-REL %s18# RUN: llvm-objdump -d --no-show-raw-insn %t.64.so | FileCheck --check-prefixes=IE,IE64 %s19## rv64 IE -> LE20# RUN: ld.lld %t.64.o -o %t.6421# RUN: llvm-readelf -r %t.64 | FileCheck --check-prefix=NOREL %s22# RUN: llvm-readelf -x .got %t.64 | FileCheck --check-prefix=LE64-GOT %s23# RUN: llvm-objdump -d --no-show-raw-insn %t.64 | FileCheck --check-prefixes=LE,LE64 %s24 25# IE32-REL:      FLAGS STATIC_TLS26# IE32-REL:      .rela.dyn {27# IE32-REL-NEXT:   0x221C R_RISCV_TLS_TPREL32 - 0xC28# IE32-REL-NEXT:   0x2218 R_RISCV_TLS_TPREL32 a 0x029# IE32-REL-NEXT: }30 31# IE64-REL:      FLAGS STATIC_TLS32# IE64-REL:      .rela.dyn {33# IE64-REL-NEXT:   0x2378 R_RISCV_TLS_TPREL64 - 0xC34# IE64-REL-NEXT:   0x2370 R_RISCV_TLS_TPREL64 a 0x035# IE64-REL-NEXT: }36 37## rv32: &.got[0] - . = 0x2218 - . = 4096*1+11638## rv64: &.got[0] - . = 0x2378 - . = 4096*1+20839# IE:              auipc a4, 0x140# IE32-NEXT:       lw a4, 0x74(a4)41# IE64-NEXT:       ld a4, 0xd0(a4)42# IE-NEXT:         add a4, a4, tp43## rv32: &.got[1] - . = 0x221c - . = 4096*1+10844## rv64: &.got[1] - . = 0x2378 - . = 4096*1+20445# IE:              auipc a5, 0x146# IE32-NEXT:       lw a5, 0x6c(a5)47# IE64-NEXT:       ld a5, 0xcc(a5)48# IE-NEXT:         add a5, a5, tp49 50# NOREL: no relocations51 52# a@tprel = st_value(a) = 0x853# b@tprel = st_value(a) = 0xc54# LE32-GOT: section '.got':55# LE32-GOT-NEXT: 0x0001212c 00000000 08000000 0c00000056# LE64-GOT: section '.got':57# LE64-GOT-NEXT: 0x000121e0 00000000 00000000 08000000 0000000058# LE64-GOT-NEXT: 0x000121f0 0c000000 0000000059 60## rv32: &.got[0] - . = 0x12130 - 0x11114 = 4096*1+2861## rv64: &.got[0] - . = 0x121e8 - 0x111c8 = 4096*1+3262# LE32:      11114: auipc a4, 0x163# LE32-NEXT:        lw a4, 0x1c(a4)64# LE64:      111c8: auipc a4, 0x165# LE64-NEXT:        ld a4, 0x20(a4)66# LE-NEXT:          add a4, a4, tp67## rv32: &.got[1] - . = 0x12134 - 0x11120 = 4096*1+2068## rv64: &.got[1] - . = 0x121f0 - 0x111d4 = 4096*1+2869# LE32:      11120: auipc a5, 0x170# LE32-NEXT:        lw a5, 0x14(a5)71# LE64:      111d4: auipc a5, 0x172# LE64-NEXT:        ld a5, 0x1c(a5)73# LE-NEXT:          add a5, a5, tp74 75la.tls.ie a4,a76add a4,a4,tp77la.tls.ie a5,b78add a5,a5,tp79 80.section .tbss81.globl a82.zero 883a:84.zero 485b:86