From da64e6bb4ea8e1c7ef7aadd113ed701089fb1512 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Mon, 8 Sep 2008 22:25:14 +0000 Subject: [PATCH] 008-09-08 Jeff Johnston * libc/sys/linux/dl/atomicity.h (exchange_and_add): Fix asm statement to use "m" instead of "0". (atomic_add): Ditto. * libc/sys/linux/linuxthreads/spinlock.c (__pthread_release): Ditto. * libc/sys/linux/net/getaddrinfo.c: Add limit.h include. * libc/sys/linux/stdlib/glob.c: Ditto. --- newlib/ChangeLog | 16 ++++++++++++++++ newlib/libc/sys/linux/dl/atomicity.h | 4 ++-- newlib/libc/sys/linux/linuxthreads/spinlock.c | 4 ++-- newlib/libc/sys/linux/net/getaddrinfo.c | 1 + newlib/libc/sys/linux/stdlib/glob.c | 1 + 5 files changed, 22 insertions(+), 4 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index edf99d4a1..e53c86ef8 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,19 @@ +2008-09-08 Jeff Johnston + + * libc/sys/linux/dl/atomicity.h (exchange_and_add): Fix asm statement to use "m" instead of "0". + (atomic_add): Ditto. + * libc/sys/linux/linuxthreads/spinlock.c (__pthread_release): Ditto. + * libc/sys/linux/net/getaddrinfo.c: Add limit.h include. + * libc/sys/linux/stdlib/glob.c: Ditto. + +2008-09-08 jjohnstn + + * libc/sys/linux/dl/atomicity.h (exchange_and_add): + (atomic_add): + * libc/sys/linux/linuxthreads/spinlock.c (__pthread_release): + * libc/sys/linux/net/getaddrinfo.c: + * libc/sys/linux/stdlib/glob.c: + 2008-09-04 Ken Werner * libm/machine/spu/headers/acosd2.h: Duplicated preamble text removed. diff --git a/newlib/libc/sys/linux/dl/atomicity.h b/newlib/libc/sys/linux/dl/atomicity.h index 8b52ab407..3dbd00689 100644 --- a/newlib/libc/sys/linux/dl/atomicity.h +++ b/newlib/libc/sys/linux/dl/atomicity.h @@ -28,7 +28,7 @@ exchange_and_add (volatile uint32_t *mem, uint32_t val) { register uint32_t result; __asm__ __volatile__ ("lock; xaddl %0,%1" - : "=r" (result), "=m" (*mem) : "0" (val), "1" (*mem)); + : "=r" (result), "=m" (*mem) : "m" (val), "1" (*mem)); return result; } @@ -37,7 +37,7 @@ __attribute__ ((unused)) atomic_add (volatile uint32_t *mem, int val) { __asm__ __volatile__ ("lock; addl %1,%0" - : "=m" (*mem) : "ir" (val), "0" (*mem)); + : "=m" (*mem) : "ir" (val), "m" (*mem)); } static inline char diff --git a/newlib/libc/sys/linux/linuxthreads/spinlock.c b/newlib/libc/sys/linux/linuxthreads/spinlock.c index 3e1682599..f21426ffe 100644 --- a/newlib/libc/sys/linux/linuxthreads/spinlock.c +++ b/newlib/libc/sys/linux/linuxthreads/spinlock.c @@ -31,7 +31,7 @@ static inline void __pthread_release(int * spinlock) { WRITE_MEMORY_BARRIER(); *spinlock = __LT_SPINLOCK_INIT; - __asm __volatile ("" : "=m" (*spinlock) : "0" (*spinlock)); + __asm __volatile ("" : "=m" (*spinlock) : "m" (*spinlock)); } #endif @@ -110,7 +110,7 @@ again: #ifdef BUSY_WAIT_NOP BUSY_WAIT_NOP; #endif - __asm __volatile ("" : "=m" (lock->__status) : "0" (lock->__status)); + __asm __volatile ("" : "=m" (lock->__status) : "m" (lock->__status)); } lock->__spinlock += (spin_count - lock->__spinlock) / 8; diff --git a/newlib/libc/sys/linux/net/getaddrinfo.c b/newlib/libc/sys/linux/net/getaddrinfo.c index 742d46c8f..7019260b4 100644 --- a/newlib/libc/sys/linux/net/getaddrinfo.c +++ b/newlib/libc/sys/linux/net/getaddrinfo.c @@ -57,6 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#include #include "local.h" #ifdef HAVE_LIBIDN diff --git a/newlib/libc/sys/linux/stdlib/glob.c b/newlib/libc/sys/linux/stdlib/glob.c index 5335c1b54..d99f296cf 100644 --- a/newlib/libc/sys/linux/stdlib/glob.c +++ b/newlib/libc/sys/linux/stdlib/glob.c @@ -77,6 +77,7 @@ static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93"; #include #include #include +#include #include "collate.h"