summaryrefslogtreecommitdiff
path: root/libexec/ld.so/arm/ldasm.S
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2012-12-22 11:46:17 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2012-12-22 11:46:17 +0000
commit241fc6b00ac46756e8dc9056e37b8e01910dbef7 (patch)
tree7817125b4dffd6617ebd661748c55f9ad67571f2 /libexec/ld.so/arm/ldasm.S
parentfe58d0b6dd140154e5136a5265b7144fa81cb112 (diff)
Zero %r0 before transferring control to the main program, to indicate that
the main program should not register a cleanup handler with atexit(3). This will allow us to add the cleanup handler registration code to crt0.c and have ld.so pass its cleanup handler to the main program in the future. tested by tobiasu@ ok kurt@
Diffstat (limited to 'libexec/ld.so/arm/ldasm.S')
-rw-r--r--libexec/ld.so/arm/ldasm.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/libexec/ld.so/arm/ldasm.S b/libexec/ld.so/arm/ldasm.S
index e80df41bf6e..a6729bbcd97 100644
--- a/libexec/ld.so/arm/ldasm.S
+++ b/libexec/ld.so/arm/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.7 2012/10/24 03:26:56 guenther Exp $ */
+/* $OpenBSD: ldasm.S,v 1.8 2012/12/22 11:46:16 kettenis Exp $ */
/*
* Copyright (c) 2004 Dale Rahn
@@ -55,7 +55,9 @@ ENTRY(_dl_start)
mov fp, #0
mov lr, r6
- mov pc, r0
+ mov r1, r0
+ mov r0, #0
+ mov pc, r1
ENTRY(_dl_bind_start)