This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 13/14] tile: align stack for tilegx32


Previously we weren't re-aligning the stack pointer during the
call to _dl_init(), so for tilegx32 and an odd value in _dl_skip_args
and kernel unaligned access fixups disabled, we would die with SIGBUS.
We now handle this case properly by aligning before calling _dl_init().
---
 ChangeLog.tile          |    4 ++++
 sysdeps/tile/dl-start.S |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/ChangeLog.tile b/ChangeLog.tile
index 6bde168..9e75826 100644
--- a/ChangeLog.tile
+++ b/ChangeLog.tile
@@ -1,3 +1,7 @@
+2012-05-14  Chris Metcalf  <cmetcalf@tilera.com>
+
+	* sysdeps/tile/dl-start.S: Align stack for tilegx32.
+
 2012-05-12  Chris Metcalf  <cmetcalf@tilera.com>
 
 	* sysdeps/unix/sysv/linux/tile/sys/dataplane.h: Add <features.h>.
diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S
index 94025a5..97cdac3 100644
--- a/sysdeps/tile/dl-start.S
+++ b/sysdeps/tile/dl-start.S
@@ -77,6 +77,7 @@ ENTRY (_start)
 	 ST_PTR r52, r0
 	 SHL_PTR_ADD sp, r4, sp
 	}
+	andi sp, sp, -8
 
 .Lno_skip:
 	/* Call_dl_init (_dl_loaded, argc, argv, envp).  See elf/start.s
-- 
1.6.5.2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]