[Gc] gc on NetBSD/sparc64

Chris Ross cross+netbsd at distal.com
Thu Jun 3 21:38:13 PDT 2010


On Jun 4, 2010, at 00:31, Ivan Maidanski wrote:
>>   What file is it you indicate having removed GC_push_regs from?
>
> sparc_mach_dep.S
>
> We are talking about different gc versions. If you are using gc-7.1  
> then the patch is needed, if you will switch to gc-7.2alpha4+ then  
> you won't need the patch. (In other words, the problem you  
> encountered is already solved (in another way).)

   Ahh, okay, I understand now.  Sorry for the misunderstanding earlier.

   Thank you.  We'll keep it in the pkgsrc tree then, and know it will  
simply not be needed later.

                - Chris

>> On Jun 3, 2010, at 01:20, Ivan Maidanski wrote:
>>
>>> Hello!
>>>
>>> To my opinion, this is not needed on gc72a4+ - I've removed
>>> GC_push_regs reference from that file (on 2009-11-10) since
>>> USE_ASM_PUSH_REGS is not defined for Sparc.
>>>
>>> Wed, 2 Jun 2010 22:00:00 +0200 Thomas Klausner <wiz at NetBSD.org>:
>>>
>>>> Hi!
>>>>
>>>> We've got the following bug report against gc-7.1 in pkgsrc.
>>>>
>>>> Could you please add the patch?
>>>>
>>>> Thanks,
>>>> Thomas
>>>>
>>>> ----- 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 -----
>>



More information about the Gc mailing list