]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/ELF/mips-out-of-bounds-call16-reloc.s
Vendor import of lld trunk r338150:
[FreeBSD/FreeBSD.git] / test / ELF / mips-out-of-bounds-call16-reloc.s
1 # REQUIRES: mips
2 # Check that we create an error on an out-of-bounds R_MIPS_CALL_16
3
4 # RUN: llvm-mc -filetype=obj -triple=mips64-unknown-linux %s -o %t1.o
5 # RUN: not ld.lld %t1.o -o /dev/null 2>&1 | FileCheck %s
6
7 # CHECK: relocation R_MIPS_CALL16 out of range: 32768 is not in [-32768, 32767]
8
9 .macro generate_values
10   .irp i, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
11     .irp j, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
12       .irp k, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
13         .irp l, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
14           .text
15           .globl sym_\i\j\k\l
16           sym_\i\j\k\l:
17           nop
18           lw $25,%call16(sym_\i\j\k\l)($28)
19         .endr
20       .endr
21     .endr
22   .endr
23 .endm
24
25 generate_values
26
27 .globl __start
28 __start:
29   nop