Print this page
5042 stop using deprecated atomic functions

*** 36,98 **** #if !defined(__lint) && defined(__GNUC__) #if defined(__amd64) - extern __GNU_INLINE void - atomic_or_long(ulong_t *target, ulong_t bits) - { - __asm__ __volatile__( - "lock; orq %1, (%0)" - : /* no output */ - : "r" (target), "r" (bits)); - } - - extern __GNU_INLINE void - atomic_and_long(ulong_t *target, ulong_t bits) - { - __asm__ __volatile__( - "lock; andq %1, (%0)" - : /* no output */ - : "r" (target), "r" (bits)); - } - - #ifdef notdef - extern __GNU_INLINE uint64_t - cas64(uint64_t *target, uint64_t cmp, - uint64_t newval) - { - uint64_t retval; - - __asm__ __volatile__( - "movq %2, %%rax; lock; cmpxchgq %3, (%1)" - : "=a" (retval) - : "r" (target), "r" (cmp), "r" (newval)); - return (retval); - } - #endif - #elif defined(__i386) - extern __GNU_INLINE void - atomic_or_long(ulong_t *target, ulong_t bits) - { - __asm__ __volatile__( - "lock; orl %1, (%0)" - : /* no output */ - : "r" (target), "r" (bits)); - } - - extern __GNU_INLINE void - atomic_and_long(ulong_t *target, ulong_t bits) - { - __asm__ __volatile__( - "lock; andl %1, (%0)" - : /* no output */ - : "r" (target), "r" (bits)); - } - #else #error "port me" #endif #endif /* !__lint && __GNUC__ */ --- 36,47 ----