mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
Only declare __sigpause in installed signal.h when necessary.
This patch makes the installed signal.h declare __sigpause only when necessary (when a macro definition of sigpause makes use of __sigpause), rather than unconditionally. This fixes false positives in the linknamespace tests by making it visible to those tests that no use of ISO C functionality will actually bring in the definition of __sigpause and so bring in the other symbols defined in the same object. There is no bug filed in Bugzilla because this is fixing false positives rather than any user-visible bug. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by this patch). * signal/signal.h (__sigpause): Only declare if [__USE_XOPEN && !__GNUC__]. * include/signal.h (__sigpause): Move declaration above call to libc_hidden_proto. * conform/Makefile (test-xfail-ISO/signal.h/linknamespace): Remove variable. (test-xfail-ISO99/signal.h/linknamespace): Likewise. (test-xfail-ISO11/signal.h/linknamespace): Likewise.
This commit is contained in:
@@ -164,12 +164,12 @@ extern void psiginfo (const siginfo_t *__pinfo, const char *__s);
|
||||
|
||||
This function is a cancellation point and therefore not marked with
|
||||
__THROW. */
|
||||
extern int __sigpause (int __sig_or_mask, int __is_sig);
|
||||
|
||||
#ifdef __USE_XOPEN
|
||||
# ifdef __GNUC__
|
||||
extern int sigpause (int __sig) __asm__ ("__xpg_sigpause");
|
||||
# else
|
||||
extern int __sigpause (int __sig_or_mask, int __is_sig);
|
||||
/* Remove a signal from the signal mask and suspend the process. */
|
||||
# define sigpause(sig) __sigpause ((sig), 1)
|
||||
# endif
|
||||
|
||||
Reference in New Issue
Block a user