diff options
| author | Chris Metcalf <cmetcalf@tilera.com> | 2012-05-14 15:03:46 -0400 |
|---|---|---|
| committer | Chris Metcalf <cmetcalf@tilera.com> | 2012-05-14 15:46:13 -0400 |
| commit | bcfe09d24161bdf3b734da2f2fc4692bd26b7f52 (patch) | |
| tree | a0f92eb1ea02277cad50c31a797067553374139f | |
| parent | 8927be2b217ad44682efd987e32320ee80c4dbe1 (diff) | |
| download | glibc-bcfe09d24161bdf3b734da2f2fc4692bd26b7f52.tar.xz glibc-bcfe09d24161bdf3b734da2f2fc4692bd26b7f52.zip | |
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().
| -rw-r--r-- | ChangeLog.tile | 4 | ||||
| -rw-r--r-- | sysdeps/tile/dl-start.S | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog.tile b/ChangeLog.tile index 6bde1689a7..9e75826e93 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 94025a544b..97cdac3fce 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 |
