ia64/xen-unstable

changeset 4565:99aeb036036c

bitkeeper revision 1.1159.258.104 (42642dba9pDTa93gTC3Il_J65x4vUQ)

add in kern.mk to sparse tree to disable compiling with -std=c99
anonymous unions (used in xen public headers) are not compliant
Signed-off-by: Kip Macy <kmacy@fsmware.com>
Signed-off-by: ian@xensource.com
author iap10@freefall.cl.cam.ac.uk
date Mon Apr 18 21:59:22 2005 +0000 (2005-04-18)
parents b07029dd30fa
children 7edc9d4fa41e 18d709f72233 382a09db90f0
files .rootkeys freebsd-5.3-xen-sparse/conf/kern.mk
line diff
     1.1 --- a/.rootkeys	Mon Apr 18 21:53:33 2005 +0000
     1.2 +++ b/.rootkeys	Mon Apr 18 21:59:22 2005 +0000
     1.3 @@ -45,6 +45,7 @@ 3f815145vGYx1WY79voKkZB9yKwJKQ extras/mi
     1.4  3f815145xlKBAQmal9oces3G_Mvxqw extras/mini-os/traps.c
     1.5  423e7e86yUUeeOvTAmjIahrpk1ksaQ freebsd-5.3-xen-sparse/conf/Makefile.i386-xen
     1.6  423e7e86CSWbA9G8OftmMbfhStuQ6Q freebsd-5.3-xen-sparse/conf/files.i386-xen
     1.7 +42642db9m5qcqIrsHX8QlcBGeKSAmw freebsd-5.3-xen-sparse/conf/kern.mk
     1.8  423e7e86m-vV5fQ_32CjcFMEr77Fyg freebsd-5.3-xen-sparse/conf/ldscript.i386-xen
     1.9  423e7e86Fo2PxRS_37IwkpH-x5t5xQ freebsd-5.3-xen-sparse/conf/options.i386-xen
    1.10  423e7e868Yt0iZuEeccnczyToPPvow freebsd-5.3-xen-sparse/fbsdxensetup
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/freebsd-5.3-xen-sparse/conf/kern.mk	Mon Apr 18 21:59:22 2005 +0000
     2.3 @@ -0,0 +1,100 @@
     2.4 +# $FreeBSD: src/sys/conf/kern.mk,v 1.42 2004/05/14 13:35:46 cognet Exp $
     2.5 +
     2.6 +#
     2.7 +# Warning flags for compiling the kernel and components of the kernel.
     2.8 +#
     2.9 +# Note that the newly added -Wcast-qual is responsible for generating 
    2.10 +# most of the remaining warnings.  Warnings introduced with -Wall will
    2.11 +# also pop up, but are easier to fix.
    2.12 +.if ${CC} == "icc"
    2.13 +#CWARNFLAGS=	-w2	# use this if you are terribly bored
    2.14 +CWARNFLAGS=
    2.15 +.else
    2.16 +CWARNFLAGS?=	-Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
    2.17 +		-Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
    2.18 +		-fformat-extensions 
    2.19 +.endif
    2.20 +# -std=c99 anonymous unions are non-compliant
    2.21 +#
    2.22 +# The following flags are next up for working on:
    2.23 +#	-W
    2.24 +
    2.25 +#
    2.26 +# On the i386, do not align the stack to 16-byte boundaries.  Otherwise GCC
    2.27 +# 2.95 adds code to the entry and exit point of every function to align the
    2.28 +# stack to 16-byte boundaries -- thus wasting approximately 12 bytes of stack
    2.29 +# per function call.  While the 16-byte alignment may benefit micro benchmarks, 
    2.30 +# it is probably an overall loss as it makes the code bigger (less efficient
    2.31 +# use of code cache tag lines) and uses more stack (less efficient use of data
    2.32 +# cache tag lines)
    2.33 +#
    2.34 +.if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
    2.35 +CFLAGS+=	-mno-align-long-strings -mpreferred-stack-boundary=2
    2.36 +INLINE_LIMIT?=	8000
    2.37 +.endif
    2.38 +
    2.39 +#
    2.40 +# On the alpha, make sure that we don't use floating-point registers and
    2.41 +# allow the use of BWX etc instructions (only needed for low-level i/o).
    2.42 +# Also, reserve register t7 to point at per-cpu global variables.
    2.43 +#
    2.44 +.if ${MACHINE_ARCH} == "alpha"
    2.45 +CFLAGS+=	-mno-fp-regs -ffixed-8 -Wa,-mev6
    2.46 +INLINE_LIMIT?=	15000
    2.47 +.endif
    2.48 +
    2.49 +.if ${MACHINE_ARCH} == "arm"
    2.50 +INLINE_LIMIT?=	8000
    2.51 +.endif
    2.52 +#
    2.53 +# For IA-64, we use r13 for the kernel globals pointer and we only use
    2.54 +# a very small subset of float registers for integer divides.
    2.55 +#
    2.56 +.if ${MACHINE_ARCH} == "ia64"
    2.57 +CFLAGS+=	-ffixed-r13 -mfixed-range=f32-f127 -mno-sdata
    2.58 +INLINE_LIMIT?=	15000
    2.59 +.endif
    2.60 +
    2.61 +#
    2.62 +# For sparc64 we want medlow code model, and we tell gcc to use floating
    2.63 +# point emulation.  This avoids using floating point registers for integer
    2.64 +# operations which it has a tendency to do.
    2.65 +#
    2.66 +.if ${MACHINE_ARCH} == "sparc64"
    2.67 +CFLAGS+=	-mcmodel=medlow -msoft-float
    2.68 +INLINE_LIMIT?=	15000
    2.69 +.endif
    2.70 +
    2.71 +#
    2.72 +# For AMD64, use a medium model for now.  We'll switch to "kernel"
    2.73 +# once pmap is ready.  Be excessively careful to not generate FPU code.
    2.74 +#
    2.75 +.if ${MACHINE_ARCH} == "amd64"
    2.76 +CFLAGS+=	-mcmodel=kernel -mno-red-zone \
    2.77 +		-mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow \
    2.78 +		-msoft-float -fno-asynchronous-unwind-tables
    2.79 +INLINE_LIMIT?=	8000
    2.80 +.endif
    2.81 +
    2.82 +#
    2.83 +# For PowerPC we tell gcc to use floating point emulation.  This avoids using
    2.84 +# floating point registers for integer operations which it has a tendency to do.
    2.85 +#
    2.86 +.if ${MACHINE_ARCH} == "powerpc"
    2.87 +CFLAGS+=	-msoft-float
    2.88 +INLINE_LIMIT?=	15000
    2.89 +.endif
    2.90 +
    2.91 +#
    2.92 +# GCC 3.0 and above like to do certain optimizations based on the
    2.93 +# assumption that the program is linked against libc.  Stop this.
    2.94 +#
    2.95 +.if ${CC} == "icc"
    2.96 +CFLAGS+=	-nolib_inline
    2.97 +.else
    2.98 +CFLAGS+=	-ffreestanding
    2.99 +.endif
   2.100 +
   2.101 +.if ${CC} == "icc"
   2.102 +CFLAGS+=	-restrict
   2.103 +.endif