Bug#133574: other/9081: gcc doesn't diagnose, that the compiler exceeds a compiler limit
Hi!
> Synopsis: gcc doesn't diagnose, that the compiler exceeds a compiler limit
>
> State-Changed-From-To: open->closed
> State-Changed-By: rth
> State-Changed-When: Sun Jan 26 09:39:58 2003
> State-Changed-Why:
> This isn't a compiler problem. There is no compiler limit that
> has been exceeded. Indeed, the executable generated looks fine.
> The kernel, however, is refusing to map the very large bss
> segment. Perhaps your ulimit is set too low? Perhaps you
> don't have enough VM to satisfy the request?
>
> In fact, if I enable a 2G swap file, and link the program
> statically, then it runs just fine.
>
> (If you don't link statically, then ld.so crashes. I suspect
> a different kernel bug, in that it's not adjusting where it
> maps ld.so based on the large bss segment.)
>
> http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9081
It indeed is a kernel problem, see fs/binfmt_elf.c, where set_brk does
not do any error checking *at all* :-(.
Pavel
--
Casualities in World Trade Center: ~3k dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.
Reply to: