Subject: pkg/10674: boehm-gc5.0a7 package dosen't compile on hpcmips
To: None <gnats-bugs@gnats.netbsd.org>
From: None <fk200329@fsinet.or.jp>
List: netbsd-bugs
Date: 07/24/2000 21:06:14
>Number:         10674
>Category:       pkg
>Synopsis:       fail compile in mach_dep.c
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 24 21:07:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Hiroyuki Yanai
>Release:        June 27, 2000
>Organization:
	fsinet user
>Environment:
System: NetBSD twiggy.fsinet.or.jp 1.5B NetBSD 1.5B (MYKERNEL) #0: Fri Jul 21 05:45:29 JST 2000 yanai@elwood.fsinet.or.jp:/usr/local/hpcmips/diskless/usr/src/sys/arch/hpcmips/compile/MYKERNEL hpcmips


>Description:
	fail compile in mach_dep.c
	hpcmips, need define 'USE_GENERIC_PUSH_REGS' to gcconfig.h
	
>How-To-Repeat:
	# make

	===> Validating dependencies for boehm-gc-5.0a7
	=> Checksum OK for gc5.0alpha7.tar.gz.
	===> Extracting for boehm-gc-5.0a7
	===> boehm-gc-5.0a7 depends on executable: gmake - /usr/pkg/bin/gmake found
	/bin/mv /usr/pkgsrc/devel/boehm-gc/work/gc/gc.man /usr/pkgsrc/devel/boehm-gc/work/gc/gc.man.in
	===> Patching for boehm-gc-5.0a7
	===> Applying NetBSD patches for boehm-gc-5.0a7
	===> Configuring for boehm-gc-5.0a7
	===> Building for boehm-gc-5.0a7
	/usr/bin/sed -e "s,@PREFIX@,/usr/pkg,g" /usr/pkgsrc/devel/boehm-gc/work/gc/gc.man.in  > /usr/pkgsrc/devel/boehm-gc/work/gc/gc.man
	gmake CFLAGS="-O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT" clean c++-t
	gmake[1]: Entering directory `/usr/pkgsrc/devel/boehm-gc/work/gc'
	rm -f gc.a *.o gctest gctest_dyn_link test_cpp \
	      setjmp_test  mon.out gmon.out a.out core if_not_there if_mach \
	      threadlibs cord/cordbscs.o cord/cordxtra.o cord/cordprnt.o cord/cordtest cord/de
	rm -f *~
	c++  -c -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT  ./gc_cpp.cc
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT   -c alloc.c -o alloc.o
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT   -c reclaim.c -o reclaim.o
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT   -c allchblk.c -o allchblk.o
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT   -c misc.c -o misc.o
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT -o if_mach ./if_mach.c
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT -o if_not_there ./if_not_there.c
	cc  -O -DATOMIC_UNCOLLECTABLE -DNO_SIGNALS -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DSILENT -o threadlibs ./threadlibs.c
	rm -f mach_dep.o
	./if_mach MIPS IRIX5 gcc -c -x assembler-with-cpp  -o mach_dep.o ./mips_sgi_mach_dep.s
	./if_mach MIPS RISCOS gcc -c -x assembler-with-cpp  -o mach_dep.o ./mips_ultrix_mach_dep.s
	./if_mach MIPS ULTRIX gcc -c -x assembler-with-cpp  -o mach_dep.o ./mips_ultrix_mach_dep.s
	./if_mach RS6000 "" gcc -c -x assembler-with-cpp  -o mach_dep.o ./rs6000_mach_dep.s
	./if_mach SPARC SUNOS5 gcc -c -x assembler-with-cpp  -o mach_dep.o ./sparc_mach_dep.s
	./if_mach SPARC SUNOS4 gcc -c -x assembler-with-cpp  -o mach_dep.o ./sparc_sunos4_mach_dep.s
	./if_mach SPARC OPENBSD gcc -c -x assembler-with-cpp  -o mach_dep.o ./sparc_sunos4_mach_dep.s
	./if_mach SPARC NETBSD gcc -c -x assembler-with-cpp  -o mach_dep.o ./sparc_netbsd_mach_dep.s
	./if_mach HP_PA HPUX gcc -c -x assembler-with-cpp  -o hpux_test_and_clear.o ./hpux_test_and_clear.s
	./if_mach HP_PA HPUX cc  -c -o md_tmp.o  ./mach_dep.c
	./if_mach HP_PA HPUX ld -r -o mach_dep.o md_tmp.o hpux_test_and_clear.o
	./if_not_there mach_dep.o cc  -c  ./mach_dep.c
	./mach_dep.c: In function `GC_push_regs':
	./mach_dep.c:383: syntax error before `>'
	gmake[1]: *** [mach_dep.o] Error 1
	gmake[1]: Leaving directory `/usr/pkgsrc/devel/boehm-gc/work/gc'
	gmake: *** [bsd-libgc.a] Error 2
	*** Error code 2

	Stop.
	*** Error code 1

	Stop.
	*** Error code 1

	Stop.

>Fix:
	apply this patch.

	--- gcconfig.h.orig	Tue Jul 25 11:58:27 2000
	+++ gcconfig.h	Tue Jul 25 12:05:12 2000
	@@ -997,6 +997,7 @@
	 #     define ALIGNMENT 4
	 #     define OS_TYPE "NETBSD"
	 #     define HEURISTIC2
	+#     define USE_GENERIC_PUSH_REGS 1
	 #     ifdef __ELF__
	         extern int etext;
	 #       define DATASTART GC_data_start


>Release-Note:
>Audit-Trail:
>Unformatted: