diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2012-12-22 11:46:17 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2012-12-22 11:46:17 +0000 |
commit | 241fc6b00ac46756e8dc9056e37b8e01910dbef7 (patch) | |
tree | 7817125b4dffd6617ebd661748c55f9ad67571f2 /libexec | |
parent | fe58d0b6dd140154e5136a5265b7144fa81cb112 (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')
-rw-r--r-- | libexec/ld.so/arm/ldasm.S | 6 |
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) |