(__v9_compare_and_exchange_val_32_acq): Add "memory" clobber.
* sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
(__arch_compare_and_exchange_val_32_acq, atomic_exchange_acq):
Likewise.
* sysdeps/sparc/sparc64/bits/atomic.h
(__arch_compare_and_exchange_val_32_acq,
__arch_compare_and_exchange_val_64_acq, atomic_exchange_acq): Likewise.
2006-03-24 Jakub Jelinek <jakub@redhat.com>
* nis/nss_nisplus/nisplus-proto.c (_nss_create_tablename): Check the
return value of malloc rather than the static var again.
* nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-network.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-rpc.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-service.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Likewise.
* nis/nss_nisplus/nisplus-pwd.c (_nss_pwd_create_tablename): Likewise.
+2006-03-24 David S. Miller <davem@sunset.davemloft.net>
+
+ * sysdeps/sparc/sparc32/bits/atomic.h
+ (__v9_compare_and_exchange_val_32_acq): Add "memory" clobber.
+ * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h
+ (__arch_compare_and_exchange_val_32_acq, atomic_exchange_acq):
+ Likewise.
+ * sysdeps/sparc/sparc64/bits/atomic.h
+ (__arch_compare_and_exchange_val_32_acq,
+ __arch_compare_and_exchange_val_64_acq, atomic_exchange_acq): Likewise.
+
+2006-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ * nis/nss_nisplus/nisplus-proto.c (_nss_create_tablename): Check the
+ return value of malloc rather than the static var again.
+ * nis/nss_nisplus/nisplus-grp.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-network.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-ethers.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-rpc.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-service.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-hosts.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-alias.c (_nss_create_tablename): Likewise.
+ * nis/nss_nisplus/nisplus-pwd.c (_nss_pwd_create_tablename): Likewise.
+
2006-03-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sparc/bits/poll.h: Add POLLMSG,
-/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "mail_aliases.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997,1998,2000-2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
static const char prefix[] = "ethers.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "group.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997-2002, 2003, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2002, 2003, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
static const char prefix[] = "hosts.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997,1998,2000-2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "networks.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "protocols.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997,1999,2001,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "passwd.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (pwd_tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
static const char prefix[] = "rpc.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
-/* Copyright (C) 1997-1999,2001,2002,2003,2005 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
static const char prefix[] = "services.org_dir.";
char *p = malloc (sizeof (prefix) + local_dir_len);
- if (tablename_val == NULL)
+ if (p == NULL)
{
*errnop = errno;
return NSS_STATUS_TRYAGAIN;
__asm __volatile (".word 0xcde05005" \
: "+r" (__acev_tmp), "=m" (*__acev_mem) \
: "r" (__acev_oldval), "m" (*__acev_mem), \
- "r" (__acev_mem)); \
+ "r" (__acev_mem) : "memory"); \
__acev_tmp; })
#endif
__asm __volatile ("cas [%4], %2, %0" \
: "=r" (__acev_tmp), "=m" (*__acev_mem) \
: "r" (oldval), "m" (*__acev_mem), "r" (__acev_mem), \
- "0" (newval)); \
+ "0" (newval) : "memory"); \
__acev_tmp; })
/* This can be implemented if needed. */
if (sizeof (*(mem)) == 4) \
__asm ("swap %0, %1" \
: "=m" (*__memp), "=r" (__oldval) \
- : "m" (*__memp), "1" (__value)); \
+ : "m" (*__memp), "1" (__value) : "memory"); \
else \
abort (); \
__oldval; })
__asm __volatile ("cas [%4], %2, %0" \
: "=r" (__acev_tmp), "=m" (*__acev_mem) \
: "r" (oldval), "m" (*__acev_mem), "r" (__acev_mem), \
- "0" (newval)); \
+ "0" (newval) : "memory"); \
__acev_tmp; })
#define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
__asm __volatile ("casx [%4], %2, %0" \
: "=r" (__acev_tmp), "=m" (*__acev_mem) \
: "r" ((long) (oldval)), "m" (*__acev_mem), \
- "r" (__acev_mem), "0" ((long) (newval))); \
+ "r" (__acev_mem), "0" ((long) (newval)) : "memory"); \
__acev_tmp; })
#define atomic_exchange_acq(mem, newvalue) \
if (sizeof (*(mem)) == 4) \
__asm ("swap %0, %1" \
: "=m" (*__memp), "=r" (__oldval) \
- : "m" (*__memp), "1" (__value)); \
+ : "m" (*__memp), "1" (__value) : "memory"); \
else \
{ \
__val = *__memp; \