summaryrefslogtreecommitdiff
path: root/libexec/ld.so/mips64
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/ld.so/mips64')
-rw-r--r--libexec/ld.so/mips64/ldasm.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/libexec/ld.so/mips64/ldasm.S b/libexec/ld.so/mips64/ldasm.S
index 2d7c19c28f5..7a73bc6a9c8 100644
--- a/libexec/ld.so/mips64/ldasm.S
+++ b/libexec/ld.so/mips64/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.8 2013/01/14 05:24:07 miod Exp $ */
+/* $OpenBSD: ldasm.S,v 1.9 2014/01/18 09:08:42 kettenis Exp $ */
/*
* Copyright (c) 1998-2002 Opsycon AB, Sweden.
@@ -66,11 +66,12 @@ LEAF(_dl_start, FRAMESZ) /* Not really LEAF, but we simplify */
move a2, s0 # Load offset
jal _dl_boot # Go do the linking.
+ move t9, v0 # Entry address from _dl_boot.
+ LA v0, _dl_dtors # cleanup
+
RESTORE_GP64
PTR_ADDU sp, FRAMESZ # Restore stack pointer.
- move t9, v0 # Entry address from _dl_boot.
move ra, zero # Mark last stack frame.
- move v0, zero # cleanup
j t9 # Go execute the 'real' program.
END(_dl_start)