Date: Sat, 14 Jun 2003 11:50:39 +1000 From: Tim Robbins <tjr@FreeBSD.ORG> To: Dag-Erling Smorgrav <des@ofug.org> Cc: Peter Wemm <peter@FreeBSD.org> Subject: Re: cvs commit: src/share/mk bsd.sys.mk Message-ID: <20030614115039.A30692@dilbert.robbins.dropbear.id.au> In-Reply-To: <xzp65n9a9ga.fsf@flood.ping.uio.no>; from des@ofug.org on Sat, Jun 14, 2003 at 12:39:33AM %2B0200 References: <200306132154.h5DLsL4t018474@repoman.freebsd.org> <xzp65n9a9ga.fsf@flood.ping.uio.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 14, 2003 at 12:39:33AM +0200, Dag-Erling Smorgrav wrote: > Peter Wemm <peter@FreeBSD.org> writes: > > Log: > > We cannot use c99 on amd64 either due to lack of alloca(). libc:strptime() > > uses alloca() and alloca is impossible to implement as a callable function > > on amd64. It has to be a compiler builtin. Note that the bigger problem > > is that libc is not c99 clean internally. > > #define alloca(sz) __builtin_alloca(sz) That would be fine in the __GNUC__ >= 2 && __BSD_VISIBLE case. For the other cases, I think we should also take the alloca() implementation from contrib/amd/libamu/alloca.c and throw out lib/libc/i386/gen/alloca.S. That way we get GCC's fast and conventional alloca() implementation for !CSTD=c?9 programs, and a slower alloca() that uses the heap and sometimes leaks memory for CSTD=c?9 programs (and programs that are compiled with non-GCC compilers without their own alloca() implementation). > and please remove CSTD?=c99 from bsd.sys.mk, it was never intended to > be used that way. I agree. Tim
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030614115039.A30692>