diff options
author | kib <kib@FreeBSD.org> | 2011-01-13 23:00:22 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2011-01-13 23:00:22 +0000 |
commit | 435503f326f7e1169f0fe66c3833ede6afef73fc (patch) | |
tree | 2790da8353e8e51e32059c8ab9684400c2fc8fb7 /lib/csu | |
parent | c2742441f1a5faba43f6603e0300d1e69dbe9d36 (diff) | |
download | FreeBSD-src-435503f326f7e1169f0fe66c3833ede6afef73fc.zip FreeBSD-src-435503f326f7e1169f0fe66c3833ede6afef73fc.tar.gz |
The (%esp & 0xf) == 0 should be true before the call instruction is
executed, for the properly aligned stack.
Reported and tested by: rstone
Pointy hat to: kib
MFC after: 3 days
Diffstat (limited to 'lib/csu')
-rw-r--r-- | lib/csu/i386-elf/crt1_s.S | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/csu/i386-elf/crt1_s.S b/lib/csu/i386-elf/crt1_s.S index d7ed0a2..17ac0e3 100644 --- a/lib/csu/i386-elf/crt1_s.S +++ b/lib/csu/i386-elf/crt1_s.S @@ -42,6 +42,7 @@ _start: .cfi_def_cfa_register %ebp andl $0xfffffff0,%esp # align stack leal 8(%ebp),%eax + subl $4,%esp pushl %eax # argv pushl 4(%ebp) # argc pushl %edx # rtld cleanup |