Subject: Building kernel using toolchain GCC 3.3?
To: None <>
From: Paul Mather <>
List: port-alpha
Date: 09/16/2003 19:44:58
There was a message not so long ago announcing a snapshot built using
the new in-tree GCC 3.3.  Was the kernel also built using GCC 3.3?  I
ask because I just tried using to build a kernel with
USE_TOOLS_TOOLCHAIN=no set and the build failed with an internal
compiler error complaining about an unrecognizable instruction:

===> command: ./ -V USE_TOOLS_TOOLCHAIN=no -T /usr/tools -D /ho
me/netbsd kernel=CHUMBY
===> started: Tue Sep 16 10:53:45 EDT 2003
===> MACHINE:          alpha
===> MACHINE_ARCH:     alpha
===> TOOLDIR path:     /usr/tools
===> DESTDIR path:     /home/netbsd
===> RELEASEDIR path:  /usr/src/releasedir
===> makewrapper:      /usr/tools/bin/nbmake-alpha
===> Updated /usr/tools/bin/nbmake-alpha
===> Building kernel without building new tools
/usr/src/sys/arch/alpha/compile/obj -> /usr/obj/sys/arch/alpha/compile
===> Building kernel:  CHUMBY
===> Build directory:  /usr/src/sys/arch/alpha/compile/obj/CHUMBY
rm -f a.out [Ee]rrs mklog core *.core .gdbinit 
Build directory is /usr/src/sys/arch/alpha/compile/obj/CHUMBY
Don't forget to run "make depend"
depending the kern library objects
/usr/tools/bin/alpha--netbsd-gcc  -pipe -mcpu=21164 -mno-fp-regs  -ffreestanding  -pipe -mcpu=21164 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -Wno-uninitialized  -Dalpha -I.  -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DDIAGNOSTIC -DLKM -DUCONSOLE -DRND_COM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /usr/src/sys/uvm/uvm_loan.c
/usr/tools/bin/alpha--netbsd-gcc  -pipe -mcpu=21164 -mno-fp-regs  -ffreestanding  -pipe -mcpu=21164 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -Wno-uninitialized  -Dalpha -I.  -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DDIAGNOSTIC -DLKM -DUCONSOLE -DRND_COM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT   -c /usr/src/sys/uvm/uvm_map.c
/usr/src/sys/uvm/uvm_map.h: In function `vm_map_lock':
/usr/src/sys/uvm/uvm_map.h:380: error: unrecognizable insn:
(insn 52 51 53 5 0x1608bf340 (set (reg:DI 18 $18)
        (symbol_ref:DI ("@Lvmmapbsy"))) -1 (nil)
/usr/src/sys/uvm/uvm_map.h:380: internal compiler error: in extract_insn, at recog.c:2175
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:> for instructions.

*** Failed target:  uvm_map.o
*** Failed command: /usr/tools/bin/alpha--netbsd-gcc -pipe -mcpu=21164 -mno-fp-regs -ffreestanding -pipe -mcpu=21164 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -Wno-uninitialized -Dalpha -I. -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DDIAGNOSTIC -DLKM -DUCONSOLE -DRND_COM -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -c /usr/src/sys/uvm/uvm_map.c
*** Error code 1

nbmake: stopped in /usr/obj/sys/arch/alpha/compile/CHUMBY

ERROR: Failed to make all in /usr/src/sys/arch/alpha/compile/obj/CHUMBY

This is with a recently SUPped version of -CURRENT.  I built the tools
in /usr/tools with USE_TOOLS_TOOLCHAIN=no set, and it completed
successfully.  Here is what /usr/tools/bin/alpha--netbsd-gcc -v

Reading specs from /usr/tools/lib/gcc-lib/alpha--netbsd/3.3.1/specs
Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc/configure --target=alpha--netbsd --disable-nls --enable-long-long --disable-multilib --enable-threads --program-transform-name=s,^,alpha--netbsd-, --enable-languages=c c++ objc f77 --prefix=/usr/tools --disable-shared
Thread model: posix
gcc version 3.3.1

Is it only possible to build kernels with the native GCC 2.95.3 right




"Without music to decorate it, time is just a bunch of boring production
 deadlines or dates by which bills must be paid."
        --- Frank Vincent Zappa