summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.so/sparc64/ldasm.S14
1 files changed, 6 insertions, 8 deletions
diff --git a/libexec/ld.so/sparc64/ldasm.S b/libexec/ld.so/sparc64/ldasm.S
index f86f4b2a312..ac4b903ceb5 100644
--- a/libexec/ld.so/sparc64/ldasm.S
+++ b/libexec/ld.so/sparc64/ldasm.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldasm.S,v 1.2 2001/09/23 00:14:56 drahn Exp $ */
+/* $OpenBSD: ldasm.S,v 1.3 2001/09/24 16:25:00 art Exp $ */
/* $NetBSD: rtld_start.S,v 1.5 2001/08/14 22:17:48 eeh Exp $ */
/*
@@ -109,14 +109,12 @@ _dl_start:
addx %l0, 16, %o1 ! envp = %l0 + 16 +
addx %o1, %l3, %o1 ! + argc
- ! XXX loff ???
+ subx %l0, ARGC, %o4 ! dl_data = sp
- mov %o1, %o4 ! %o3 = my_envp
-1:
- ldx [%o4 + 0], %l2 ! while ((*my_envp)
- subxcc %l2, %g0, %g0 ! != NULL)
- bnz 1b ! my_envp++;
- addx %o4, 8, %o4 ! %o4 == dynp
+ mov 0, %o3 ! dynp = 0
+
+ addx %o4, (7*8), %l2
+ ldx [%l2], %o2 ! loff = dl_data[AUX_base];
call _dl_boot ! _dl_boot(argv,envp,loff,dynp,dl_data)
nop