Index: uspace/lib/libc/arch/ia64/src/entry.s
===================================================================
--- uspace/lib/libc/arch/ia64/src/entry.s	(revision fb69f39c1c7a3f85d8a9f3789fe0ddf2fa266ec4)
+++ uspace/lib/libc/arch/ia64/src/entry.s	(revision 59b2adb4808ec5724445deaa809570893f7fa924)
@@ -39,5 +39,5 @@
 __entry:
 	alloc loc0 = ar.pfs, 0, 1, 2, 0
-	mov r1 = _gp
+	movl r1 = _gp
 
 	# Pass PCB pointer as the first argument to __main
Index: uspace/lib/libc/arch/ia64/src/thread_entry.s
===================================================================
--- uspace/lib/libc/arch/ia64/src/thread_entry.s	(revision fb69f39c1c7a3f85d8a9f3789fe0ddf2fa266ec4)
+++ uspace/lib/libc/arch/ia64/src/thread_entry.s	(revision 59b2adb4808ec5724445deaa809570893f7fa924)
@@ -37,5 +37,5 @@
 	alloc loc0 = ar.pfs, 0, 1, 1, 0
 
-	mov r1 = _gp
+	movl r1 = _gp
 	
 	#
Index: uspace/srv/loader/arch/ia64/_link.ld.in
===================================================================
--- uspace/srv/loader/arch/ia64/_link.ld.in	(revision fb69f39c1c7a3f85d8a9f3789fe0ddf2fa266ec4)
+++ uspace/srv/loader/arch/ia64/_link.ld.in	(revision 59b2adb4808ec5724445deaa809570893f7fa924)
@@ -13,13 +13,8 @@
 	} :interp
 
-	. = 0x00084000 + SIZEOF_HEADERS;
+	/* On Itanium code sections must be aligned to 16 bytes. */
+	. = ALIGN(0x800000000 + SIZEOF_HEADERS, 16);
 
 	.init : {
-		LONG(0);
-		LONG(0);
-		LONG(0);
-		LONG(0);
-		LONG(0);
-		LONG(0);
 		*(.init);
 	} : text
