diff --git a/lib_blackfin/memcmp.S b/lib_blackfin/memcmp.S
index 9b58832943d98020bb49fdc5edc207246870ac02..6c834a7e8537821b73ffcdb771fc9abae9d193a2 100644
--- a/lib_blackfin/memcmp.S
+++ b/lib_blackfin/memcmp.S
@@ -31,6 +31,7 @@
  */
 
 .globl _memcmp;
+.type _memcmp, STT_FUNC;
 _memcmp:
 	I1 = P3;
 	P0 = R0;			/* P0 = s1 address */
@@ -98,3 +99,5 @@ _memcmp:
 	R0 = 0;
 	P3 = I1;
 	RTS;
+
+.size _memcmp, .-_memcmp
diff --git a/lib_blackfin/memcpy.S b/lib_blackfin/memcpy.S
index 24577bebdc4043a3ea54bd3d41b722b605fed585..e6b359a344b56cc45bd5da002b0008715114bc82 100644
--- a/lib_blackfin/memcpy.S
+++ b/lib_blackfin/memcpy.S
@@ -23,6 +23,7 @@
 .align 2
 
 .globl _memcpy_ASM;
+.type _memcpy_ASM, STT_FUNC;
 _memcpy_ASM:
 	CC = R2 <=  0;	/* length not positive?*/
 	IF CC JUMP  .L_P1L2147483647;	/* Nothing to do */
@@ -112,3 +113,5 @@ _memcpy_ASM:
 	B[P0--] = R1;
 
 	RTS;
+
+.size _memcpy_ASM, .-_memcpy_ASM
diff --git a/lib_blackfin/memmove.S b/lib_blackfin/memmove.S
index 46f79ed18dcf67e44b2f73dd759dee5a8e6a73cf..e385c4f6f5affd2c220d9456e69cc1b2106e173b 100644
--- a/lib_blackfin/memmove.S
+++ b/lib_blackfin/memmove.S
@@ -31,6 +31,7 @@
  */
 
 .globl _memmove;
+.type _memmove, STT_FUNC;
 _memmove:
 	I1 = P3;
 	P0 = R0;                  /* P0 = To address */
@@ -91,3 +92,5 @@ _memmove:
 .Lno_loop: B[P0] = R1;
 	P3 = I1;
 	RTS;
+
+.size _memmove, .-_memmove
diff --git a/lib_blackfin/memset.S b/lib_blackfin/memset.S
index c33c55112184abb235f18aa5cdf3132ebec02d28..26f63cdc94e539f2e561a2d2bd4717f3fc1aab13 100644
--- a/lib_blackfin/memset.S
+++ b/lib_blackfin/memset.S
@@ -31,6 +31,7 @@
  */
 
 .globl _memset;
+.type _memset, STT_FUNC;
 _memset:
 	P0 = R0 ;              /* P0 = address */
 	P2 = R2 ;              /* P2 = count   */
@@ -91,3 +92,5 @@ _memset:
 	B[P0++] = R1;
 	B[P0++] = R1;
 	JUMP .Laligned;
+
+.size _memset, .-_memset