Bug 5431 - Duplicate names in /usr/include/signal.h and /usr/include/sys/select.h
Summary: Duplicate names in /usr/include/signal.h and /usr/include/sys/select.h
Status: RESOLVED INVALID
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: 2.3.4
: P2 normal
Target Milestone: ---
Assignee: Ulrich Drepper
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-29 02:47 UTC by Robert Kiesling
Modified: 2014-07-03 12:12 UTC (History)
1 user (show)

See Also:
Host: x66_64-unknown-linux-gnu
Target: x86_64-unknown-linux-gnu
Build: x86_64-unknown-linux-gnu
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Kiesling 2007-11-29 02:47:21 UTC
Not certain if this is a bug or why cpp doesn't report it, but:

/usr/include/signal.h has: #define sigmask(sig) __sigmask(sig)

/usr/include/sys/select.h has: 

extern int pselect (int __nfds, fd_set *__restrict __readfds,
                    fd_set *__restrict __writefds,
                    fd_set *__restrict __exceptfds,
                    const struct timespec *__restrict __timeout,
                    const __sigset_t *__restrict __sigmask);    <========

ISTM that cpp should issue at  least a warning of a redefinition of the 
symbol.

Platform  (output of uname -a):
Linux redhot 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64
x86_64 GNU/Linux

Compiler (output of gcc -v): 
Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--disable-checking --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-8)

Glibc version is 2.3.4.
Comment 1 Ulrich Drepper 2007-11-29 02:59:52 UTC
No, there is no problem and no warning should be issued.  The parameter
declaration doesn't apply to the macro definition since the macro expects
parameters.