There is a problem with the stack size accounting during execve when there is no stack limit: $ ulimit -s 8192 $ ./hello.ilp32 Hello World! $ ulimit -s unlimited $ ./hello.ilp32 Segmentation fault $ strace ./hello.ilp32 execve("./hello.ilp32", ["./hello.ilp32"], 0xfffff10548f0 /* 77 vars */) = -1 ENOMEM (Cannot allocate memory) +++ killed by SIGSEGV +++ Segmentation fault (core dumped) Andreas. -- Andreas Schwab, SUSE Labs, schwab@xxxxxxx GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."