Subject: kern/16214: 32bit kernels are broken
To: None <>
From: Martin Husemann <>
List: netbsd-bugs
Date: 04/06/2002 11:20:38
>Number:         16214
>Category:       kern
>Synopsis:       32bit kernels are broken
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Apr 06 01:21:01 PST 2002
>Originator:     Martin Husemann
>Release:        NetBSD 1.5ZC
System: NetBSD 1.5ZC NetBSD 1.5ZC (PORTER) #1: Fri Apr 5 11:45:53 MEST 2002 i386
Architecture: i386
Machine: i386

Using a 32bit sparc64 kernel results in compiler errors, same userland works
on sparc.


I setup a native sparc userland, used a i386-sparc cross-compiler to build
a sparc64 32bit kernel and booted that. Then I tried to recompile the kernel

This results (repeatable) in this error:

cc  -pipe -mno-fpu -ffreestanding  -O2 -mcpu=ultrasparc -pipe -Werror -Wall -Wno-main -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes -Wno-uninitialized  -Dsparc64 -D__sparc64__ -m32 -Wa,-Av8plusa -mcpu=ultrasparc -I.  -I../../../../arch -I../../../.. -nostdinc -DNVNODE="0x2ee0" -D__ELF__ -DMAXUSERS=10 -D_KERNEL -D_KERNEL_OPT   -c /sparc64/usr/src/sys/arch/sparc64/compile/SETTINGSUN32/../../../../netinet/tcp_input.c
cc: {standard input}: Assembler messages:
{standard input}:0: Warning: end of file not at end of a line; newline inserted
{standard input}:359: Error: Unknown opcode: `l'
Internal compiler error: program cc1 got fatal signal 11
*** Error code 1

make: stopped in /sparc64/usr/src/sys/arch/sparc64/compile/SETTINGSUN32
/sparc64/usr/src/sys/arch/sparc64/compile/SETTINGSUN32 > cpp0: output pipe has been closed

I get similar errors when trying to compile "digest" from pkgsrc.

The exactly same toolchain and userland works fine on my Sparc LX,
so this is definitively a kernel issue.