2 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64
%s
-o
%t.o
3 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64
%S
/Inputs
/abs255.s
-o
%t255.o
4 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64
%S
/Inputs
/abs256.s
-o
%t256.o
5 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64
%S
/Inputs
/abs257.s
-o
%t257.o
6 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64_be
%s
-o
%t.be.o
7 // RUN
: llvm-mc
-filetype
=obj
-triple
=aarch64_be
%S
/Inputs
/abs256.s
-o
%t256.be.o
9 /// Check for overflow with
a R_AACH64_PLT32 relocation.
11 // RUN
: ld.lld
-z max-page-size
=4096 %t.o
%t256.o
-o
%t2
12 // RUN
: llvm-objdump
-s
--section
=.data %t2 | FileCheck %s --check-prefixes=CHECK,LE
13 // RUN
: ld.lld
-z max-page-size
=4096 %t.be.o
%t256.be.o
-o
%t2.
be
14 // RUN
: llvm-objdump
-s
--section
=.data %t2.be | FileCheck %s --check-prefixes=CHECK,BE
16 // CHECK
: Contents of section
.data:
17 /// 202158: S
= 0x100, A = 0x80202057, P
= 0x202158
18 /// S
+ A - P
= 0xffffff7f
19 /// 20215c
: S
= 0x100, A = -0x7fdfdfa4, P
= 0x20215c
20 /// S
+ A - P
= 0x80000000
21 /// 202160: S
= 0x100, A = 0, P
= 0x202160
22 /// S
+ A - P
= 0xffdfdfa0
23 // LE-NEXT
: 202158 ffffff7f
00000080 a0dfdfff
24 // BE-NEXT
: 202158 7fffffff
80000000 ffdfdfa0
26 // RUN
: not ld.lld
-z max-page-size
=4096 %t.o
%t255.o
-o
/dev
/null
2>&1 | FileCheck
%s
--check-prefix
=OVERFLOW1
27 // OVERFLOW1
: relocation R_AARCH64_PLT32 out of range
: -2147483649 is
not in
[-2147483648, 2147483647]; references foo
29 // RUN
: not ld.lld
-z max-page-size
=4096 %t.o
%t257.o
-o
/dev
/null
2>&1 | FileCheck
%s
--check-prefix
=OVERFLOW2
30 // OVERFLOW2
: relocation R_AARCH64_PLT32 out of range
: 2147483648 is
not in
[-2147483648, 2147483647]; references foo
35 .word foo@PLT - . + 2149589079
36 .word foo@PLT - . - 2145378212