xref: /llvm-project/lld/test/ELF/systemz-reloc-disp12.s (revision fe3406e349884e4ef61480dd0607f1e237102c74)
1# REQUIRES: systemz
2# RUN: llvm-mc -filetype=obj -triple=s390x -defsym DISP=291 %s -o %t1.o
3# RUN: llvm-mc -filetype=obj -triple=s390x -defsym DISP=4095 %s -o %t2.o
4# RUN: llvm-mc -filetype=obj -triple=s390x -defsym DISP=4096 %s -o %t3.o
5
6# RUN: ld.lld --section-start=.text=0x0 %t1.o -o %t1out
7# RUN: ld.lld --section-start=.text=0x0 %t2.o -o %t2out
8# RUN: not ld.lld --section-start=.text=0x0 %t3.o -o /dev/null 2>&1 | FileCheck %s --check-prefix RANGE
9
10# RANGE: relocation R_390_12 out of range: 4096 is not in [0, 4095]
11
12# RUN: llvm-readelf --hex-dump=.text %t1out | FileCheck %s -DINSN=58678123 --check-prefix DUMP
13# RUN: llvm-readelf --hex-dump=.text %t2out | FileCheck %s -DINSN=58678fff --check-prefix DUMP
14
15# DUMP:  0x00000000 [[INSN]]
16
17.text
18.globl _start
19_start:
20    .reloc .+2, R_390_12, DISP
21    l %r6, 0(%r7,%r8)
22