<<On Thu, 12 Jun 2003 15:38:49 +1000, Tim Robbins <[EMAIL PROTECTED]> 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

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to