Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Jul 2002 10:38:50 -0700
From:      "David O'Brien" <obrien@FreeBSD.ORG>
To:        Garance A Drosihn <drosih@rpi.edu>
Cc:        Dag-Erling Smorgrav <des@ofug.org>, Adrian Penisoara <ady@freebsd.ady.ro>, freebsd-stable@FreeBSD.ORG, bde@FreeBSD.ORG, dillon@FreeBSD.ORG
Subject:   Re: __FBSDID breaks buildworld upgrading
Message-ID:  <20020703103850.A9003@dragon.nuxi.com>
In-Reply-To: <p05111722b948d5ee54eb@[128.113.24.47]>; from drosih@rpi.edu on Wed, Jul 03, 2002 at 01:12:45PM -0400
References:  <Pine.BSF.4.10.10207031724160.48299-100000@ady.warpnet.ro> <xzpk7oc6dlz.fsf@flood.ping.uio.no> <p05111722b948d5ee54eb@[128.113.24.47]>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 03, 2002 at 01:12:45PM -0400, Garance A Drosihn wrote:
> #include <sys/cdefs.h>
> #ifdef __FBSDID
> __FBSDID("$FreeBSD$");
> #endif

Uh, ugly and totally not needed on my FreeBSD system.  Don't ulgify
things for some hypotheical need.

I proposed that we move all this type of stuff out of <sys/cdefs.h> to
/usr/include/scmid.h.  This would make it easy for those using the code
outside of FreeBSD to create a scmid.h file with the needed bits.

> which in turn would get in trouble on some other platforms, if
> they don't have <sys/cdefs.h>, or if they DO have it, and they
> do not define __FBSDID, and you're one of those strange people
> who would like to see RCS-id's in your object files even when
> you are not compiling under the latest versions of freebsd.  I
> suppose we could take it even further and try:
> 
> #include <sys/cdefs.h>
> #ifdef __FBSDID
> __FBSDID("$FreeBSD$");
> #else
> static const char rcsid[] =
>    "$FreeBSD$";
> #endif

Ugly, ugly, ugly, ugly.

> #if !defined(lint) && !defined(NO__RCSID)
> static const char rcsid[] =
>    "$FreeBSD$";
> #endif

Nope, this puts the ID in the data section vs. a seperate section, which
can be stripped.


> Now, I imagine we can solve this immediate buildworld problem by
> adding some steps to buildworld, or "do things in the right order",
> but again why should we bother?  Whatever we do for buildworld will
> not help if someone just wants to pick up a single source file from
> 4.6-stable and compile it on an "ancient" OS such as 4.4-release.
> We talk about providing support for older releases of FreeBSD,

Not in this way -- where has any developer claimed you can take X.Y code
and compile it on X.(Y-2)?

> I really do not mean this as an insult to anyone, but I think we
> are so fascinated with the few real advantages of __FBSDID (such
> as getting the RCS-ids into a separate ELF section) that we are
> sinking far too much effort into trying to make it work.

What effort?  My RELENG_4 systems build world just fine, as do my
-CURRENT ones [and when they don't it isn't because of this].

> Are the benefits really worth all that effort?

Yes.

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




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