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: