Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Jun 2003 12:17:37 -0400 (EDT)
From:      Garrett Wollman <wollman@lcs.mit.edu>
To:        Tim Robbins <tjr@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: adsl/pppoe no longer connecting on 5.1
Message-ID:  <200306121617.h5CGHbQw084862@khavrinen.lcs.mit.edu>
In-Reply-To: <20030612153849.A57744@dilbert.robbins.dropbear.id.au>
References:  <200306112248.AA655556764@141.com> <20030612045022.GA36033@rot13.obsecurity.org> <20030612051812.GQ48387@mail.evip.pl> <20030612153849.A57744@dilbert.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Thu, 12 Jun 2003 15:38:49 +1000, Tim Robbins <tjr@freebsd.org> said:

> Misbehaving in what way? CSTD=c99 causes gcc to use alloca() from
> libc instead of its builtin version. Perhaps alloca() in libc is
> broken -- any bugs in it would have been covered up by gcc until
> now.

alloca() in libc is *fundamentally* broken.  Only the compiler can
know the current state of the stack frame, and that information is not
necessarily available to library functions.  On some architectures
it is not even possible for a library function to adjust its caller's
stack frame, which is why alpha, ia64, and sparc64 don't have an
alloca.S (nor an alloca.c for that matter).

-GAWollman



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200306121617.h5CGHbQw084862>