aboutsummaryrefslogtreecommitdiff
path: root/libgloss
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2005-07-19 15:15:25 +0000
committerJeff Johnston <jjohnstn@redhat.com>2005-07-19 15:15:25 +0000
commitfd745b00ed6fb782e9433f3cbc0abd2b3cfcbdad (patch)
tree6dfce1ff533b55d05fea54c8f91b0128155ddf3e /libgloss
parent108d7dd833dfdcf09b37708f07977a4d0250e9c2 (diff)
downloadnewlib-fd745b00ed6fb782e9433f3cbc0abd2b3cfcbdad.zip
newlib-fd745b00ed6fb782e9433f3cbc0abd2b3cfcbdad.tar.gz
newlib-fd745b00ed6fb782e9433f3cbc0abd2b3cfcbdad.tar.bz2
2005-07-19 Paul Brook <paul@codesourcery.com>
* arm/crt0.S: Ensure doubleword stack alignment.
Diffstat (limited to 'libgloss')
-rw-r--r--libgloss/ChangeLog4
-rw-r--r--libgloss/arm/crt0.S7
2 files changed, 11 insertions, 0 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 294cab9..28e273d 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,3 +1,7 @@
+2005-07-19 Paul Brook <paul@codesourcery.com>
+
+ * arm/crt0.S: Ensure doubleword stack alignment.
+
2005-07-18 Richard Sandiford <richard@codesourcery.com>
* mips/array.ld (.sdata): Include .gnu.linkonce.s.*, not
diff --git a/libgloss/arm/crt0.S b/libgloss/arm/crt0.S
index 33bcc3a..bea2892 100644
--- a/libgloss/arm/crt0.S
+++ b/libgloss/arm/crt0.S
@@ -251,6 +251,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 */
@@ -260,6 +265,8 @@ __change_mode:
strhi r5, [r2, #-4]!
strhi r4, [r3], #4
bhi .LC13
+ /* Ensure doubleword stack alignment. */
+ bic sp, sp, #7
#endif
#endif