Index: uspace/lib/libc/arch/sparc64/src/entry.s
===================================================================
--- uspace/lib/libc/arch/sparc64/src/entry.s	(revision e84037f47f9b0d63229d937ebc01279fa0fe7708)
+++ uspace/lib/libc/arch/sparc64/src/entry.s	(revision 40746016dd60dc0278f89c5e937d2ce9b7136365)
@@ -39,4 +39,9 @@
 #
 __entry:
+	#
+	# Stop stack traces in this function.
+	#
+	clr %i7
+
 	# Pass pcb_ptr as the first argument to __main()
 	mov %o1, %o0
Index: uspace/lib/libc/arch/sparc64/src/stacktrace.S
===================================================================
--- uspace/lib/libc/arch/sparc64/src/stacktrace.S	(revision e84037f47f9b0d63229d937ebc01279fa0fe7708)
+++ uspace/lib/libc/arch/sparc64/src/stacktrace.S	(revision 40746016dd60dc0278f89c5e937d2ce9b7136365)
@@ -51,7 +51,7 @@
 
 frame_pointer_validate:
-	# Just return the frame address.
-	retl
-	nop
+	#
+	# Fall through - we detect the last frame in the trace by zero %i7.
+	#
 
 return_address_get:
Index: uspace/lib/libc/arch/sparc64/src/thread_entry.s
===================================================================
--- uspace/lib/libc/arch/sparc64/src/thread_entry.s	(revision e84037f47f9b0d63229d937ebc01279fa0fe7708)
+++ uspace/lib/libc/arch/sparc64/src/thread_entry.s	(revision 40746016dd60dc0278f89c5e937d2ce9b7136365)
@@ -35,4 +35,9 @@
 #
 __thread_entry:
+	#
+	# Stop stack traces in this function.
+	#
+	clr %i7
+
 	sethi %hi(_gp), %l7
 	call __thread_main		! %o0 contains address of uarg
