On 22 Dec 2008, at 10:49, Andreas Höschler wrote: > ETThreadedObject.m:44:2: #warning Potentially unsafe memory operations > being used > make[1]: *** [obj/ETThreadedObject.m.o] Error 1 > make: *** [EtoileThread.all.framework.variables] Error 2 > >> I still don't understand why we don't get this warning on other >> platforms… What's your GCC version? > > -bash-3.00# gcc --version > gcc (GCC) 3.4.4
I can explain this one. ETThreadedObject uses lockless ring buffers which require either a strongly-ordered architecture, or atomic operations. If your GCC support atomic builtins, then they will be used. If not, then it will fall back to doing unsafe arithmetic. You need to check whether your architecture (SPARC?) allows reordering of memory accesses and if it does (I think it does) then you will need to upgrade GCC or add some inline assembly providing an atomic increment. David _______________________________________________ Etoile-discuss mailing list [email protected] https://mail.gna.org/listinfo/etoile-discuss
