Subject: port-m68k/24293: Native compile of igmp.c fails with internal compiler error
To: None <gnats-bugs@gnats.netbsd.org>
From: None <he@netbsd.org>
List: netbsd-bugs
Date: 02/01/2004 19:39:06
>Number:         24293
>Category:       port-m68k
>Synopsis:       Native compile of igmp.c fails with internal compiler error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-m68k-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Feb 01 18:40:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Havard Eidnes
>Release:        NetBSD 1.6ZI
>Organization:
	Unorganized, Inc.
>Environment:
System: NetBSD dennis.urc.uninett.no 1.6ZC NetBSD 1.6ZC (DENNIS) #6: Fri Oct  3 14:21:27 CEST 2003  jarle@dennis.urc.uninett.no:/sys/arch/hp300/compile/DENNIS hp300
Architecture: m68k
Machine: hp300
>Description:
	The host is running 1.6ZC.

	I'm using sources from yesterday, and have rebuilt the tools,
	so gcc is 3.3.2 nb1:

dennis# /usr/tools/bin/m68k--netbsdelf-gcc --version
m68k--netbsdelf-gcc (GCC) 3.3.2 (NetBSD nb1 20031026)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

dennis# 

	while the host compiler which built the above is 2.95.3:

dennis# cc --version
2.95.3
dennis# 

	While trying to compile a new kernel, the following error was
	encountered:

    compile  DENNIS/igmp.o
/usr/src/sys/netinet/igmp.c: In function `rti_fill':
/usr/src/sys/netinet/igmp.c:110: error: unable to find a register to spill in class `DATA_REGS'
/usr/src/sys/netinet/igmp.c:110: error: this is the insn:
(insn:QI 33 32 34 3 0x10495660 (set (cc0)
        (compare (mem/s:SI (plus:SI (reg/v/f:SI 9 %a1 [31])
                    (const_int 12 [0xc])) [3 <variable>.rti_type+0 S4 A32])
            (const_int 1 [0x1]))) 11 {*m68k.md:518} (nil)
    (expr_list:REG_DEAD (reg/v/f:SI 9 %a1 [31])
        (nil)))
/usr/src/sys/netinet/igmp.c:110: confused by earlier errors, bailing out

*** Failed target:  igmp.o
*** Failed command: echo ' ' "compile DENNIS/igmp.o"; : echo /usr/tools/bin/m68k--netbsdelf-gcc -msoft-float -ffreestanding -g -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -Dhp300 -I. -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DLKM -DCOMPAT_NOLABEL -DDIOVERBOSE -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -c /usr/src/sys/netinet/igmp.c; /usr/tools/bin/m68k--netbsdelf-gcc -msoft-float -ffreestanding -g -O2 -Werror -Wall -Wno-main -Wno-format-zero-length -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-sign-compare -Dhp300 -I. -I/usr/src/sys/arch -I/usr/src/sys -nostdinc -DLKM -DCOMPAT_NOLABEL -DDIOVERBOSE -DMAXUSERS=32 -D_KERNEL -D_KERNEL_OPT -c /usr/src/sys/netinet/igmp.c
*** Error code 1

Stop.
nbmake: stopped in /usr/obj/sys/arch/hp300/compile/DENNIS

ERROR: Failed to make all in /usr/src/sys/arch/hp300/compile/obj/DENNIS
*** BUILD ABORTED ***

	The DENNIS kernel is a pruned-down GENERIC hp300 kernel.


>How-To-Repeat:
	Try to build a new kernel from recent sources and with updated
	tools on any m68k-based host (I suspect) which has not yet
	made the leap to gcc 3.3.2.


>Fix:
	Sorry, I don't know.
>Release-Note:
>Audit-Trail:
>Unformatted: