Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jun 2003 00:01:35 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Tim Robbins <tjr@FreeBSD.ORG>
Cc:        Dag-Erling Smorgrav <des@ofug.org>
Subject:   Re: cvs commit: src/share/mk bsd.sys.mk 
Message-ID:  <20030614070135.C2AEC2A8C1@canning.wemm.org>
In-Reply-To: <20030614115039.A30692@dilbert.robbins.dropbear.id.au> 

next in thread | previous in thread | raw e-mail | index | archive | help
Tim Robbins wrote:
> 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:strpti
    me()
> > >   uses alloca() and alloca is impossible to implement as a callable funct
    ion
> > >   on amd64.  It has to be a compiler builtin.  Note that the bigger probl
    em
> > >   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).

We really really dont want to use that alloca.c except as an absolute last
resort.  I mean Really.  It is Nasty.  I would rather that we removed alloca()
entirely from the tree rather than use alloca.c by default for any of our
released platforms.

I'd even rather have /usr/include/alloca.h with
#define alloca(n) __builtin_alloca(n)  if there are namespace concerns.

Autoconf knows how to look for #include <alloca.h>, FWIW.

> > and please remove CSTD?=c99 from bsd.sys.mk, it was never intended to
> > be used that way.
> 
> I agree.

I think so too, or at the very least use gnu99.

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



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