summaryrefslogtreecommitdiffstats
path: root/lib/csu
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2011-01-13 23:00:22 +0000
committerkib <kib@FreeBSD.org>2011-01-13 23:00:22 +0000
commit435503f326f7e1169f0fe66c3833ede6afef73fc (patch)
tree2790da8353e8e51e32059c8ab9684400c2fc8fb7 /lib/csu
parentc2742441f1a5faba43f6603e0300d1e69dbe9d36 (diff)
downloadFreeBSD-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.S1
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
OpenPOWER on IntegriCloud