diff options
author | Mark Kettenis <kettenis@cvs.openbsd.org> | 2012-10-22 21:15:00 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@cvs.openbsd.org> | 2012-10-22 21:15:00 +0000 |
commit | a645c714fcaf44ff6625e5bccac01fd9268a3e70 (patch) | |
tree | 461fa73bc96c59ec4e147592c801923e62e1d76a | |
parent | f3751d665c56b4637274b6a7098c49e70ff5100d (diff) |
Zero %rdx 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.
ok kurt@
-rw-r--r-- | libexec/ld.so/amd64/ldasm.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/ld.so/amd64/ldasm.S b/libexec/ld.so/amd64/ldasm.S index 0ffe3a600eb..19fd5018fc9 100644 --- a/libexec/ld.so/amd64/ldasm.S +++ b/libexec/ld.so/amd64/ldasm.S @@ -1,4 +1,4 @@ -/* $OpenBSD: ldasm.S,v 1.8 2011/07/23 21:41:19 kettenis Exp $ */ +/* $OpenBSD: ldasm.S,v 1.9 2012/10/22 21:14:59 kettenis Exp $ */ /* * Copyright (c) 2002,2004 Dale Rahn @@ -64,8 +64,8 @@ _dl_start: addq $DL_DATA_SIZE,%rsp # return dl_data # popq %rbx # %rbx = ps_strings - XXXDSR -# popq %rdx # %rdx = cleanup - XXXDSR # popq %rcx # %rcx = obj_main - XXXDSR + movq $0, %rdx # %rdx = cleanup - XXXDSR movq %r12, %rsp jmp *%rax |