Unfortunately, the __sync_synchronize() bug appears still to be present in the updated GCC. A call to this intrinsic still disappears in the compiler's output.
The __sync_lock_test_and_set() bug may still be present; however it is also possible that the __sync_synchronize() bug is masking the fix. $ apt-cache policy gcc-4.4 cpp-4.4 gcc-4.4: Installed: 4.4.2-3ubuntu2 Candidate: 4.4.2-3ubuntu2 Version table: *** 4.4.2-3ubuntu2 0 500 http://arm-ports-ubuntu lucid/main Packages 100 /var/lib/dpkg/status cpp-4.4: Installed: 4.4.2-3ubuntu2 Candidate: 4.4.2-3ubuntu2 Version table: *** 4.4.2-3ubuntu2 0 500 http://arm-ports-ubuntu lucid/main Packages 100 /var/lib/dpkg/status $ echo 'void f(void) { __sync_synchronize(); }' | gcc -S -o- -xc - .syntax unified .arch armv7-a .eabi_attribute 27, 3 .fpu vfpv3-d16 .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 2 .eabi_attribute 30, 6 .eabi_attribute 18, 4 .thumb .file "" .text .align 2 .global f .thumb .thumb_func .type f, %function f: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 1, uses_anonymous_args = 0 @ link register save eliminated. push {r7} add r7, sp, #0 mov sp, r7 pop {r7} bx lr .size f, .-f .ident "GCC: (Ubuntu 4.4.2-3ubuntu2) 4.4.2" .section .note.GNU-stack,"",%progbits __sync_lock_test_and_set_* still don't contain a barrier in the right place, though this may be due to the above bug. 00008e04 <__sync_lock_test_and_set_4>: 8e04: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 8e08: f640 76c0 movw r6, #4032 ; 0xfc0 8e0c: 4605 mov r5, r0 8e0e: 460f mov r7, r1 8e10: f6cf 76ff movt r6, #65535 ; 0xffff 8e14: 682c ldr r4, [r5, #0] 8e16: 4639 mov r1, r7 8e18: 462a mov r2, r5 8e1a: 4620 mov r0, r4 8e1c: 47b0 blx r6 8e1e: 2800 cmp r0, #0 8e20: d1f8 bne.n 8e14 <__sync_lock_test_and_set_4+0x10> 8e22: 4620 mov r0, r4 8e24: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} -- [armel] Atomic intrinsics are not implemented correctly https://bugs.launchpad.net/bugs/491872 You received this bug notification because you are a member of Ubuntu Desktop Bugs, which is subscribed to glib2.0 in ubuntu. -- desktop-bugs mailing list desktop-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/desktop-bugs