diff --git a/arch/blackfin/lib/ins.S b/arch/blackfin/lib/ins.S
index 4519596420e50debc3a111ef56c304cfd41c3509..3ac6d84548642be4656cefb12e576ac920314cbd 100644
--- a/arch/blackfin/lib/ins.S
+++ b/arch/blackfin/lib/ins.S
@@ -71,6 +71,7 @@
  */
 
 #define COMMON_INS(func, ops) \
+.section .text._ins##func; \
 ENTRY(_ins##func) \
 	P0 = R0;	/* P0 = port */ \
 	CLI_OUTER;	/* 3 instructions before first read access */ \
diff --git a/arch/blackfin/lib/outs.S b/arch/blackfin/lib/outs.S
index 90c6033c9e5f156ad51bc08af1a4eb7e8ccbecaa..253d4c3e417b47a2a92e503bec896b0d4a9d9457 100644
--- a/arch/blackfin/lib/outs.S
+++ b/arch/blackfin/lib/outs.S
@@ -12,6 +12,7 @@
 
 .align 2
 
+.section .text._outsl
 ENTRY(_outsl)
 	P0 = R0;	/* P0 = port */
 	P1 = R1;	/* P1 = address */
@@ -23,6 +24,7 @@ ENTRY(_outsl)
 	RTS;
 ENDPROC(_outsl)
 
+.section .text._outsw
 ENTRY(_outsw)
 	P0 = R0;	/* P0 = port */
 	P1 = R1;	/* P1 = address */
@@ -34,6 +36,7 @@ ENTRY(_outsw)
 	RTS;
 ENDPROC(_outsw)
 
+.section .text._outsb
 ENTRY(_outsb)
 	P0 = R0;	/* P0 = port */
 	P1 = R1;	/* P1 = address */
@@ -45,6 +48,7 @@ ENTRY(_outsb)
 	RTS;
 ENDPROC(_outsb)
 
+.section .text._outsw_8
 ENTRY(_outsw_8)
 	P0 = R0;	/* P0 = port */
 	P1 = R1;	/* P1 = address */
diff --git a/arch/blackfin/lib/u-boot.lds.S b/arch/blackfin/lib/u-boot.lds.S
index 9163d20c29b858a448d021d00e36476dac3b0a23..f15c97ed0cbbc4ba677be673a3467cf56b107210 100644
--- a/arch/blackfin/lib/u-boot.lds.S
+++ b/arch/blackfin/lib/u-boot.lds.S
@@ -147,6 +147,7 @@ SECTIONS
 		*(.dynbss)
 		*(.bss .bss.*)
 		*(COMMON)
+		. = ALIGN(4);
 	} >ram_data
 	__bss_vma = ADDR(.bss);
 	__bss_len = SIZEOF(.bss);