If someone else wants to make them work, go for it.

I've already spent too much time making it work on old platforms with
outdated and increasingly rare architectures :/ The fallback isn't so
terrible and making everything portable is painful.

On Tue, 18 Dec 2012, David Walter wrote:

> I thought there are linux kernel headers with inline assembler for that. 
>
> They seemed to work in tests on 32 bit platforms.
>
> Admittedly these aren't the gcc __sync* family but would they work?
>
> http://www.takatan.net/lxr/source/include/asm-i386/atomic.h?v=2.4.21-47.EL
>
>
>
> On Tue, Dec 18, 2012 at 3:01 PM, <[email protected]> wrote:
>
>       Comment #3 on issue 301 by [email protected]: link fails for GCC 
> atomic functions
>       http://code.google.com/p/memcached/issues/detail?id=301
>
>       Take a look through the configure script, it's supposed to actually 
> test and use the atomic call, and fail back if it fails.
>
>       The problem is that 32bit x86 doesn't have 16bit atomics, so they have 
> to be detected and disabled. Except some versions of GCC (the one
>       you have) claims to have them anyway, and it'll fail at runtime. 32bit 
> is stuck with the mutex, but given how much memory you're limited
>       to, I doubt you'd ever notice the performance drop. It just won't be 
> hugely faster than .11.
>
>       I have no idea why setting march=i686 makes it work right, and I don't 
> have your OS to test on :/ Since that's all pretty old legacy
>       stuff, we might have to insist you compile with your workaround.
>
>       I'd consider a patch to the autocrap if it doesn't degrade any of our 
> supported platforms.
>
>
>
>

Reply via email to