bionic/libc/private
Serban Constantinescu bf3ec9ad52 AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
The bionic_atomic_cmpxchg() API states that the cmpxchg() will be done without
explicit memory barriers. LDAXR/STLXR semantics involve half barriers for
load/store.

This patch optimises cmpxchg() by using LDXR/STXR and avoiding unnecessary half
bariers. It also fixes the clobber list for all the bionic_atomic_*() functions.

Change-Id: Iae9468965785cfeeec791d52f1e8cbc524adb682
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-19 18:32:53 +00:00
..
__get_tls.h AArch64: Add initial support for AArch64 2013-12-16 17:00:22 -08:00
arpa_nameser_compat.h auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
arpa_nameser.h Fix x86_64 build, clean up intermediate libraries. 2013-10-09 16:00:17 -07:00
bionic_asm.h Stop using the non-uapi <linux/err.h> header file. 2013-11-07 10:31:05 -08:00
bionic_atomic_aarch64.h AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg() 2013-12-19 18:32:53 +00:00
bionic_atomic_arm.h Fix typo. 2013-12-16 13:02:49 -08:00
bionic_atomic_gcc_builtin.h Clean up the pthread-only atomic stuff a little. 2013-12-16 10:18:11 -08:00
bionic_atomic_inline.h AArch64: Add support for AArch64 atomic operations 2013-12-16 13:09:33 -08:00
bionic_atomic_mips.h Clean up the pthread-only atomic stuff a little. 2013-12-16 10:18:11 -08:00
bionic_atomic_x86.h Clean up the pthread-only atomic stuff a little. 2013-12-16 10:18:11 -08:00
bionic_auxv.h Remove 32-bit assumptions from the ELF code. 2013-09-30 18:43:46 -07:00
bionic_futex.h Fix pthread_join. 2013-11-18 19:48:11 -08:00
bionic_name_mem.h bionic: add function to name memory 2013-08-07 15:41:30 -07:00
bionic_pthread.h <pthread.h> fixes and pthread cleanup. 2013-10-31 12:31:16 -07:00
bionic_ssp.h Simplify __stack_chk_fail, and fix it so we get debuggerd stack traces. 2013-02-14 14:37:34 -08:00
bionic_time_conversions.h Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls. 2013-10-24 15:48:32 -07:00
bionic_time.h Ensure header files using __BEGIN_DECLS include sys/cdefs.h. 2013-06-05 17:58:08 -07:00
bionic_tls.h PTHREAD_KEYS_MAX cleanup. 2013-12-12 12:51:08 -08:00
ErrnoRestorer.h Revert "Revert "More pthreads cleanup."" 2013-02-12 15:27:18 -08:00
kernel_sigset_t.h Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls. 2013-10-24 15:48:32 -07:00
KernelArgumentBlock.h Remove 32-bit assumptions from the ELF code. 2013-09-30 18:43:46 -07:00
libc_events.h Optimize __memset_chk, __memcpy_chk. DO NOT MERGE. 2013-08-14 18:14:43 -07:00
libc_logging.h Optimize __memset_chk, __memcpy_chk. DO NOT MERGE. 2013-08-14 18:14:43 -07:00
nsswitch.h auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
resolv_cache.h resolved conflicts for merge of 5b661481 to master 2013-03-29 17:36:52 -07:00
resolv_iface.h Add clearing of resolv uid and pid interface maps 2013-06-07 13:03:23 -07:00
resolv_private.h Merge "Add marking of DNS sockets for mark based routing" 2013-07-11 22:10:31 +00:00
resolv_static.h auto import from //depot/cupcake/@135843 2009-03-03 19:28:35 -08:00
ScopedPthreadMutexLocker.h Fix dlerror(3). 2012-10-11 16:08:51 -07:00
ScopedReaddir.h Reimplement scandir(3). 2013-02-25 13:14:31 -08:00
thread_private.h Clean up useless declaration in thread_private.h 2013-06-05 11:26:24 +08:00
ThreadLocalBuffer.h Revert "Revert "More pthreads cleanup."" 2013-02-12 15:27:18 -08:00