Re: [Gc] gc on NetBSD/sparc64
ivmai at mail.ru
Thu Jun 3 21:31:55 PDT 2010
Thu, 3 Jun 2010 02:14:49 -0400 Chris Ross <cross+netbsd at distal.com>:
> 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?
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).)
> - 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