Index: uspace/lib/c/arch/sparc64/src/thread_entry.S
===================================================================
--- uspace/lib/c/arch/sparc64/src/thread_entry.S	(revision a949f4ae07227222cc7ff520baf64ebe6ef3d307)
+++ uspace/lib/c/arch/sparc64/src/thread_entry.S	(revision 09f41d3d60ae4abb40aff09edace1ef60c15b484)
@@ -35,4 +35,6 @@
 #
 SYMBOL(__thread_entry)
+	add %sp, 0x7ff, %g1
+
 	#
 	# Create the first stack frame.
@@ -43,9 +45,12 @@
 
 	#
-	# Propagate the input arguments to the new window.
+	# Load libc entry point address and argument from stack
 	#
+	ldn [%g1 - 8], %o0
+	ldn [%g1 - 16], %g1
 
-	call __thread_main		! %o0 contains address of uarg
-	mov %i0, %o0
+	jmpl %g1, %r0
+	# Wipe link register
+	xor %o7, %o7, %o7
 
 	! not reached
