diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-11-12 19:30:24 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-11-12 19:42:59 +0530 |
commit | 533bb7c2ae156ff2d49b2e0b20b33810ba5e2721 (patch) | |
tree | aaeb627afb1e90b79e161e4d325b633064163168 /ChangeLog | |
parent | fffa1cf8a7f95830d488d5fc6bf73cb9599143f4 (diff) | |
download | glibc-533bb7c2ae156ff2d49b2e0b20b33810ba5e2721.tar.gz glibc-533bb7c2ae156ff2d49b2e0b20b33810ba5e2721.tar.xz glibc-533bb7c2ae156ff2d49b2e0b20b33810ba5e2721.zip |
Fix stack alignment when loader is invoked directly
The s390 ABI requires the stack pointer to be aligned at 8-bytes. When a program is invoked as an argument to the dynamic linker, _dl_start_user adjusts the stack to remove the dynamic linker arguments so that the program sees only its name and arguments. This may result in the stack being misaligned since each argument shift is only a word and not a double-word. This is now fixed shifting argv and envp down instead of shifting argc up and reclaiming the stack. This requires _dl_argv to be adjusted and hence, is no longer relro.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index a7d3298270..803ccf0d02 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-11-12 Carlos O'Donell <carlos@redhat.com> + Siddhesh Poyarekar <siddhesh@redhat.com> + + * sysdeps/s390/s390-32/dl-machine.h (_dl_start_user): + Move argv and envp down instead of moving argc up. + * sysdeps/s390/s390-32/dl-sysdep.h: New file. + 2014-11-12 Leonhard Holz <leonhard.holz@web.de> [BZ #17506] |