Merge with git+ssh://master.kernel.org/pub/scm/libs/klibc/klibc.git
diff --git a/defconfig b/defconfig
index 433beef..017f0b7 100644
--- a/defconfig
+++ b/defconfig
@@ -3,3 +3,6 @@
 CONFIG_KLIBC_ZLIB=y
 # i386 option
 CONFIG_REGPARM=y
+# ARM options
+# CONFIG_KLIBC_THUMB is not set
+# CONFIG_EABI is not set
diff --git a/usr/klibc/arch/arm/crt0.S b/usr/klibc/arch/arm/crt0.S
index fc1104e..1e81f8e 100644
--- a/usr/klibc/arch/arm/crt0.S
+++ b/usr/klibc/arch/arm/crt0.S
@@ -8,7 +8,7 @@
 #
 
 	.text
-	.align 4
+	.balign 4
 	.type _start,#function
 	.globl _start
 
diff --git a/usr/klibc/arch/arm/setjmp-arm.S b/usr/klibc/arch/arm/setjmp-arm.S
index 1a29ee7..94facec 100644
--- a/usr/klibc/arch/arm/setjmp-arm.S
+++ b/usr/klibc/arch/arm/setjmp-arm.S
@@ -19,7 +19,7 @@
 #
 
 	.text
-	.align 4
+	.balign 4
 	.globl setjmp
 	.type setjmp, #function
 setjmp:
@@ -29,7 +29,7 @@
 	.size setjmp,.-setjmp
 
 	.text
-	.align 4
+	.balign 4
 	.globl longjmp
 	.type longjmp, #function
 longjmp:
diff --git a/usr/klibc/arch/arm/setjmp-thumb.S b/usr/klibc/arch/arm/setjmp-thumb.S
index b581c5f..4b8d789 100644
--- a/usr/klibc/arch/arm/setjmp-thumb.S
+++ b/usr/klibc/arch/arm/setjmp-thumb.S
@@ -19,7 +19,7 @@
 #
 
 	.text
-	.align 4
+	.balign 4
 	.globl setjmp
 	.type setjmp, #function
 	.thumb_func
@@ -37,7 +37,7 @@
 	.size setjmp,.-setjmp
 
 	.text
-	.align 4
+	.balign 4
 	.globl longjmp
 	.type longjmp, #function
 	.thumb_func
diff --git a/usr/klibc/arch/arm/syscall.S b/usr/klibc/arch/arm/syscall.S
index 7abfe7c..60e495e 100644
--- a/usr/klibc/arch/arm/syscall.S
+++ b/usr/klibc/arch/arm/syscall.S
@@ -10,7 +10,7 @@
 	/* ARM version - this is executed after the swi, unless
 	   we are compiled in EABI mode */
 
-	.align	4
+	.balign	4
 __syscall_common:
 #ifdef __ARM_EABI__
 	ldr	r4, [sp,#16]
@@ -24,7 +24,7 @@
         strcs	r2, [r3]
 	ldmfd	sp!,{r4,r5,r7,pc}
 
-	.align 4
+	.balign 4
 1:
 	.word	errno
 
@@ -32,7 +32,7 @@
 	/* Thumb version - must still load r4 and r5 and run swi */
 
 	.thumb_func
-	.align	2
+	.balign	2
 __syscall_common:
 	ldr	r4, [sp,#16]
 	ldr	r5, [sp,#20]
@@ -48,7 +48,7 @@
 1:
 	pop	{r4,r5,r7,pc}
 
-	.align	4
+	.balign	4
 2:
 	.word	-4095
 3:
diff --git a/usr/klibc/arch/arm/sysstub.ph b/usr/klibc/arch/arm/sysstub.ph
index f7f7935..19e79a6 100644
--- a/usr/klibc/arch/arm/sysstub.ph
+++ b/usr/klibc/arch/arm/sysstub.ph
@@ -18,7 +18,7 @@
     print  OUT "	.globl	${fname}\n";
 
     print  OUT "#ifndef __thumb__\n";
-    print  OUT "	.align	4\n";
+    print  OUT "	.balign	4\n";
 
     print  OUT "#ifndef __ARM_EABI__\n";
 
@@ -48,7 +48,7 @@
     print  OUT "#else /* __thumb__ */\n";
 
     # Thumb version
-    print  OUT "	.align	4\n";
+    print  OUT "	.balign	4\n";
     print  OUT "	.thumb_func\n";
     print  OUT "${fname}:\n";
     print  OUT "	push	{r4,r5,r7,lr}\n";
@@ -58,7 +58,7 @@
     print  OUT "#else\n";
     print  OUT "	ldr	r7, 1f\n";
     print  OUT "	bl	__syscall_common\n";
-    print  OUT "	.align	4\n";
+    print  OUT "	.balign	4\n";
     print  OUT "1:\n";
     print  OUT "	.word	__NR_${sname}\n";
     print  OUT "#endif\n";
diff --git a/usr/klibc/arch/arm/vfork.S b/usr/klibc/arch/arm/vfork.S
index 161a2c6..42e8551 100644
--- a/usr/klibc/arch/arm/vfork.S
+++ b/usr/klibc/arch/arm/vfork.S
@@ -11,7 +11,7 @@
 #ifndef __thumb__
 	/* ARM version - this is executed after the swi */
 
-	.align	4
+	.balign	4
 vfork:
 	swi	# __NR_vfork
         cmn     r0, #4096
@@ -21,7 +21,7 @@
         strcs	r2, [r3]
 	mov	pc, lr
 
-	.align 4
+	.balign 4
 1:
 	.word	errno
 
@@ -29,7 +29,7 @@
 	/* Thumb version - must still load r4 and r5 and run swi */
 
 	.thumb_func
-	.align	2
+	.balign	2
 vfork:
 	mov	r7, # __NR_vfork
 	swi	0
@@ -44,7 +44,7 @@
 1:
 	mov	pc, lr
 
-	.align	4
+	.balign	4
 2:
 	.word	-4095
 3: