summaryrefslogtreecommitdiffstats
path: root/newlib/libc/sys
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys')
-rw-r--r--newlib/libc/sys/linux/dl/atomicity.h4
-rw-r--r--newlib/libc/sys/linux/linuxthreads/spinlock.c4
-rw-r--r--newlib/libc/sys/linux/net/getaddrinfo.c1
-rw-r--r--newlib/libc/sys/linux/stdlib/glob.c1
4 files changed, 6 insertions, 4 deletions
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 <not-cancel.h>
#include <nscd/nscd-client.h>
#include <nscd/nscd_proto.h>
+#include <limits.h>
#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 <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <linux/limits.h>
#include "collate.h"