| Index: src/include/linux/arm/atomic_ops.h
 | 
| diff --git a/src/include/linux/arm/atomic_ops.h b/src/include/linux/arm/atomic_ops.h
 | 
| deleted file mode 100644
 | 
| index 0cde4058184ba479fc4c23c996699b20361f850b..0000000000000000000000000000000000000000
 | 
| --- a/src/include/linux/arm/atomic_ops.h
 | 
| +++ /dev/null
 | 
| @@ -1,81 +0,0 @@
 | 
| -/*
 | 
| - * Copyright (c) 2011 The Native Client Authors. All rights reserved.
 | 
| - * Use of this source code is governed by a BSD-style license that can be
 | 
| - * found in the LICENSE file.
 | 
| - */
 | 
| -
 | 
| -#ifndef NATIVE_CLIENT_SRC_INCLUDE_LINUX_ARM_ATOMIC_OPS_LINUX_ARM_H_
 | 
| -#define NATIVE_CLIENT_SRC_INCLUDE_LINUX_ARM_ATOMIC_OPS_LINUX_ARM_H_ 1
 | 
| -
 | 
| -// Used only by trusted code.  Untrusted code uses gcc intrinsics.
 | 
| -
 | 
| -#include "native_client/src/include/portability.h"
 | 
| -#include <stdint.h>
 | 
| -
 | 
| -typedef int32_t Atomic32;
 | 
| -
 | 
| -static INLINE Atomic32 CompareAndSwap(volatile Atomic32* ptr,
 | 
| -                                      Atomic32 old_value,
 | 
| -                                      Atomic32 new_value) {
 | 
| -  Atomic32 oldval, res;
 | 
| -  do {
 | 
| -    __asm__ __volatile__(
 | 
| -        "ldrex   %1, [%3]\n"
 | 
| -        "mov     %0, #0\n"
 | 
| -        "teq     %1, %4\n"
 | 
| -        /*
 | 
| -         * The if-then block affects the following four instructions.
 | 
| -         * But we only have one we want to predicate.  So we have to
 | 
| -         * add three nops when compiling for Thumb.
 | 
| -         */
 | 
| -        "itt     eq\n"
 | 
| -        "strexeq %0, %5, [%3]\n"
 | 
| -#ifdef __thumb__
 | 
| -        "nop\n"
 | 
| -        "nop\n"
 | 
| -        "nop\n"
 | 
| -#endif
 | 
| -        : "=&r" (res), "=&r" (oldval), "+Qo" (*ptr)
 | 
| -        : "r" (ptr), "Ir" (old_value), "r" (new_value)
 | 
| -        : "cc", "memory");
 | 
| -  } while (res);
 | 
| -  return oldval;
 | 
| -}
 | 
| -
 | 
| -static INLINE Atomic32 AtomicExchange(volatile Atomic32* ptr,
 | 
| -                                      Atomic32 new_value) {
 | 
| -  Atomic32 tmp, old;
 | 
| -
 | 
| -  __asm__ __volatile__(
 | 
| -      "1:\n"
 | 
| -      "ldrex %1, [%2]\n"
 | 
| -      "strex %0, %3, [%2]\n"
 | 
| -      "teq %0, #0\n"
 | 
| -      "bne 1b"
 | 
| -      : "=&r" (tmp), "=&r" (old)
 | 
| -      : "r" (ptr), "r" (new_value)
 | 
| -      : "cc", "memory");
 | 
| -
 | 
| -  return old;
 | 
| -}
 | 
| -
 | 
| -static INLINE Atomic32 AtomicIncrement(volatile Atomic32* ptr,
 | 
| -                                       Atomic32 increment) {
 | 
| -  Atomic32 tmp, res;
 | 
| -
 | 
| -  __asm__ __volatile__(
 | 
| -      "1:\n"
 | 
| -      "ldrex %1, [%2]\n"
 | 
| -      "add %1, %1, %3\n"
 | 
| -      "strex %0, %1, [%2]\n"
 | 
| -      "cmp %0, #0\n"
 | 
| -      "bne 1b"
 | 
| -      : "=&r" (tmp),    // %0
 | 
| -        "=&r"(res)      // %1
 | 
| -      : "r" (ptr),      // %2
 | 
| -        "r"(increment)  // %3
 | 
| -      : "cc", "memory");
 | 
| -  return res;
 | 
| -}
 | 
| -
 | 
| -#endif  /* NATIVE_CLIENT_SRC_INCLUDE_LINUX_ARM_ATOMIC_OPS_LINUX_ARM_H_ */
 | 
| 
 |