Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2002 18:51:21 -0800
From:      Peter Wemm <peter@wemm.org>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Garance A Drosihn <drosih@rpi.edu>, Alfred Perlstein <bright@mu.org>, Poul-Henning Kamp <phk@critter.freebsd.dk>, Jordan Hubbard <jkh@winston.freebsd.org>, Dallas De Atley <deatley@apple.com>, arch@freebsd.org
Subject:   Re: __P macro question 
Message-ID:  <20020131025121.308C13A9A@overcee.wemm.org>
In-Reply-To: <3C589A3F.10F18882@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
Terry Lambert wrote:
> Peter Wemm wrote:
> > In case you didn't notice, this rant you posted is in a thread
> > that mentions that NetBSD *is* agressively removing __P() and OpenBSD
> > appear to be as well.
> 
> I want the decision to be intentional, not simply because
> of "herd instinct".

Well, it is looking pretty intentional so far to me.

> > The bottom line is that the effort to port gcc to an arch that only has a
> > K&R compiler is far more productive than trying to get our tree to build
> > on a K&R-only compiler.
> 
> The cost to doing this is:
> 
> 1)	You risk becoming the compiler maintainer for 2
> 	years, in order to comply with the license.

Nope.  Nobody says you have to maintain it.  Besides, FreeBSD isn't going
to run on any system so obscure that it wont have some sort of ansi
compiler available any time in the forseeable future.

> 2)	It is another barrier to using BSD code.

So?  versus what? GNU code which is also ANSI?

> 3)	The GCC compiler is sub-par on many architectures.

It tends to work better on older platforms than newer ones.

> > Nobody in their right mind is going to run FreeBSD-5.x on a 6809 or
> > a Z80 or a 68010.  The least of their problems is the compiler.
> 
> I hope your misunderstanding here is intentional.
> 
> I am not talking about running the full FreeBSD-5.x on a
> 68010, I am talking about using portions of the code as a
> reference implementation.

No, I am not misunderstanding it.  We, the project, are making decisions
about what is good for he project, not what is good for what Terry Lambert
dreams about doing one weekend to see if he can get src/bin/ls to compile
standalone on his TRS-80 6809 system running bcc.

If eliminating the use of __P() in our code means that we dont need to spend
developer-weeks of time every 6 months, then it is damn well worth it.

> For example, taking the TCP/IP stack by itself, with all
> the DOS attack hardening and other hardenening, and using
> it in a system other than FreeBSD.

I hope you noticed that all that code is nearly pure ANSI.
...
static void      syncache_drop(struct syncache *, struct syncache_head *);
static void      syncache_free(struct syncache *);
...
static void
syncache_free(struct syncache *sc)
{
...
peter@daintree[6:50pm]~src/sys/netinet-102> grep __P tcp_syncache.c 
peter@daintree[6:51pm]~src/sys/netinet-103> 

*Bad* example!

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


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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