Page MenuHomeFreeBSD

D40843.diff
No OneTemporary

D40843.diff

diff --git a/libexec/rtld-elf/aarch64/rtld_start.S b/libexec/rtld-elf/aarch64/rtld_start.S
--- a/libexec/rtld-elf/aarch64/rtld_start.S
+++ b/libexec/rtld-elf/aarch64/rtld_start.S
@@ -32,7 +32,6 @@
ENTRY(.rtld_start)
mov x19, x0 /* Put ps_strings in a callee-saved register */
- mov x20, sp /* And the stack pointer */
sub sp, sp, #16 /* Make room for obj_main & exit proc */
@@ -40,11 +39,9 @@
add x2, x1, #8 /* obj_main */
bl _rtld /* Call the loader */
mov x8, x0 /* Backup the entry point */
+ ldp x2, x1, [sp], #16 /* Load cleanup, obj_main */
- ldr x2, [sp] /* Load cleanup */
- ldr x1, [sp, #8] /* Load obj_main */
mov x0, x19 /* Restore ps_strings */
- mov sp, x20 /* Restore the stack pointer */
br x8 /* Jump to the entry point */
END(.rtld_start)

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 5, 6:03 PM (21 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16478443
Default Alt Text
D40843.diff (791 B)

Event Timeline