|
9 | 9 | # RUN: llvm-mc -filetype=obj -triple=aarch64 ok.s -o ok.o
|
10 | 10 |
|
11 | 11 | # RUN: ld.lld ok.o a.so -pie -o ok1
|
12 |
| -# RUN: llvm-readelf -r -S -x .got ok1 | FileCheck %s --check-prefix=EXTERNAL |
| 12 | +# RUN: llvm-readelf -r -S -x .got ok1 | FileCheck %s --check-prefix=OK1 |
13 | 13 |
|
14 | 14 | # RUN: ld.lld ok.o a.o -pie -o ok2
|
15 |
| -# RUN: llvm-readelf -r -S -x .got -s ok2 | FileCheck %s --check-prefix=LOCAL |
| 15 | +# RUN: llvm-readelf -r -S -x .got -s ok2 | FileCheck %s --check-prefix=OK2 |
16 | 16 |
|
17 |
| -# EXTERNAL: Offset Info Type Symbol's Value Symbol's Name + Addend |
18 |
| -# EXTERNAL-NEXT: 0000000000020380 0000000100000412 R_AARCH64_AUTH_GLOB_DAT 0000000000000000 bar + 0 |
19 |
| -# EXTERNAL-NEXT: 0000000000020388 0000000200000412 R_AARCH64_AUTH_GLOB_DAT 0000000000000000 zed + 0 |
| 17 | +# OK1: Offset Info Type Symbol's Value Symbol's Name + Addend |
| 18 | +# OK1-NEXT: 0000000000020380 0000000100000412 R_AARCH64_AUTH_GLOB_DAT 0000000000000000 bar + 0 |
| 19 | +# OK1-NEXT: 0000000000020388 0000000200000412 R_AARCH64_AUTH_GLOB_DAT 0000000000000000 zed + 0 |
20 | 20 |
|
21 | 21 | ## Symbol's values for bar and zed are equal since they contain no content (see Inputs/shared.s)
|
22 |
| -# LOCAL: Offset Info Type Symbol's Value Symbol's Name + Addend |
23 |
| -# LOCAL-NEXT: 0000000000020320 0000000000000411 R_AARCH64_AUTH_RELATIVE 10260 |
24 |
| -# LOCAL-NEXT: 0000000000020328 0000000000000411 R_AARCH64_AUTH_RELATIVE 10260 |
| 22 | +# OK2: Offset Info Type Symbol's Value Symbol's Name + Addend |
| 23 | +# OK2-NEXT: 0000000000020320 0000000000000411 R_AARCH64_AUTH_RELATIVE 10260 |
| 24 | +# OK2-NEXT: 0000000000020328 0000000000000411 R_AARCH64_AUTH_RELATIVE 10260 |
25 | 25 |
|
26 |
| -# EXTERNAL: Hex dump of section '.got': |
27 |
| -# EXTERNAL-NEXT: 0x00020380 00000000 00000080 00000000 000000a0 |
| 26 | +# OK1: Hex dump of section '.got': |
| 27 | +# OK1-NEXT: 0x00020380 00000000 00000080 00000000 000000a0 |
28 | 28 | ## ^^
|
29 | 29 | ## 0b10000000 bit 63 address diversity = true, bits 61..60 key = IA
|
30 | 30 | ## ^^
|
31 | 31 | ## 0b10100000 bit 63 address diversity = true, bits 61..60 key = DA
|
32 | 32 |
|
33 |
| -# LOCAL: Symbol table '.symtab' contains {{.*}} entries: |
34 |
| -# LOCAL: Num: Value Size Type Bind Vis Ndx Name |
35 |
| -# LOCAL: 0000000000010260 0 FUNC GLOBAL DEFAULT 6 bar |
36 |
| -# LOCAL: 0000000000010260 0 NOTYPE GLOBAL DEFAULT 6 zed |
| 33 | +# OK2: Symbol table '.symtab' contains {{.*}} entries: |
| 34 | +# OK2: Num: Value Size Type Bind Vis Ndx Name |
| 35 | +# OK2: 0000000000010260 0 FUNC GLOBAL DEFAULT 6 bar |
| 36 | +# OK2: 0000000000010260 0 NOTYPE GLOBAL DEFAULT 6 zed |
37 | 37 |
|
38 |
| -# LOCAL: Hex dump of section '.got': |
39 |
| -# LOCAL-NEXT: 0x00020320 00000000 00000080 00000000 000000a0 |
| 38 | +# OK2: Hex dump of section '.got': |
| 39 | +# OK2-NEXT: 0x00020320 00000000 00000080 00000000 000000a0 |
40 | 40 | ## ^^
|
41 | 41 | ## 0b10000000 bit 63 address diversity = true, bits 61..60 key = IA
|
42 | 42 | ## ^^
|
43 | 43 | ## 0b10100000 bit 63 address diversity = true, bits 61..60 key = DA
|
44 | 44 |
|
45 |
| -# RUN: llvm-objdump -d ok1 | FileCheck %s --check-prefix=EXTERNAL-ASM |
46 |
| - |
47 |
| -# EXTERNAL-ASM: <_start>: |
48 |
| -# EXTERNAL-ASM-NEXT: adrp x0, 0x20000 |
49 |
| -# EXTERNAL-ASM-NEXT: ldr x0, [x0, #0x380] |
50 |
| -# EXTERNAL-ASM-NEXT: adrp x1, 0x20000 |
51 |
| -# EXTERNAL-ASM-NEXT: add x1, x1, #0x380 |
52 |
| -# EXTERNAL-ASM-NEXT: adrp x0, 0x20000 |
53 |
| -# EXTERNAL-ASM-NEXT: ldr x0, [x0, #0x388] |
54 |
| -# EXTERNAL-ASM-NEXT: adrp x1, 0x20000 |
55 |
| -# EXTERNAL-ASM-NEXT: add x1, x1, #0x388 |
56 |
| - |
57 |
| -# RUN: llvm-objdump -d ok2 | FileCheck %s --check-prefix=LOCAL-ASM |
58 |
| - |
59 |
| -# LOCAL-ASM: <_start>: |
60 |
| -# LOCAL-ASM-NEXT: adrp x0, 0x20000 |
61 |
| -# LOCAL-ASM-NEXT: ldr x0, [x0, #0x320] |
62 |
| -# LOCAL-ASM-NEXT: adrp x1, 0x20000 |
63 |
| -# LOCAL-ASM-NEXT: add x1, x1, #0x320 |
64 |
| -# LOCAL-ASM-NEXT: adrp x0, 0x20000 |
65 |
| -# LOCAL-ASM-NEXT: ldr x0, [x0, #0x328] |
66 |
| -# LOCAL-ASM-NEXT: adrp x1, 0x20000 |
67 |
| -# LOCAL-ASM-NEXT: add x1, x1, #0x328 |
| 45 | +# RUN: llvm-objdump -d ok1 | FileCheck %s --check-prefix=OK1-ASM |
| 46 | + |
| 47 | +# OK1-ASM: <_start>: |
| 48 | +# OK1-ASM-NEXT: adrp x0, 0x20000 |
| 49 | +# OK1-ASM-NEXT: ldr x0, [x0, #0x380] |
| 50 | +# OK1-ASM-NEXT: adrp x1, 0x20000 |
| 51 | +# OK1-ASM-NEXT: add x1, x1, #0x380 |
| 52 | +# OK1-ASM-NEXT: adrp x0, 0x20000 |
| 53 | +# OK1-ASM-NEXT: ldr x0, [x0, #0x388] |
| 54 | +# OK1-ASM-NEXT: adrp x1, 0x20000 |
| 55 | +# OK1-ASM-NEXT: add x1, x1, #0x388 |
| 56 | + |
| 57 | +# RUN: llvm-objdump -d ok2 | FileCheck %s --check-prefix=OK2-ASM |
| 58 | + |
| 59 | +# OK2-ASM: <_start>: |
| 60 | +# OK2-ASM-NEXT: adrp x0, 0x20000 |
| 61 | +# OK2-ASM-NEXT: ldr x0, [x0, #0x320] |
| 62 | +# OK2-ASM-NEXT: adrp x1, 0x20000 |
| 63 | +# OK2-ASM-NEXT: add x1, x1, #0x320 |
| 64 | +# OK2-ASM-NEXT: adrp x0, 0x20000 |
| 65 | +# OK2-ASM-NEXT: ldr x0, [x0, #0x328] |
| 66 | +# OK2-ASM-NEXT: adrp x1, 0x20000 |
| 67 | +# OK2-ASM-NEXT: add x1, x1, #0x328 |
68 | 68 |
|
69 | 69 | .globl _start
|
70 | 70 | _start:
|
|
0 commit comments