Index: uspace/lib/c/arch/ia64/src/fibril.S
===================================================================
--- uspace/lib/c/arch/ia64/src/fibril.S	(revision a35b458e9db1ca95e679799dc7c1b12c83359ca3)
+++ uspace/lib/c/arch/ia64/src/fibril.S	(revision a35a3d819d4e2e4e35964eea617087b5c6431b02)
@@ -32,5 +32,5 @@
 .text
 
-FUNCTION_BEGIN(context_save)
+FUNCTION_BEGIN(__setjmp)
 	alloc loc0 = ar.pfs, 1, 49, 0, 0
 	mov loc1 = ar.unat ;;
@@ -178,10 +178,10 @@
 	mov ar.unat = loc1
 
-	add r8 = r0, r0, 1 	/* context_save returns 1 */
+	mov r8 = 0 	/* __setjmp returns 0 */
 	br.ret.sptk.many b0
-FUNCTION_END(context_save)
-
-FUNCTION_BEGIN(context_restore)
-	alloc loc0 = ar.pfs, 1, 50, 0, 0	;;
+FUNCTION_END(__setjmp)
+
+FUNCTION_BEGIN(__longjmp)
+	alloc loc0 = ar.pfs, 2, 51, 0, 0	;;
 
 	add loc9 = CONTEXT_OFFSET_AR_PFS, in0
@@ -230,5 +230,6 @@
 	add loc47 = CONTEXT_OFFSET_F29, in0
 	add loc48 = CONTEXT_OFFSET_F30, in0
-	add loc49 = CONTEXT_OFFSET_F31, in0 ;;
+	add loc49 = CONTEXT_OFFSET_F31, in0
+	mov loc50 = in1 ;;
 
 	ld8 loc0 = [loc9]	/* load ar.pfs */
@@ -335,5 +336,5 @@
 	mov ar.unat = loc1
 
-	mov r8 = r0			/* context_restore returns 0 */
+	mov r8 = loc50			/* __longjmp returns second argument */
 	br.ret.sptk.many b0
-FUNCTION_END(context_restore)
+FUNCTION_END(__longjmp)
