Index: kernel/arch/ia64/include/faddr.h
===================================================================
--- kernel/arch/ia64/include/faddr.h	(revision a71c158ef82122abfeef92f86344709bbad55d17)
+++ kernel/arch/ia64/include/faddr.h	(revision f2f8931581e603728f11bf1b8504ad0b0fdad234)
@@ -27,5 +27,5 @@
  */
 
-/** @addtogroup ia64	
+/** @addtogroup ia64
  * @{
  */
@@ -38,13 +38,13 @@
 #include <arch/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: kernel/arch/ia64/include/types.h
===================================================================
--- kernel/arch/ia64/include/types.h	(revision a71c158ef82122abfeef92f86344709bbad55d17)
+++ kernel/arch/ia64/include/types.h	(revision f2f8931581e603728f11bf1b8504ad0b0fdad234)
@@ -67,5 +67,5 @@
 	unative_t fnc;
 	unative_t gp;
-} fncptr_t;
+} __attribute__((may_alias)) fncptr_t;
 
 #define PRIp "lx"	/**< Format for uintptr_t. */
