Conditionalize use of PTR_MANGLE.

This commit is contained in:
Roland McGrath 2012-07-31 09:42:06 -07:00
parent 7ecdb00561
commit 40ce302d37
3 changed files with 19 additions and 4 deletions

View File

@ -1,5 +1,9 @@
2012-07-31 Roland McGrath <roland@hack.frob.com>
* nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Conditionalize
use of PTR_MANGLE.
* inet/getnetgrent_r.c (setup): Likewise.
* sysdeps/generic/siglist.h: Put SIGWINCH under #ifdef.
2012-07-31 David S. Miller <davem@davemloft.net>

View File

@ -1,5 +1,4 @@
/* Copyright (C) 1996,1997,1998,1999,2002,2004,2005,2007,2011
Free Software Foundation, Inc.
/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -57,14 +56,18 @@ setup (void **fctp, service_user **nipp)
same result every time. So we need no locking. */
no_more = __nss_netgroup_lookup (nipp, "setnetgrent", fctp);
startp = no_more ? (service_user *) -1 : *nipp;
#ifdef PTR_MANGLE
PTR_MANGLE (startp);
#endif
atomic_write_barrier ();
startp_initialized = true;
}
else
{
service_user *nip = startp;
#ifdef PTR_DEMANGLE
PTR_DEMANGLE (nip);
#endif
if (nip == (service_user *) -1)
/* No services at all. */
return 1;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996-2004,2006,2007,2009,2010 Free Software Foundation, Inc.
/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@ -204,7 +204,9 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
if (no_more)
{
void *tmp_ptr = (service_user *) -1l;
#ifdef PTR_MANGLE
PTR_MANGLE (tmp_ptr);
#endif
startp = tmp_ptr;
}
else
@ -225,10 +227,14 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
#endif /* need _res_hconf */
void *tmp_ptr = fct.l;
#ifdef PTR_MANGLE
PTR_MANGLE (tmp_ptr);
#endif
start_fct = tmp_ptr;
tmp_ptr = nip;
#ifdef PTR_MANGLE
PTR_MANGLE (tmp_ptr);
#endif
startp = tmp_ptr;
}
@ -240,9 +246,11 @@ INTERNAL (REENTRANT_NAME) (ADD_PARAMS, LOOKUP_TYPE *resbuf, char *buffer,
else
{
fct.l = start_fct;
PTR_DEMANGLE (fct.l);
nip = startp;
#ifdef PTR_DEMANGLE
PTR_DEMANGLE (fct.l);
PTR_DEMANGLE (nip);
#endif
no_more = nip == (service_user *) -1l;
}