From: Chris Metcalf Date: Mon, 14 May 2012 19:03:46 +0000 (-0400) Subject: tile: align stack for tilegx32 X-Git-Tag: glibc-2.16-ports-before-merge~126 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bcfe09d24161bdf3b734da2f2fc4692bd26b7f52;p=thirdparty%2Fglibc.git 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(). --- diff --git a/ChangeLog.tile b/ChangeLog.tile index 6bde1689a73..9e75826e939 100644 --- a/ChangeLog.tile +++ b/ChangeLog.tile @@ -1,3 +1,7 @@ +2012-05-14 Chris Metcalf + + * sysdeps/tile/dl-start.S: Align stack for tilegx32. + 2012-05-12 Chris Metcalf * sysdeps/unix/sysv/linux/tile/sys/dataplane.h: Add . diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S index 94025a544b9..97cdac3fce9 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