[releng_7 tinderbox] failure on amd64/amd64

Kostik Belousov kostikbel at gmail.com
Thu Aug 28 13:26:12 UTC 2008


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 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20080828/7b685ff3/attachment.pgp


More information about the freebsd-stable mailing list