Subject: Semi-successful Feb 23 -current+SMP build
To: None <tech-smp@netbsd.org>
From: Tyler Mitchell <fission@styrophone.net>
List: tech-smp
Date: 04/02/2002 00:01:32
Hello,

With a bit of tweaking, I have successfully built -current using the
February 23 sources (yay!).

Initially, I wanted to use a current -current, but due to the memory
pool changes, the build failed.  I tried fixing it myself but without
success; a kernel compiled fine, but didn't make it very far on boot-up
("page trap fault", IIRC).  Oh well.

Below I've provided the changes I made for -current to compile.  I suspect
that most of these have been addressed since 23 February and won't be
present in the next synchronization (or in later versions of -current)...

usr.bin/elf2ecoff/Makefile:
	added .include <bsd.prog.mk> to the top to provide a
	clean(dir) target

sys/arch/i386/include/atomic.h:
	changed "u_int32_t" to "unsigned long"
	(see http://mail-index.netbsd.org/tech-smp/2002/01/26/0000.html)

sys/arch/i386/pci/agp_machdep.c:
	added #include <machine/cpu.h> for missing cpu_feature
	(not sure why I have to do this; shouldn't this be
	 included elsewhere?)

sys/arch/i386/stand/Makefile:
	commented out SUBDIR+=netboot

This is what the compiler said when trying to build the netboot ROMs:

/usr/src/tools/obj.i386/tools.NetBSD-1.5ZA-i386/bin/i386--netbsdelf-ld -o netboot_3c509.sym -M -e start -Ttext 0x90000 start_rom.o main.o devopen.o conf.o dev_net.o exec.o netif_small.o 3c509.o elink3.o vers.o  /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/i386/libi386.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/z/libz.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/kern/libkern.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/i386/libi386.a /usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a >netboot_3c509.list
/usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a(globals.o)(.data+0x20): multiple definition of `rootpath'
dev_net.o(.data+0x20): first defined here
/usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a(globals.o)(.data+0xa0): multiple definition of `netmask'
dev_net.o(.data+0x0): first defined here
/usr/src/sys/arch/i386/stand/netboot/3c509/obj.i386/lib/sa/libsa.a(globals.o)(.data+0x0): multiple definition of `bcea'
dev_net.o(.data+0xa0): first defined here
*** Error code 1

From a quick peek, it looks like both libsa.a and dev_net are being
included and dev_net is already in libsa.  But, I have not been able to
look at it more closely.

In any case, I am super impressed with the speed of this box now; a
dual-500 Celeron (compiled with schnazzy gcc options, no less) is a great
deal faster than its predecessor, a Pentium 75.

Kudos to the NetBSD developers (and testers)!

-- 
Tyler Mitchell

"Wherever you go, there you are."
      -- Douglas Adams