Index: boot/arch/ia64/src/asm.S
===================================================================
--- boot/arch/ia64/src/asm.S	(revision dbb3552c5a45da259d55e868b4b17fca50016c38)
+++ boot/arch/ia64/src/asm.S	(revision 6f2c1fff143dbbbc751f1f8ba1ddd09d90f7b48e)
@@ -28,16 +28,14 @@
 #
 
+#include <abi/asmtool.h>
 #include <arch/arch.h>
 
 .text
 
-.global halt
-.global memcpy
-.global jump_to_kernel
+FUNCTION_BEGIN(halt)
+	br halt
+FUNCTION_END(halt)
 
-halt:
-	br halt
-
-jump_to_kernel:
+FUNCTION_BEGIN(jump_to_kernel)
 	alloc loc0 = ar.pfs, 1, 1, 0, 0
 	mov r2 = in0 ;;			# Pass bootinfo address
@@ -45,2 +43,4 @@
 	mov b1 = r8 ;;
 	br.call.sptk.many b0 = b1;;
+FUNCTION_END(jump_to_kernel)
+
Index: boot/arch/ia64/src/boot.S
===================================================================
--- boot/arch/ia64/src/boot.S	(revision dbb3552c5a45da259d55e868b4b17fca50016c38)
+++ boot/arch/ia64/src/boot.S	(revision 6f2c1fff143dbbbc751f1f8ba1ddd09d90f7b48e)
@@ -28,10 +28,10 @@
 #
 
+#include <abi/asmtool.h>
 #include <arch/arch.h>
 
 .section BOOTSTRAP, "ax"
 
-.global start
-start:
+SYMBOL(start)
 	movl gp = __gp
 
@@ -69,6 +69,5 @@
 .bss
 
-.global bootpar
-bootpar:
+SYMBOL(bootpar)
 	.quad 0
 
Index: boot/arch/ia64/src/pal_asm.S
===================================================================
--- boot/arch/ia64/src/pal_asm.S	(revision dbb3552c5a45da259d55e868b4b17fca50016c38)
+++ boot/arch/ia64/src/pal_asm.S	(revision 6f2c1fff143dbbbc751f1f8ba1ddd09d90f7b48e)
@@ -27,9 +27,9 @@
 #
 
+#include <abi/asmtool.h>
+
 .explicit
 
-.global pal_static_call
-
-pal_static_call:
+FUNCTION_BEGIN(pal_static_call)
 	alloc loc0 = ar.pfs, 7, 6, 0, 0
 
@@ -74,3 +74,4 @@
 	mov ar.pfs = loc0
 	br.ret.sptk.many rp
+FUNCTION_END(pal_static_call)
 
Index: boot/arch/ia64/src/sal_asm.S
===================================================================
--- boot/arch/ia64/src/sal_asm.S	(revision dbb3552c5a45da259d55e868b4b17fca50016c38)
+++ boot/arch/ia64/src/sal_asm.S	(revision 6f2c1fff143dbbbc751f1f8ba1ddd09d90f7b48e)
@@ -27,4 +27,6 @@
 #
 
+#include <abi/asmtool.h>
+
 .explicit
 
@@ -33,6 +35,4 @@
 #define STACK_IN9		(8 + STACK_SCRATCH_AREA)
 #define STACK_IN10		(16 + STACK_SCRATCH_AREA)
-
-.global sal_call
 
 #
@@ -43,5 +43,5 @@
 # Assume PSR.bn is 1, as expected by SAL.
 #
-sal_call:
+FUNCTION_BEGIN(sal_call)
 	alloc loc0 = ar.pfs, 8, 8, 8, 0
 	
@@ -92,3 +92,4 @@
 	mov ar.pfs = loc0
 	br.ret.sptk.many rp
+FUNCTION_END(sal_call)
 
