[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [libunwind] Failed to build from source with gcc 4.0
From: |
James E Wilson |
Subject: |
RE: [libunwind] Failed to build from source with gcc 4.0 |
Date: |
05 May 2005 12:25:41 -0700 |
Date: |
Thu, 05 May 2005 12:25:05 -0700 |
On Tue, 2005-05-03 at 13:30, Boehm, Hans wrote:
> It looks like the "+S" constraint on *addr is the problem,
> though I won't claim to understand exactly why.
Yes, a gcc bug, I'm fixing it.
By the way, Richard Henderson has recently generalized the gcc support
in this area. We now have a long list of builtin functions for
synchronization operations. __sync_fetch_and_OP for add, sub, or, and,
xor, nand. __sync_OP_and_fetch. __sync_{bool,var}_compare_and_swap.
__sync_lock_test_and_set. __sync_lock_release. __sync_synchronize.
These builtins are already supported by both the x86 and the ia64 ports
on gcc mainline.
When people switch to gcc-4.1 (still a long ways away), atomic_ops.h can
probably just collapse to a few builtin function calls. You should not
need any asms here anymore.