Skip to content

Commit

Permalink
Avoid macro clash between <sys/select.h> and <linux/posix_types.h>
Browse files Browse the repository at this point in the history
  • Loading branch information
Andreas Schwab committed Sep 13, 2011
1 parent 52d4fef commit e529793
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 16 deletions.
10 changes: 10 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
2011-09-13 Andreas Schwab <schwab@redhat.com>

* misc/sys/select.h (__FD_MASK): Renamed from __FDMASK.
(__FD_ELT): Renamed from __FDELT.
* misc/bits/select2.h (__FD_ELT): Likewise.
* bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET): Use __FD_ELT,
__FD_MASK instead of __FDELT, __FDMASK.
* sysdeps/i386/bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET):
Likewise.
* sysdeps/x86_64/bits/select.h (__FD_SET, __FD_CLR, __FD_ISSET):
Likewise.

* elf/Makefile (gen-ldd): Fix pattern.

* elf/rtld.c (dl_main): Only use USE___THREAD when defined.
Expand Down
7 changes: 4 additions & 3 deletions bits/select.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
__FDS_BITS (__arr)[__i] = 0; \
} while (0)
#define __FD_SET(d, s) \
((void) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)))
((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
#define __FD_CLR(d, s) \
((void) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)))
#define __FD_ISSET(d, s) ((__FDS_BITS (s)[__FDELT (d)] & __FDMASK (d)) != 0)
((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
#define __FD_ISSET(d, s) \
((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
4 changes: 2 additions & 2 deletions misc/bits/select2.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
extern unsigned long int __fdelt_chk (unsigned long int __d);
extern unsigned long int __fdelt_warn (unsigned long int __d)
__warnattr ("bit outside of fd_set selected");
#undef __FDELT
#define __FDELT(d) \
#undef __FD_ELT
#define __FD_ELT(d) \
({ unsigned long int __d = d; \
(__builtin_constant_p (__d) \
? (__d >= __FD_SETSIZE \
Expand Down
8 changes: 3 additions & 5 deletions misc/sys/select.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,14 +54,12 @@ typedef __suseconds_t suseconds_t;
/* The fd_set member is required to be an array of longs. */
typedef long int __fd_mask;

/* Some versions of <linux/posix_types.h> define these macros. */
/* Some versions of <linux/posix_types.h> define this macros. */
#undef __NFDBITS
#undef __FDELT
#undef __FDMASK
/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */
#define __NFDBITS (8 * (int) sizeof (__fd_mask))
#define __FDELT(d) ((d) / __NFDBITS)
#define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
#define __FD_ELT(d) ((d) / __NFDBITS)
#define __FD_MASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))

/* fd_set for select and pselect. */
typedef struct
Expand Down
6 changes: 3 additions & 3 deletions sysdeps/i386/bits/select.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
#endif /* GNU CC */

#define __FD_SET(d, set) \
((void) (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d)))
((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
#define __FD_CLR(d, set) \
((void) (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d)))
((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
#define __FD_ISSET(d, set) \
((__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d)) != 0)
((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
6 changes: 3 additions & 3 deletions sysdeps/x86_64/bits/select.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@
#endif /* GNU CC */

#define __FD_SET(d, set) \
((void) (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d)))
((void) (__FDS_BITS (set)[__FD_ELT (d)] |= __FD_MASK (d)))
#define __FD_CLR(d, set) \
((void) (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d)))
((void) (__FDS_BITS (set)[__FD_ELT (d)] &= ~__FD_MASK (d)))
#define __FD_ISSET(d, set) \
((__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d)) != 0)
((__FDS_BITS (set)[__FD_ELT (d)] & __FD_MASK (d)) != 0)

0 comments on commit e529793

Please sign in to comment.