Index: uspace/lib/c/arch/mips32/src/entry.S
===================================================================
--- uspace/lib/c/arch/mips32/src/entry.S	(revision a52e2f4c4873ce4073f619369f5c66e583d9a895)
+++ uspace/lib/c/arch/mips32/src/entry.S	(revision 0407636ceda67e68eb4456da50da5790c6a50911)
@@ -27,10 +27,9 @@
 #
 
+#include <abi/asmtool.h>
 #include <libarch/stack.h>
 
 .text
 .section .init, "ax"
-
-.global __entry
 
 .set noreorder
@@ -41,6 +40,6 @@
 # $a0 ($4) contains the PCB pointer
 #
-.ent __entry
-__entry:
+FUNCTION_BEGIN(__entry)
+	.ent __entry
 	.frame $sp, ABI_STACK_FRAME, $ra
 	.cpload $t9
@@ -63,3 +62,3 @@
 	#
 	addiu $sp, ABI_STACK_FRAME
-.end __entry
+FUNCTION_END(__entry)
Index: uspace/lib/c/arch/mips32/src/entryjmp.S
===================================================================
--- uspace/lib/c/arch/mips32/src/entryjmp.S	(revision a52e2f4c4873ce4073f619369f5c66e583d9a895)
+++ uspace/lib/c/arch/mips32/src/entryjmp.S	(revision 0407636ceda67e68eb4456da50da5790c6a50911)
@@ -27,9 +27,9 @@
 #
 
+#include <abi/asmtool.h>
 #include <libarch/stack.h>
 
 .text
 .section .text
-.global entry_point_jmp
 .set noreorder
 
@@ -40,6 +40,5 @@
 #
 # Jump to program entry point
-.ent entry_point_jmp
-entry_point_jmp:
+FUNCTION_BEGIN(entry_point_jmp)
 	# tmp := entry_point
 	move $t9, $a0
@@ -51,3 +50,4 @@
 	addiu $sp, -ABI_STACK_FRAME
 	addiu $sp, ABI_STACK_FRAME
-.end entry_point_jmp
+FUNCTION_END(entry_point_jmp)
+
Index: uspace/lib/c/arch/mips32/src/fibril.S
===================================================================
--- uspace/lib/c/arch/mips32/src/fibril.S	(revision a52e2f4c4873ce4073f619369f5c66e583d9a895)
+++ uspace/lib/c/arch/mips32/src/fibril.S	(revision 0407636ceda67e68eb4456da50da5790c6a50911)
@@ -32,10 +32,8 @@
 .set noreorder
 
+#include <abi/asmtool.h>
 #include <libarch/fibril_context.h>
 
-.global context_save
-.global context_restore
-
-context_save:
+FUNCTION_BEGIN(context_save)
 	sw $s0, CONTEXT_OFFSET_S0($a0)
 	sw $s1, CONTEXT_OFFSET_S1($a0)
@@ -92,6 +90,7 @@
 	j $ra
 	li $v0, 1
+FUNCTION_END(context_save)
 
-context_restore:
+FUNCTION_BEGIN(context_restore)
 	lw $s0, CONTEXT_OFFSET_S0($a0)
 	lw $s1, CONTEXT_OFFSET_S1($a0)
@@ -151,2 +150,3 @@
 	j $ra
 	xor $v0, $v0
+FUNCTION_END(context_restore)
Index: uspace/lib/c/arch/mips32/src/stacktrace_asm.S
===================================================================
--- uspace/lib/c/arch/mips32/src/stacktrace_asm.S	(revision a52e2f4c4873ce4073f619369f5c66e583d9a895)
+++ uspace/lib/c/arch/mips32/src/stacktrace_asm.S	(revision 0407636ceda67e68eb4456da50da5790c6a50911)
@@ -27,4 +27,6 @@
 #
 
+#include <abi/asmtool.h>
+
 .text
 
@@ -32,11 +34,10 @@
 .set noreorder
 
-.global stacktrace_prepare
-.global stacktrace_fp_get
-.global stacktrace_pc_get
-
-stacktrace_prepare:
-stacktrace_fp_get:
-stacktrace_pc_get:
+FUNCTION_BEGIN(stacktrace_prepare)
+FUNCTION_BEGIN(stacktrace_fp_get)
+FUNCTION_BEGIN(stacktrace_pc_get)
 	j $ra
 	xor $v0, $v0
+FUNCTION_END(stacktrace_prepare)
+FUNCTION_END(stacktrace_fp_get)
+FUNCTION_END(stacktrace_pc_get)
Index: uspace/lib/c/arch/mips32/src/thread_entry.S
===================================================================
--- uspace/lib/c/arch/mips32/src/thread_entry.S	(revision a52e2f4c4873ce4073f619369f5c66e583d9a895)
+++ uspace/lib/c/arch/mips32/src/thread_entry.S	(revision 0407636ceda67e68eb4456da50da5790c6a50911)
@@ -27,4 +27,5 @@
 #
 
+#include <abi/asmtool.h>
 #include <libarch/stack.h>
 
@@ -35,11 +36,9 @@
 .option pic2
 
-.globl __thread_entry
-
 ## User-space thread entry point for all but the first threads.
 #
 #
-.ent __thread_entry
-__thread_entry:
+SYMBOL(__thread_entry)
+	.ent __thread_entry
 	.frame $sp, ABI_STACK_FRAME, $ra
 	.cpload $t9
@@ -63,3 +62,2 @@
 	#
 	addiu $sp, ABI_STACK_FRAME
-.end __thread_entry
