On Thu, Aug 28, 2008 at 07:33:14AM -0400, FreeBSD Tinderbox wrote: > TB --- 2008-08-28 09:46:09 - tinderbox 2.3 running on freebsd-stable.sentex.ca > TB --- 2008-08-28 09:46:09 - starting RELENG_7 tinderbox run for amd64/amd64 > TB --- 2008-08-28 09:46:09 - cleaning the object tree > TB --- 2008-08-28 09:46:30 - cvsupping the source tree > TB --- 2008-08-28 09:46:30 - /usr/bin/csup -r 3 -g -L 1 -h localhost -s > /tinderbox/RELENG_7/amd64/amd64/supfile > TB --- 2008-08-28 09:46:37 - building world (CFLAGS=-O2 -pipe) > TB --- 2008-08-28 09:46:37 - cd /src > TB --- 2008-08-28 09:46:37 - /usr/bin/make -B buildworld > >>> World build started on Thu Aug 28 09:46:38 UTC 2008 > >>> Rebuilding the temporary build tree > >>> stage 1.1: legacy release compatibility shims > >>> stage 1.2: bootstrap tools > >>> stage 2.1: cleaning up the object tree > >>> stage 2.2: rebuilding the object tree > >>> stage 2.3: build tools > >>> stage 3: cross tools > >>> stage 4.1: building includes > >>> stage 4.2: building libraries > >>> stage 4.3: make dependencies > >>> stage 4.4: building everything > >>> stage 5.1: building 32 bit shim libraries > >>> World build completed on Thu Aug 28 11:17:55 UTC 2008 > TB --- 2008-08-28 11:17:55 - generating LINT kernel config > TB --- 2008-08-28 11:17:55 - cd /src/sys/amd64/conf > TB --- 2008-08-28 11:17:55 - /usr/bin/make -B LINT > TB --- 2008-08-28 11:17:55 - building LINT kernel (COPTFLAGS=-O2 -pipe) > TB --- 2008-08-28 11:17:55 - cd /src > TB --- 2008-08-28 11:17:55 - /usr/bin/make -B buildkernel KERNCONF=LINT > >>> Kernel build for LINT started on Thu Aug 28 11:17:55 UTC 2008 > >>> stage 1: configuring the kernel > >>> stage 2.1: cleaning up the object tree > >>> stage 2.2: rebuilding the object tree > >>> stage 2.3: build tools > >>> stage 3.1: making dependencies > >>> stage 3.2: building everything > [...] > awk -f /src/sys/modules/cxgb/cxgb_t3fw/../../../conf/kmod_syms.awk > cxgb_t3fw.ko export_syms | xargs -J% objcopy % cxgb_t3fw.ko > objcopy --strip-debug cxgb_t3fw.ko > ===> cyclic (all) > cc -O2 -pipe -DDEBUG=1 -fno-strict-aliasing -D_KERNEL -DKLD_MODULE -std=c99 > -nostdinc -I/src/sys/modules/cyclic/../../cddl/compat/opensolaris > -I/src/sys/modules/cyclic/../../cddl/contrib/opensolaris/uts/common > -I/src/sys/modules/cyclic/../.. > -I/src/sys/modules/cyclic/../../cddl/dev/cyclic/amd64 > -DHAVE_KERNEL_OPTION_HEADERS -include /obj/amd64/src/sys/LINT/opt_global.h > -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 > --param large-function-growth=1000 -fno-common -fno-omit-frame-pointer > -I/obj/amd64/src/sys/LINT -mcmodel=kernel -mno-red-zone -mfpmath=387 > -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float > -fno-asynchronous-unwind-tables -ffreestanding -Wall -Wredundant-decls > -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith > -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions > -Wno-unknown-pragmas -c /src/sys/modules/cyclic/../../cddl/dev/cyclic/cyclic.c > In file included from > /src/sys/modules/cyclic/../../cddl/compat/opensolaris/sys/cyclic.h:40, > from > /src/sys/modules/cyclic/../../cddl/compat/opensolaris/sys/cyclic_impl.h:33, > from > /src/sys/modules/cyclic/../../cddl/dev/cyclic/cyclic.c:329: > /src/sys/modules/cyclic/../../cddl/compat/opensolaris/sys/cpuvar.h:72: error: > size of array 'cpuc_pad' is too large > *** Error code 1
This one is caused by struct sx difference between stable/7 and head. More detailed, sizeof(struct sx) in the LINT build exceeds 56 bytes, and causes CPUC_PADSIZE to be negative. I think that CPU_CACHE_COHERENCE_SIZE shall be defined as roundup. Unless you have objections, I will commit this to HEAD with short MFC period: diff --git a/sys/cddl/compat/opensolaris/sys/cpuvar.h b/sys/cddl/compat/opensolaris/sys/cpuvar.h index df0af5c..b42fda6 100644 --- a/sys/cddl/compat/opensolaris/sys/cpuvar.h +++ b/sys/cddl/compat/opensolaris/sys/cpuvar.h @@ -65,7 +65,8 @@ extern solaris_cpu_t solaris_cpu[]; */ #define CPUC_SIZE (sizeof (uint16_t) + sizeof (uintptr_t) + \ sizeof (kmutex_t)) -#define CPUC_PADSIZE CPU_CACHE_COHERENCE_SIZE - CPUC_SIZE +#define CPUC_SIZE1 roundup(CPUC_SIZE, CPU_CACHE_COHERENCE_SIZE) +#define CPUC_PADSIZE CPUC_SIZE1 - CPUC_SIZE typedef struct cpu_core { uint16_t cpuc_dtrace_flags; /* DTrace flags */
pgpW9n3XnsQv6.pgp
Description: PGP signature