This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/3] sysdeps/arm/bits/atomic.h: Add a wider range of atomic operations
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Will Newton <will dot newton at linaro dot org>
- Cc: <libc-alpha at sourceware dot org>
- Date: Fri, 3 Oct 2014 16:31:17 +0000
- Subject: Re: [PATCH 2/3] sysdeps/arm/bits/atomic.h: Add a wider range of atomic operations
- Authentication-results: sourceware.org; auth=none
- References: <1412349086-11473-1-git-send-email-will dot newton at linaro dot org> <1412349086-11473-3-git-send-email-will dot newton at linaro dot org>
On Fri, 3 Oct 2014, Will Newton wrote:
> -# define __arch_compare_and_exchange_bool_64_int(mem, newval, oldval, model) \
> - ({__arm_link_error (); 0; })
> +# define __arch_exchange_32_int(mem, newval, model) \
> + __atomic_exchange_n (mem, newval, model)
I think obvious link errors are desirable for 64-bit atomics, rather than
possibly calling libatomic functions using locks, or libgcc functions that
would introduce a hidden dependency on a more recent kernel version (for
64-bit atomics helpers) than we currently require (the helpers having been
introduced in 3.1).
(So in a generic header it should be configurable whether it provides
64-bit atomic operations or not.)
--
Joseph S. Myers
joseph@codesourcery.com