Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Feb 2003 13:46:50 +0200
From:      Ruslan Ermilov <ru@freebsd.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        Jake Burkholder <jake@freebsd.org>, src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org
Subject:   Re: cvs commit: src/share/mk bsd.kern.mk src/sys/conf Makefile.sparc64
Message-ID:  <20030228114650.GB15259@sunbay.com>
In-Reply-To: <20030228163705.O21276-100000@gamplex.bde.org>
References:  <20030227231613.GA45208@sunbay.com> <20030228163705.O21276-100000@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--9zSXsLTf0vkW971A
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Feb 28, 2003 at 04:54:29PM +1100, Bruce Evans wrote:
> On Fri, 28 Feb 2003, Ruslan Ermilov wrote:
>=20
> > On Thu, Feb 27, 2003 at 03:02:22PM -0800, Jake Burkholder wrote:
> > > jake        2003/02/27 15:02:22 PST
> > >
> > >   Modified files:
> > >     share/mk             bsd.kern.mk
> > >     sys/conf             Makefile.sparc64
> > >   Log:
> > >   - Removed various cruft from before we had a hosted toolchain (!).
> > >   - Moved special compiler flags to bsd.kern.mk so they get used for =
modules
> > >     too.
> > >
> > >   Revision  Changes    Path
> > >   1.32      +9 -0      src/share/mk/bsd.kern.mk
> > >   1.25      +0 -15     src/sys/conf/Makefile.sparc64
> > >
> > Thanks!
>=20
> Don't forget to keep sys/conf/kern.mk in sync with share/mk/bsd.kern.mk.
> The latter is supposed to go away or be reduced to compatibilty cruft.
> (Warning options should be sys-relative so that variant sys trees can
> be compiled with warning levels appropriate to the number of warnings
> fixed (on not) in each tree.  The existence of non-warning options in
> bsd.kern.mk is a bug -- per-arch options belong in per-arch Makefiles,
> modulo the problem of getting them in modules and boot Makefiles.)
>=20
Doh, I've completely forgot about this duplication.  How about this?

%%%
Index: share/mk/bsd.kern.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/share/mk/bsd.kern.mk,v
retrieving revision 1.32
diff -u -r1.32 bsd.kern.mk
--- share/mk/bsd.kern.mk	27 Feb 2003 23:02:21 -0000	1.32
+++ share/mk/bsd.kern.mk	28 Feb 2003 11:41:38 -0000
@@ -1,59 +1,13 @@
 # $FreeBSD: src/share/mk/bsd.kern.mk,v 1.32 2003/02/27 23:02:21 jake Exp $
=20
-#
-# Warning flags for compiling the kernel and components of the kernel.
-#
-# Note that the newly added -Wcast-qual is responsible for generating=20
-# most of the remaining warnings.  Warnings introduced with -Wall will
-# also pop up, but are easier to fix.
-CWARNFLAGS?=3D	-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototype=
s \
-		-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
-		-fformat-extensions -ansi
-#
-# The following flags are next up for working on:
-#	-W
-
-#
-# On the i386, do not align the stack to 16-byte boundaries.  Otherwise GCC
-# 2.95 adds code to the entry and exit point of every function to align the
-# stack to 16-byte boundaries -- thus wasting approximately 12 bytes of st=
ack
-# per function call.  While the 16-byte alignment may benefit micro benchm=
arks,=20
-# it is probably an overall loss as it makes the code bigger (less efficie=
nt
-# use of code cache tag lines) and uses more stack (less efficient use of =
data
-# cache tag lines)
-#
-.if ${MACHINE_ARCH} =3D=3D "i386"
-CFLAGS+=3D	-mno-align-long-strings -mpreferred-stack-boundary=3D2
-.endif
-
-#
-# On the alpha, make sure that we don't use floating-point registers and
-# allow the use of BWX etc instructions (only needed for low-level i/o).
-# Also, reserve register t7 to point at per-cpu global variables.
-#
-.if ${MACHINE_ARCH} =3D=3D "alpha"
-CFLAGS+=3D	-mno-fp-regs -ffixed-8 -Wa,-mev6
+# Search for kernel source tree in standard places.
+.for _dir in ${.CURDIR}/../.. ${.CURDIR}/../../.. ${.CURDIR}/../../../.. /=
sys /usr/src/sys
+.if !defined(SYSDIR) && exists(${_dir}/conf/kern.mk)
+SYSDIR=3D	${_dir}
 .endif
-
-#
-# For IA-64, we use r13 for the kernel globals pointer and we only use
-# a very small subset of float registers for integer divides.
-#
-.if ${MACHINE_ARCH} =3D=3D "ia64"
-CFLAGS+=3D	-ffixed-r13 -mfixed-range=3Df32-f127 -mno-sdata
-.endif
-
-#
-# For sparc64 we want medlow code model, and we tell gcc to use floating
-# point emulation.  This avoids using floating point registers for integer
-# operations which it has a tendency to do.
-#
-.if ${MACHINE_ARCH} =3D=3D "sparc64"
-CFLAGS+=3D	-mcmodel=3Dmedlow -msoft-float
+.endfor
+.if !defined(SYSDIR) || !exists(${SYSDIR}/kern) || !exists(${SYSDIR}/conf/)
+.error "can't find kernel source tree"
 .endif
=20
-#
-# GCC 3.0 and above like to do certain optimizations based on the
-# assumption that the program is linked against libc.  Stop this.
-#
-CFLAGS+=3D	-ffreestanding
+.include "${SYSDIR}/conf/kern.mk"
Index: sys/conf/kern.post.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/sys/conf/kern.post.mk,v
retrieving revision 1.35
diff -u -r1.35 kern.post.mk
--- sys/conf/kern.post.mk	27 Feb 2003 08:52:11 -0000	1.35
+++ sys/conf/kern.post.mk	28 Feb 2003 11:38:23 -0000
@@ -221,4 +221,4 @@
 majors.o:
 	${NORMAL_C}
=20
-.include <bsd.kern.mk>
+.include "kern.mk"
Index: sys/conf/kmod.mk
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
RCS file: /home/ncvs/src/sys/conf/kmod.mk,v
retrieving revision 1.135
diff -u -r1.135 kmod.mk
--- sys/conf/kmod.mk	3 Feb 2003 14:46:25 -0000	1.135
+++ sys/conf/kmod.mk	28 Feb 2003 11:33:01 -0000
@@ -309,4 +309,4 @@
 .endif
=20
 .include <bsd.obj.mk>
-.include <bsd.kern.mk>
+.include "kern.mk"
%%%

I choose to preserve bsd.kern.mk because at least sys/boot/pc98/boot2
utilizes it purposedly.


Cheers,
--=20
Ruslan Ermilov		Sysadmin and DBA,
ru@sunbay.com		Sunbay Software AG,
ru@FreeBSD.org		FreeBSD committer,
+380.652.512.251	Simferopol, Ukraine

http://www.FreeBSD.org	The Power To Serve
http://www.oracle.com	Enabling The Information Age

--9zSXsLTf0vkW971A
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+X0wqUkv4P6juNwoRAl69AJwK40RaZhgsv1IcHJftcFisaSsktACggxHI
GdB2kgFInhVw64XpBTvTav8=
=7qO8
-----END PGP SIGNATURE-----

--9zSXsLTf0vkW971A--

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




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