aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2015-06-23 10:32:26 +0000
committerAndrew Turner <andrew@FreeBSD.org>2015-06-23 10:32:26 +0000
commitff8a3cb6e285c4a3a0dc0674bb828cc5b0c34833 (patch)
treece42f248a21206a8b91b8adfb7fb70b8324ab9b3
parent71d827559bbfc4d8a05bdb120603976953dd082a (diff)
Notes
-rw-r--r--libexec/rtld-elf/aarch64/rtld_start.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/libexec/rtld-elf/aarch64/rtld_start.S b/libexec/rtld-elf/aarch64/rtld_start.S
index e34b172a4ab1a..a5e0df59fd749 100644
--- a/libexec/rtld-elf/aarch64/rtld_start.S
+++ b/libexec/rtld-elf/aarch64/rtld_start.S
@@ -68,6 +68,7 @@ ENTRY(_rtld_bind_start)
stp x2, x3, [sp, #-16]!
stp x4, x5, [sp, #-16]!
stp x6, x7, [sp, #-16]!
+ stp x8, xzr, [sp, #-16]!
/* Calculate reloff */
ldr x2, [x17, #0] /* Get the address of the entry */
@@ -84,12 +85,13 @@ ENTRY(_rtld_bind_start)
bl _rtld_bind
/* Restore the registers saved by the plt code */
- ldp xzr, x30, [sp, #(4 * 16)]
+ ldp xzr, x30, [sp, #(5 * 16)]
/* Backup the address to branch to */
mov x16, x0
/* restore the arguments */
+ ldp x8, xzr, [sp], #16
ldp x6, x7, [sp], #16
ldp x4, x5, [sp], #16
ldp x2, x3, [sp], #16