Extra Zero/Shark patches for review

Greg Lewis glewis at eyesbeyond.com
Tue Nov 17 05:35:06 PST 2009


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.

-- 
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