Index: uspace/lib/c/arch/ia64/_link.ld.in
===================================================================
--- uspace/lib/c/arch/ia64/_link.ld.in	(revision 49852df7d7a793a6809a45ea97988b35d7927631)
+++ uspace/lib/c/arch/ia64/_link.ld.in	(revision 8b65570552691ad6fa2a012cf20ea6571577cd46)
@@ -22,5 +22,6 @@
 	
 	.got : {
-		_gp = .;
+		/* Tell the linker where we expect GP to point. */
+		__gp = .;
 		*(.got .got.*);
 	} :data
Index: uspace/lib/c/arch/ia64/src/entry.s
===================================================================
--- uspace/lib/c/arch/ia64/src/entry.s	(revision 49852df7d7a793a6809a45ea97988b35d7927631)
+++ uspace/lib/c/arch/ia64/src/entry.s	(revision 8b65570552691ad6fa2a012cf20ea6571577cd46)
@@ -39,5 +39,5 @@
 __entry:
 	alloc loc0 = ar.pfs, 0, 1, 2, 0
-	movl gp = _gp
+	movl gp = __gp
 	
 	# Pass PCB pointer as the first argument to __main
Index: uspace/lib/c/arch/ia64/src/thread_entry.s
===================================================================
--- uspace/lib/c/arch/ia64/src/thread_entry.s	(revision 49852df7d7a793a6809a45ea97988b35d7927631)
+++ uspace/lib/c/arch/ia64/src/thread_entry.s	(revision 8b65570552691ad6fa2a012cf20ea6571577cd46)
@@ -37,5 +37,5 @@
 	alloc loc0 = ar.pfs, 0, 1, 1, 0
 
-	movl gp = _gp
+	movl gp = __gp
 	
 	#
