> Disassembling a statically-built copy of the "sln" binary generated by > glibc's compile phase, there are slight differences in how gcc-4.7 and > gcc-4.8 are compiling the __lll_lock_wait_private function. The key > differences in the output asm are > this: [...] > gcc-4.8: > x+4 <START> > ... > x+24 bne v1,v0,<x+56> > ... > x+32 0x7c03e83b /* rdhwr */ > x+36 li a2,2 > x+40 lw a1,-29832(v1) > x+44 move a3,zero > x+48 li v0,4238 > x+52 syscall > * x+56 ll v0,0(s0) > * x+60 li at,2 > * x+64 sc at,0 Note how the sc address is no longer 0(s0). Since the address does not match the address used in the ll instruction, sc will always fail on the R10k. Miod