[Gc] gc on NetBSD/sparc64

Thomas Klausner wiz at NetBSD.org
Wed Jun 2 13:00:00 PDT 2010


We've got the following bug report against gc-7.1 in pkgsrc.

Could you please add the patch?


----- Forwarded message from Chris Ross <cross+netbsd at distal.com> -----

Date: Wed, 2 Jun 2010 13:01:46 -0400
From: Chris Ross <cross+netbsd at distal.com>
To: pkgsrc-users at netbsd.org,
	NetBSD port-sparc64 mailing list <port-sparc64 at netbsd.org>
Subject: devel/boehm-gc doesn't work on sparc64

  patches patch-ab and patch-ae of devel/boehm affect the way it builds on sparcs, and sparc64s.  It appears that configure was adjusted to add netbsd sparc64 to the set of hosts that use the sparc_mach_dep.S assembly file, and the C code is #ifdef'd out in mach_dep.c

  However, the assembly in sparc_mach_dep.S defines GC_push_regs as a global symbol, but does not include that label.  If you build devel/boehm-gc on sparc64, it will succeed, but a "make test" will fail as follows:

/bin/sh ./libtool --tag=CC --mode=link cc -fexceptions -I libatomic_ops/src -O2  -Wl,-R/usr/pkg/lib -o gctest  tests/test.o ./libgc.la  
libtool: link: cc -fexceptions -Ilibatomic_ops/src -O2 -Wl,-R/usr/pkg/lib -o .libs/gctest tests/test.o  ./.libs/libgc.so -L/data/NetBSD/pkgsrc/devel/boehm-gc/work/.buildlink/lib -Wl,-rpath -Wl,/usr/pkg/lib
./.libs/libgc.so: undefined reference to `GC_push_regs'
gmake: *** [gctest] Error 1
*** Error code 2

  Guided by looking at sparc_netbsd_mach_dep.s, I made the following patch to the sources, and rebuilt the library at this point, "make test" succeeds.

  Could this please be included?  Thank you.

                                        - Chris

----- End forwarded message -----
-------------- next part --------------
--- sparc_mach_dep.S.orig	2007-04-27 18:01:22.000000000 -0400
+++ sparc_mach_dep.S	2010-06-02 12:53:00.000000000 -0400
@@ -8,6 +8,7 @@
 	.globl	GC_save_regs_in_stack
 	.globl 	GC_push_regs
 #if defined(__arch64__) || defined(__sparcv9)
 	save	%sp,-128,%sp

More information about the Gc mailing list