Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Mar 2003 19:34:02 -0800
From:      "David O'Brien" <dev-null@NUXI.com>
To:        alasir@supereva.it
Cc:        current@freebsd.org
Subject:   Re: buildkernel and gcc2
Message-ID:  <20030320033402.GA75080@dragon.nuxi.com>
In-Reply-To: <20030320032113.71826.qmail@web21504.mail.yahoo.com>
References:  <20030320032113.71826.qmail@web21504.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Mar 20, 2003 at 03:21:13AM +0000, RMH wrote:
> I have to note that currently it isn't really possible to compile
> -CURRENT by GCC 2.95.x in the way it has to be. Buildkernel is
> broken in several places by different means, however GCC 3.2.x
> passes them successfully, even with no warnings shown.

Huh??  What do you mean "in the way it has to be"?  We purposely upgraded
from GCC 2.95.x to 3.2.x and part of that upgrade gave us C99 features.

> Namely, first problem is in bsd.kern.mk, because of compiler flag
> -mno-align-long-strings, which is not supported by 2.95.x. Should
> be autodetected.

The patch for doing this?  Since the vast majority of 5-CURRENT's users
are using the stock 3.2.x compiler, making the kernel build with gcc
2.95.x isn't going to be high on our list of things to do.  However, this
doesn't prevent you from making a committable patch.
 
> Second problem is periods in two macros of sys/eventhandler.h,
> that broke depend:
> 
> #define EVENTHANDLER_FAST_INVOKE(name, ...)
> #define EVENTHANDLER_INVOKE(name, ...)
> 
> Might be fixed in the way like:
> 
> #define EVENTHANDLER_FAST_INVOKE(name)	
> #define EVENTHANDLER_INVOKE(name, arg1, arg2, arg3)

We can certainly put in a #ifdef detection on the GCC version.  Please
submit a patch for this and the other nits you point out.

> ../../../kern/vfs_bio.c:3514: warning: unknown conversion type character `j' in
> format
> ../../../kern/vfs_bio.c:3514: warning: unknown conversion type character `j' in
> format
> [...]
> 
> Please replace those j's for something more appropriate; I've
> just removed them. Accompanying typedefs uintmax_t\intmax_t
> were replaced with u_int\int. 

"%j" and [u]intmax_t *are* appropriate.  They are C99 features, and most
find them a god-send.


> Summary. Since I have no write access to CVS repository, hope
> someone who has will consider things noted above and commit
> changes.

Not being a committer doesn't keep you from being a contributor. :-)

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




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