summaryrefslogtreecommitdiff
path: root/test/ELF/plt-aarch64.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/ELF/plt-aarch64.s')
-rw-r--r--test/ELF/plt-aarch64.s82
1 files changed, 46 insertions, 36 deletions
diff --git a/test/ELF/plt-aarch64.s b/test/ELF/plt-aarch64.s
index 8f637bf593f42..f9c53a46f3eba 100644
--- a/test/ELF/plt-aarch64.s
+++ b/test/ELF/plt-aarch64.s
@@ -85,6 +85,8 @@
// foo@plt
// Page(0x30018) - Page(0x10030) = 0x20000 - 0x10000 = 0x10000 = 65536
+// DISASMDSO-EMPTY:
+// DISASMDSO-NEXT: foo@plt:
// DISASMDSO-NEXT: 10030: 90 00 00 90 adrp x16, #65536
// 0x3018 & 0xFFF = 0x18 = 24
// DISASMDSO-NEXT: 10034: 11 0e 40 f9 ldr x17, [x16, #24]
@@ -93,6 +95,8 @@
// bar@plt
// Page(0x30020) - Page(0x10040) = 0x20000 - 0x10000 = 0x10000 = 65536
+// DISASMDSO-EMPTY:
+// DISASMDSO-NEXT: bar@plt:
// DISASMDSO-NEXT: 10040: 90 00 00 90 adrp x16, #65536
// 0x3020 & 0xFFF = 0x20 = 32
// DISASMDSO-NEXT: 10044: 11 12 40 f9 ldr x17, [x16, #32]
@@ -101,6 +105,8 @@
// weak@plt
// Page(0x30028) - Page(0x10050) = 0x20000 - 0x10000 = 0x10000 = 65536
+// DISASMDSO-EMPTY:
+// DISASMDSO-NEXT: weak@plt:
// DISASMDSO-NEXT: 10050: 90 00 00 90 adrp x16, #65536
// 0x3028 & 0xFFF = 0x28 = 40
// DISASMDSO-NEXT: 10054: 11 16 40 f9 ldr x17, [x16, #40]
@@ -113,7 +119,7 @@
// CHECKEXE-NEXT: SHF_ALLOC
// CHECKEXE-NEXT: SHF_EXECINSTR
// CHECKEXE-NEXT: ]
-// CHECKEXE-NEXT: Address: 0x20010
+// CHECKEXE-NEXT: Address: 0x210010
// CHECKEXE-NEXT: Offset:
// CHECKEXE-NEXT: Size: 64
// CHECKEXE-NEXT: Link:
@@ -126,7 +132,7 @@
// CHECKEXE-NEXT: SHF_ALLOC
// CHECKEXE-NEXT: SHF_WRITE
// CHECKEXE-NEXT: ]
-// CHECKEXE-NEXT: Address: 0x30000
+// CHECKEXE-NEXT: Address: 0x220000
// CHECKEXE-NEXT: Offset:
// CHECKEXE-NEXT: Size: 40
// CHECKEXE-NEXT: Link:
@@ -136,59 +142,63 @@
// CHECKEXE: Relocations [
// CHECKEXE-NEXT: Section ({{.*}}) .rela.plt {
-// &(.got.plt[3]) = 0x30000 + 3 * 8 = 0x30018
-// CHECKEXE-NEXT: 0x30018 R_AARCH64_JUMP_SLOT bar 0x0
+// &(.got.plt[3]) = 0x220000 + 3 * 8 = 0x220018
+// CHECKEXE-NEXT: 0x220018 R_AARCH64_JUMP_SLOT bar 0x0
-// &(.got.plt[4]) = 0x30000 + 4 * 8 = 0x30020
-// CHECKEXE-NEXT: 0x30020 R_AARCH64_JUMP_SLOT weak 0x0
+// &(.got.plt[4]) = 0x220000 + 4 * 8 = 0x220020
+// CHECKEXE-NEXT: 0x220020 R_AARCH64_JUMP_SLOT weak 0x0
// CHECKEXE-NEXT: }
// CHECKEXE-NEXT: ]
// DUMPEXE: Contents of section .got.plt:
// .got.plt[0..2] = 0 (reserved)
// .got.plt[3..4] = .plt = 0x40010
-// DUMPEXE-NEXT: 30000 00000000 00000000 00000000 00000000 ................
-// DUMPEXE-NEXT: 30010 00000000 00000000 10000200 00000000 ................
-// DUMPEXE-NEXT: 30020 10000200 00000000 ........
+// DUMPEXE-NEXT: 220000 00000000 00000000 00000000 00000000
+// DUMPEXE-NEXT: 220010 00000000 00000000 10002100 00000000
+// DUMPEXE-NEXT: 220020 10002100 00000000
// DISASMEXE: _start:
-// 0x2000c - 0x20000 = 0xc = 12
-// DISASMEXE-NEXT: 20000: 03 00 00 14 b #12
-// 0x20030 - 0x20004 = 0x2c = 44
-// DISASMEXE-NEXT: 20004: 0b 00 00 14 b #44
-// 0x20040 - 0x20008 = 0x38 = 56
-// DISASMEXE-NEXT: 20008: 0e 00 00 14 b #56
+// 0x21000c - 0x210000 = 0xc = 12
+// DISASMEXE-NEXT: 210000: 03 00 00 14 b #12
+// 0x210030 - 0x210004 = 0x2c = 44
+// DISASMEXE-NEXT: 210004: 0b 00 00 14 b #44
+// 0x210040 - 0x210008 = 0x38 = 56
+// DISASMEXE-NEXT: 210008: 0e 00 00 14 b #56
// DISASMEXE: foo:
-// DISASMEXE-NEXT: 2000c: 1f 20 03 d5 nop
+// DISASMEXE-NEXT: 21000c: 1f 20 03 d5 nop
// DISASMEXE: Disassembly of section .plt:
// DISASMEXE-NEXT: .plt:
-// DISASMEXE-NEXT: 20010: f0 7b bf a9 stp x16, x30, [sp, #-16]!
-// &(.got.plt[2]) = 0x300B0 + 2 * 8 = 0x300C0
-// Page(0x30010) - Page(0x20014) = 0x30000 - 0x20000 = 0x10000 = 65536
-// DISASMEXE-NEXT: 20014: 90 00 00 90 adrp x16, #65536
+// DISASMEXE-NEXT: 210010: f0 7b bf a9 stp x16, x30, [sp, #-16]!
+// &(.got.plt[2]) = 0x2200B0 + 2 * 8 = 0x2200C0
+// Page(0x220010) - Page(0x210014) = 0x220000 - 0x210000 = 0x10000 = 65536
+// DISASMEXE-NEXT: 210014: 90 00 00 90 adrp x16, #65536
// 0x120c0 & 0xFFF = 0xC0 = 192
-// DISASMEXE-NEXT: 20018: 11 0a 40 f9 ldr x17, [x16, #16]
-// DISASMEXE-NEXT: 2001c: 10 42 00 91 add x16, x16, #16
-// DISASMEXE-NEXT: 20020: 20 02 1f d6 br x17
-// DISASMEXE-NEXT: 20024: 1f 20 03 d5 nop
-// DISASMEXE-NEXT: 20028: 1f 20 03 d5 nop
-// DISASMEXE-NEXT: 2002c: 1f 20 03 d5 nop
+// DISASMEXE-NEXT: 210018: 11 0a 40 f9 ldr x17, [x16, #16]
+// DISASMEXE-NEXT: 21001c: 10 42 00 91 add x16, x16, #16
+// DISASMEXE-NEXT: 210020: 20 02 1f d6 br x17
+// DISASMEXE-NEXT: 210024: 1f 20 03 d5 nop
+// DISASMEXE-NEXT: 210028: 1f 20 03 d5 nop
+// DISASMEXE-NEXT: 21002c: 1f 20 03 d5 nop
// bar@plt
-// Page(0x40018) - Page(0x20030) = 0x30000 - 0x20000 = 0x10000 = 65536
-// DISASMEXE-NEXT: 20030: 90 00 00 90 adrp x16, #65536
-// DISASMEXE-NEXT: 20034: 11 0e 40 f9 ldr x17, [x16, #24]
-// DISASMEXE-NEXT: 20038: 10 62 00 91 add x16, x16, #24
-// DISASMEXE-NEXT: 2003c: 20 02 1f d6 br x17
+// Page(0x40018) - Page(0x210030) = 0x220000 - 0x210000 = 0x10000 = 65536
+// DISASMEXE-EMPTY:
+// DISASMEXE-NEXT: bar@plt:
+// DISASMEXE-NEXT: 210030: 90 00 00 90 adrp x16, #65536
+// DISASMEXE-NEXT: 210034: 11 0e 40 f9 ldr x17, [x16, #24]
+// DISASMEXE-NEXT: 210038: 10 62 00 91 add x16, x16, #24
+// DISASMEXE-NEXT: 21003c: 20 02 1f d6 br x17
// weak@plt
-// Page(0x40020) - Page(0x20040) = 0x30000 - 0x20000 = 0x10000 = 65536
-// DISASMEXE-NEXT: 20040: 90 00 00 90 adrp x16, #65536
-// DISASMEXE-NEXT: 20044: 11 12 40 f9 ldr x17, [x16, #32]
-// DISASMEXE-NEXT: 20048: 10 82 00 91 add x16, x16, #32
-// DISASMEXE-NEXT: 2004c: 20 02 1f d6 br x17
+// Page(0x40020) - Page(0x210040) = 0x220000 - 0x210000 = 0x10000 = 65536
+// DISASMEXE-EMPTY:
+// DISASMEXE-NEXT: weak@plt:
+// DISASMEXE-NEXT: 210040: 90 00 00 90 adrp x16, #65536
+// DISASMEXE-NEXT: 210044: 11 12 40 f9 ldr x17, [x16, #32]
+// DISASMEXE-NEXT: 210048: 10 82 00 91 add x16, x16, #32
+// DISASMEXE-NEXT: 21004c: 20 02 1f d6 br x17
.global _start,foo,bar
.weak weak