[Gc] gc on NetBSD/sparc64

Chris Ross cross+netbsd at distal.com
Wed Jun 2 23:14:49 PDT 2010


   Hello.  I'm not sure which file you mean, and it may be a NetBSD/ 
pkgsrc related problem, but I can attest that without the earlier  
included patch, the library produces code that will fail to link an  
executable, because GC_push_regs is referenced from another place in  
the library.

   What file is it you indicate having removed GC_push_regs from?

                         - 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