Index: uspace/lib/libc/arch/ia64/include/faddr.h
===================================================================
--- uspace/lib/libc/arch/ia64/include/faddr.h	(revision 0eadd1716168e67af65dece279dfacd29614f633)
+++ uspace/lib/libc/arch/ia64/include/faddr.h	(revision 80ce111b0d6102444ae43ddf0684c88aa8b1f562)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libcia64	
+/** @addtogroup libcia64
  * @{
  */
@@ -38,13 +38,13 @@
 #include <libarch/types.h>
 
-/** 
+/**
  *
  * Calculate absolute address of function
  * referenced by fptr pointer.
  *
- * @param f Function pointer.
+ * @param fptr Function pointer.
  *
  */
-#define FADDR(f)	 (*((uintptr_t *)(f)));
+#define FADDR(fptr)  (((fncptr_t *) (fptr))->fnc)
 
 #endif
Index: uspace/lib/libc/arch/ia64/include/fibril.h
===================================================================
--- uspace/lib/libc/arch/ia64/include/fibril.h	(revision 0eadd1716168e67af65dece279dfacd29614f633)
+++ uspace/lib/libc/arch/ia64/include/fibril.h	(revision 80ce111b0d6102444ae43ddf0684c88aa8b1f562)
@@ -106,25 +106,25 @@
 	uint64_t pr;
 
-	__r128 f2 __attribute__ ((aligned(16)));
-	__r128 f3;
-	__r128 f4;
-	__r128 f5;
+	uint128_t f2 __attribute__ ((aligned(16)));
+	uint128_t f3;
+	uint128_t f4;
+	uint128_t f5;
 
-	__r128 f16;
-	__r128 f17;
-	__r128 f18;
-	__r128 f19;
-	__r128 f20;
-	__r128 f21;
-	__r128 f22;
-	__r128 f23;
-	__r128 f24;
-	__r128 f25;
-	__r128 f26;
-	__r128 f27;
-	__r128 f28;
-	__r128 f29;
-	__r128 f30;
-	__r128 f31;
+	uint128_t f16;
+	uint128_t f17;
+	uint128_t f18;
+	uint128_t f19;
+	uint128_t f20;
+	uint128_t f21;
+	uint128_t f22;
+	uint128_t f23;
+	uint128_t f24;
+	uint128_t f25;
+	uint128_t f26;
+	uint128_t f27;
+	uint128_t f28;
+	uint128_t f29;
+	uint128_t f30;
+	uint128_t f31;
 
 } context_t;
Index: uspace/lib/libc/arch/ia64/include/types.h
===================================================================
--- uspace/lib/libc/arch/ia64/include/types.h	(revision 0eadd1716168e67af65dece279dfacd29614f633)
+++ uspace/lib/libc/arch/ia64/include/types.h	(revision 80ce111b0d6102444ae43ddf0684c88aa8b1f562)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup libcia64	
+/** @addtogroup libcia64
  * @{
  */
@@ -50,4 +50,9 @@
 typedef unsigned long int uint64_t;
 
+typedef struct {
+	uint64_t lo;
+	uint64_t hi;
+} uint128_t;
+
 typedef int64_t ssize_t;
 typedef uint64_t size_t;
@@ -55,13 +60,8 @@
 typedef uint64_t uintptr_t;
 
-typedef unsigned char __r8;                     /* Reserve byte */
-typedef unsigned short __r16;
-typedef unsigned int __r32;
-typedef unsigned long __r64;
-
-typedef struct __r128{
-	__r64 lo;
-	__r64 hi;
-} __r128;
+typedef struct {
+	uintptr_t fnc;
+	uintptr_t gp;
+} __attribute__((may_alias)) fncptr_t;
 
 #endif
