Index: uspace/lib/c/arch/sparc32/include/libarch/fibril.h
===================================================================
--- uspace/lib/c/arch/sparc32/include/libarch/fibril.h	(revision bf677f61602c7e4b3c7a120fa84b7c59bef4627b)
+++ uspace/lib/c/arch/sparc32/include/libarch/fibril.h	(revision a7372ccfb3f35719937a70cfc0945a30d9a889a4)
@@ -46,6 +46,6 @@
 		(c)->pc = ((uintptr_t) _pc) - 8; \
 		(c)->sp = ((uintptr_t) stack) + ALIGN_UP((size), \
-		    STACK_ALIGNMENT) - (STACK_BIAS + SP_DELTA); \
-		(c)->fp = -STACK_BIAS; \
+		    STACK_ALIGNMENT) - (SP_DELTA); \
+		(c)->fp = 0; \
 		(c)->tp = (uint32_t) ptls; \
 	} while (0)
@@ -58,26 +58,26 @@
 	uintptr_t sp;		/* %o6 */
 	uintptr_t pc;		/* %o7 */
-	uint64_t i0;
-	uint64_t i1;
-	uint64_t i2;
-	uint64_t i3;
-	uint64_t i4;
-	uint64_t i5;
+	uint32_t i0;
+	uint32_t i1;
+	uint32_t i2;
+	uint32_t i3;
+	uint32_t i4;
+	uint32_t i5;
 	uintptr_t fp;		/* %i6 */
 	uintptr_t i7;
-	uint64_t l0;
-	uint64_t l1;
-	uint64_t l2;
-	uint64_t l3;
-	uint64_t l4;
-	uint64_t l5;
-	uint64_t l6;
-	uint64_t l7;
-	uint64_t tp;		/* %g7 */
+	uint32_t l0;
+	uint32_t l1;
+	uint32_t l2;
+	uint32_t l3;
+	uint32_t l4;
+	uint32_t l5;
+	uint32_t l6;
+	uint32_t l7;
+	uint32_t tp;		/* %g7 */
 } context_t;
 
 static inline uintptr_t context_get_fp(context_t *ctx)
 {
-	return ctx->sp + STACK_BIAS;
+	return ctx->sp;
 }
 
Index: uspace/lib/c/arch/sparc32/include/libarch/stack.h
===================================================================
--- uspace/lib/c/arch/sparc32/include/libarch/stack.h	(revision bf677f61602c7e4b3c7a120fa84b7c59bef4627b)
+++ uspace/lib/c/arch/sparc32/include/libarch/stack.h	(revision a7372ccfb3f35719937a70cfc0945a30d9a889a4)
@@ -39,5 +39,5 @@
 
 /** According to SPARC Compliance Definition, every stack frame is 16-byte aligned. */
-#define STACK_ALIGNMENT			16
+#define STACK_ALIGNMENT			8
 
 /**
@@ -51,9 +51,4 @@
 #define STACK_ARG_SAVE_AREA_SIZE		(6 * STACK_ITEM_SIZE)
 
-/**
- * By convention, the actual top of the stack is %sp + STACK_BIAS.
- */
-#define STACK_BIAS            2047
-
 #endif
 
Index: uspace/lib/c/arch/sparc32/src/stacktrace.c
===================================================================
--- uspace/lib/c/arch/sparc32/src/stacktrace.c	(revision bf677f61602c7e4b3c7a120fa84b7c59bef4627b)
+++ uspace/lib/c/arch/sparc32/src/stacktrace.c	(revision a7372ccfb3f35719937a70cfc0945a30d9a889a4)
@@ -57,5 +57,5 @@
 	rc = (*st->read_uintptr)(st->op_arg, fp + FRAME_OFFSET_FP_PREV, &bprev);
 	if (rc == EOK)
-		*prev = bprev + STACK_BIAS;
+		*prev = bprev;
 	return rc;
 }
Index: uspace/lib/c/arch/sparc32/src/stacktrace_asm.S
===================================================================
--- uspace/lib/c/arch/sparc32/src/stacktrace_asm.S	(revision bf677f61602c7e4b3c7a120fa84b7c59bef4627b)
+++ uspace/lib/c/arch/sparc32/src/stacktrace_asm.S	(revision a7372ccfb3f35719937a70cfc0945a30d9a889a4)
@@ -45,5 +45,5 @@
 	# Add the stack bias to %sp to get the actual address.
 	retl
-	add %sp, STACK_BIAS, %o0
+	mov %sp,  %o0
 
 stacktrace_pc_get:
