Skip to content

Commit

Permalink
Conditionalize use of PTR_MANGLE.
Browse files Browse the repository at this point in the history
  • Loading branch information
Roland McGrath committed Jul 31, 2012
1 parent 7ecdb00 commit 40ce302
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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>
Expand Down
7 changes: 5 additions & 2 deletions inet/getnetgrent_r.c
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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;
Expand Down
12 changes: 10 additions & 2 deletions nss/getXXbyYY_r.c
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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
Expand All @@ -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;
}

Expand All @@ -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;
}

Expand Down

0 comments on commit 40ce302

Please sign in to comment.