1# REQUIRES: systemz 2# RUN: llvm-mc -filetype=obj -triple=s390x-unknown-linux %s -o %t.o 3# RUN: ld.lld -shared %t.o -soname=t.so -o %t.so 4 5# RUN: llvm-readelf -S -s -x .data %t.so | FileCheck %s 6 7# CHECK: Section Headers: 8# CHECK: .plt PROGBITS 0000000000001290 9# CHECK: .got PROGBITS 0000000000002390 10 11# CHECK: Symbol table '.symtab' 12# CHECK: 0000000000001288 {{.*}} bar 13 14## Note: foo is the first (and only) PLT entry, which resides at .plt + 32 15## PLTOFF (foo) is (.plt + 32) - .got == 0x12b0 - 0x2390 == 0xffffef20 16## GOTOFF (bar) is bar - .got == 0x1288 - 0x2390 == 0xffffeef8 17# CHECK: Hex dump of section '.data': 18# CHECK-NEXT: eef8ef20 ffffeef8 ffffef20 ffffffff 19# CHECK-NEXT: ffffeef8 ffffffff ffffef20 20 21bar: 22 br %r14 23 24.data 25.reloc ., R_390_GOTOFF16, bar 26.space 2 27.reloc ., R_390_PLTOFF16, foo 28.space 2 29.reloc ., R_390_GOTOFF, bar 30.space 4 31.reloc ., R_390_PLTOFF32, foo 32.space 4 33.reloc ., R_390_GOTOFF64, bar 34.space 8 35.reloc ., R_390_PLTOFF64, foo 36.space 8 37