Extra Zero/Shark patches for review
Greg Lewis
glewis at eyesbeyond.com
Tue Nov 17 21:44:23 PST 2009
On Tue, Nov 17, 2009 at 05:35:06AM -0800, Greg Lewis wrote:
> On Mon, Nov 16, 2009 at 10:32:56PM -0800, Greg Lewis wrote:
> > The bad news is that the patches don't quite work on amd64. Its easy
> > enough to fix up the atomic ones for that, but I'm getting a little
> > bogged down in
> >
> > hotspot/src/os_cpu/bsd_zero/vm/orderAccess_bsd_zero.inline.hpp
> >
> > It seems like the i386 doesn't use this, but on amd64 it wants to use
> > the GCC builtin __sync_synchronize() as a full memory barrier.
> > Unfortunately this isn't being resolved with the FreeBSD native version
> > of gcc (maybe it was added later?) so that is blocking me. I don't want
> > to have to define ASM versions of this since, to me at least, that
> > partly defeats the purpose of Zero. Yes, I am aware that there are
> > ASM versions for arm and powerpc already defined in the file...
> >
> > Anyway, I'm looking for alternatives before I breakdown and write
> > any assembler. Any suggestions gratefully accepted.
>
> D'oh. I think real problem is that my amd64 box is still running FreeBSD 6.x,
> which means its using gcc 3.4.6. I bet that __sync_synchronize() wasn't
> implemented until gcc 4.x and if I just upgrade it will work.
>
> Of course that is a pain for anyone wanting to use a non-gcc compiler.
That was indeed the case. I upgraded to 8.0-RC3 and I can build Zero on
amd64 just with a few changes to the atomic implementation.
I'd like to try it out on an architecture we don't yet support though, so
I'll see if I can get my sparc64 box running well enough to do that.
--
Greg Lewis Email : glewis at eyesbeyond.com
Eyes Beyond Web : http://www.eyesbeyond.com
Information Technology FreeBSD : glewis at FreeBSD.org
More information about the bsd-port-dev
mailing list