aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2005-07-19 15:14:16 +0000
committerJeff Johnston <jjohnstn@redhat.com>2005-07-19 15:14:16 +0000
commit108d7dd833dfdcf09b37708f07977a4d0250e9c2 (patch)
tree2aaac680877b53a46aadf5645e150287094a55ad /newlib
parentd551c8583e74ddbdfdde7d57bcee564198c64fef (diff)
downloadnewlib-108d7dd833dfdcf09b37708f07977a4d0250e9c2.zip
newlib-108d7dd833dfdcf09b37708f07977a4d0250e9c2.tar.gz
newlib-108d7dd833dfdcf09b37708f07977a4d0250e9c2.tar.bz2
2005-07-19 Paul Brook <paul@codesourcery.com>
* libc/sys/arm/crt0.S: Ensure doubleword stack alignment.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog4
-rw-r--r--newlib/libc/sys/arm/crt0.S7
2 files changed, 11 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index c6f9f23..e7c74fb 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,7 @@
+2005-07-19 Paul Brook <paul@codesourcery.com>
+
+ * libc/sys/arm/crt0.S: Ensure doubleword stack alignment.
+
2005-07-18 Joseph S. Myers <joseph@codesourcery.com>
* testsuite/lib/checkoutput.exp (newlib_check_output): Use test
diff --git a/newlib/libc/sys/arm/crt0.S b/newlib/libc/sys/arm/crt0.S
index 00a037a..8a8372a 100644
--- a/newlib/libc/sys/arm/crt0.S
+++ b/newlib/libc/sys/arm/crt0.S
@@ -186,6 +186,11 @@ __change_mode:
add r3, #4
b .LC15
.LC14:
+ /* Ensure doubleword stack alignment. */
+ mov r4, sp
+ mov r5, #7
+ bic r4, r5
+ mov sp, r4
#else
add r2, sp, r0, LSL #2 /* End of args */
mov r3, sp /* Start of args */
@@ -195,6 +200,8 @@ __change_mode:
strhi r5, [r2, #-4]!
strhi r4, [r3], #4
bhi .LC13
+ /* Ensure doubleword stack alignment. */
+ bic sp, sp, #7
#endif
#endif