You absolutely want to run the witness checks; freebsd/xen is still in
development.

I'll commit the netfront fix though. Thanks!


Adrian

2009/6/7 Edwin Shao <pole...@gmail.com>:
> Hi all,
>
> I am running Adrian's Xen image on a pygrub domU and am building the
> kernel targeted towards production use. With that in mind, commenting
> out the lines:
> #options        WITNESS                 # Enable checks to detect
> deadlocks and cycles
> #options        WITNESS_SKIPSPIN        # Don't run witness on
> spinlocks for speed
>
> Yields the error:
> In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33:
> /usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined,
> include <sys/lock.h> before <sys/sx.h>"
> mkdep: compile failed
>
> This is reproducible, at the very least, between 20090520 and 20090606.
>
> A very simple fix is:
> diff netfront.c netfront.old.c
> 33d32
> < #include <sys/lock.h>
>
> Let me know if I am doing something stupidly wrong (as I've only been
> running FreeBSD since yesterday) or if you need any more information.
>
> Thanks,
> Edwin
>
> PS. If there is any interest, I can provide weekly or so kernel
> builds. My config file is aimed towards use in a production
> environment with jails use, and thus has debugging options off and
> pf/vlan/NULLFS/FDESCFS enabled.
>
>
> ---------- Error Log ----------
>
>
> --------------------------------------------------------------
>>>> Kernel build for XENNEKO started on Sat Jun  6 20:55:49 EDT 2009
> --------------------------------------------------------------
> ===> XENNEKO
> mkdir -p /usr/obj/usr/src/sys
>
> --------------------------------------------------------------
>>>> stage 1: configuring the kernel
> --------------------------------------------------------------
> cd /usr/src/sys/i386/conf;
> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
>  config  -d /usr/obj/usr/src/sys/XENNEKO
> /usr/src/sys/i386/conf/XENNEKO
> Kernel build directory is /usr/obj/usr/src/sys/XENNEKO
> Don't forget to do ``make cleandepend && make depend''
>
> --------------------------------------------------------------
>>>> stage 2.1: cleaning up the object tree
> --------------------------------------------------------------
> cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj
> MACHINE_ARCH=i386  MACHINE=i386  CPUTYPE=pentiumpro
> GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin
> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac
> _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  VERSION="FreeBSD 8.0-CURRENT
> i386 800095"  INSTALL="sh /usr/src/tools/install.sh"
> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
> NO_CTF=1 make KERNEL=kernel cleandir
> rm -f *.o *.so *.So *.ko *.s eddep errs  kernel.debug kernel
> kernel.symbols  linterrs makelinks tags vers.c  vnode_if.c vnode_if.h
> vnode_if_newproto.h vnode_if_typedef.h  eisa_if.c mmcbr_if.c
> mmcbus_if.c card_if.c power_if.c pci_if.c pcib_if.c g_part_if.c
> isa_if.c bus_if.c clock_if.c cpufreq_if.c device_if.c linker_if.c
> serdev_if.c xenbus_if.c acpi_if.c eisa_if.h mmcbr_if.h mmcbus_if.h
> card_if.h power_if.h pci_if.h pcib_if.h g_part_if.h isa_if.h bus_if.h
> clock_if.h cpufreq_if.h device_if.h linker_if.h serdev_if.h
> xenbus_if.h acpi_if.h  pccarddevs.h
> rm -f .depend machine
> cd /usr/src/sys/modules;
> MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules
> KMODDIR=/boot/kernel MODULES_OVERRIDE="""" DEBUG_FLAGS="-g"
> MACHINE=i386 KERNBUILDDIR="/usr/obj/usr/src/sys/XENNEKO"
> SYSDIR="/usr/src/sys" make  cleandir
>
> --------------------------------------------------------------
>>>> stage 2.2: rebuilding the object tree
> --------------------------------------------------------------
> cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj
> MACHINE_ARCH=i386  MACHINE=i386  CPUTYPE=pentiumpro
> GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin
> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac
> _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  VERSION="FreeBSD 8.0-CURRENT
> i386 800095"  INSTALL="sh /usr/src/tools/install.sh"
> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
> NO_CTF=1 make KERNEL=kernel obj
> cd /usr/src/sys/modules;
> MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules
> KMODDIR=/boot/kernel MODULES_OVERRIDE="""" DEBUG_FLAGS="-g"
> MACHINE=i386 KERNBUILDDIR="/usr/obj/usr/src/sys/XENNEKO"
> SYSDIR="/usr/src/sys" make  obj
>
> --------------------------------------------------------------
>>>> stage 2.3: build tools
> --------------------------------------------------------------
> cd /usr/obj/usr/src/sys/XENNEKO;
> MAKESRCPATH=/usr/src/sys/dev/aic7xxx/aicasm  make SSP_CFLAGS=
> -DNO_CPU_CFLAGS -DNO_CTF  -f /usr/src/sys/dev/aic7xxx/aicasm/Makefile
> Warning: Object directory not changed from original 
> /usr/obj/usr/src/sys/XENNEKO
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c /usr/src/sys/dev/aic7xxx/aicasm/aicasm_symbol.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c aicasm_gram.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c aicasm_macro_gram.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c aicasm_scan.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign -c aicasm_macro_scan.c
> cc -O2 -fno-strict-aliasing -pipe -nostdinc -I/usr/include -I.
> -I/usr/src/sys/dev/aic7xxx/aicasm -std=gnu99  -Wsystem-headers -Werror
> -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual
> -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter
> -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wno-pointer-sign  -o aicasm aicasm.o aicasm_symbol.o aicasm_gram.o
> aicasm_macro_gram.o aicasm_scan.o aicasm_macro_scan.o -ll
> cd /usr/src/sys/modules/aic7xxx/aicasm;
> MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules  make
> SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF obj
> cd /usr/src/sys/modules/aic7xxx/aicasm;
> MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules  make
> SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF depend
> cd /usr/src/sys/modules/aic7xxx/aicasm;
> MAKEOBJDIRPREFIX=/usr/obj/usr/src/sys/XENNEKO/modules  make
> SSP_CFLAGS= -DNO_CPU_CFLAGS -DNO_CTF all
>
> --------------------------------------------------------------
>>>> stage 3.1: making dependencies
> --------------------------------------------------------------
> cd /usr/obj/usr/src/sys/XENNEKO; MAKEOBJDIRPREFIX=/usr/obj
> MACHINE_ARCH=i386  MACHINE=i386  CPUTYPE=pentiumpro
> GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin
> GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font
> GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac
> _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp  VERSION="FreeBSD 8.0-CURRENT
> i386 800095"  INSTALL="sh /usr/src/tools/install.sh"
> PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin
> NO_CTF=1 make KERNEL=kernel depend -DNO_MODULES_OBJ
> machine -> /usr/src/sys/i386/include
> cc -c -O -pipe -march=pentiumpro -std=c99 -g -Wall -Wredundant-decls
> -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes
> -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign
> -fformat-extensions -nostdinc -I. -I/usr/src/sys
> -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
> -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath
> -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm
> -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD
> -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs
> -I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb
> -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
> -finline-limit=8000 --param inline-unit-growth=100 --param
> large-function-growth=1000 -mno-align-long-strings
> -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
> -mno-sse3 -ffreestanding -fstack-protector
> /usr/src/sys/i386/i386/genassym.c
> NM='nm' sh /usr/src/sys/kern/genassym.sh genassym.o > assym.s
> awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -p
> awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -q
> awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -h
> awk -f /usr/src/sys/tools/pccarddevs2h.awk /usr/src/sys/dev/pccard/pccarddevs
> awk -f /usr/src/sys/tools/vnode_if.awk /usr/src/sys/kern/vnode_if.src -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m 
> -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -c
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/eisa/eisa_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbr_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/mmc/mmcbus_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/card_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pccard/power_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pci_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/pci/pcib_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/geom/part/g_part_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/isa/isa_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/bus_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/clock_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/cpufreq_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/device_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/linker_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/kern/serdev_if.m -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/xen/xenbus/xenbus_if.m 
> -h
> awk -f /usr/src/sys/tools/makeobjops.awk /usr/src/sys/dev/acpica/acpi_if.m -h
> rm -f .newdep
> make -V CFILES -V SYSTEM_CFILES -V GEN_CFILES |  MKDEP_CPP="cc -E"
> CC="cc" xargs mkdep -a -f .newdep -O -pipe -march=pentiumpro -std=c99
> -g -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
> -Wno-pointer-sign -fformat-extensions -nostdinc  -I. -I/usr/src/sys
> -I/usr/src/sys/contrib/altq -I/usr/src/sys/contrib/ipfilter
> -I/usr/src/sys/contrib/pf -I/usr/src/sys/dev/ath
> -I/usr/src/sys/dev/ath/ath_hal -I/usr/src/sys/contrib/ngatm
> -I/usr/src/sys/dev/twa -I/usr/src/sys/gnu/fs/xfs/FreeBSD
> -I/usr/src/sys/gnu/fs/xfs/FreeBSD/support -I/usr/src/sys/gnu/fs/xfs
> -I/usr/src/sys/contrib/opensolaris/compat -I/usr/src/sys/dev/cxgb
> -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h
> -fno-common -finline-limit=8000 --param inline-unit-growth=100 --param
> large-function-growth=1000  -mno-align-long-strings
> -mpreferred-stack-boundary=2  -mno-mmx -mno-3dnow -mno-sse -mno-sse2
> -mno-sse3 -ffreestanding -fstack-protec!
>  tor
> *** Error code 1
>
> Stop in /usr/obj/usr/src/sys/XENNEKO.
> *** Error code 1
>
> Stop in /usr/src.
> *** Error code 1
>
> Stop in /usr/src.
>
> In file included from /usr/src/sys/dev/xen/netfront/netfront.c:33:
> /usr/src/sys/sys/sx.h:211:2: error: #error "LOCK_DEBUG not defined,
> include <sys/lock.h> before <sys/sx.h>"
> mkdep: compile failed
> _______________________________________________
> freebsd-xen@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-xen
> To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"
>
_______________________________________________
freebsd-xen@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to