psignal and psiginfo should not be exposed in environments prior to POSIX 2008
This issue grew out of work to make these functions compliant with POSIX 2008 (Issue #5863). According to Garrett, siginfo.h needs to be wrapped in
#if defined(_XPG7) || !defined(_STRICT_SYMBOLS) ... #endif
so that they are properly suppressed in environments prior to POSIX 2008/SUSv4.
Updated by Eric Sproul over 6 years ago
Also, as part of this fix, the signal_h libc test should be expanded to cover these functions, and the siginfo_t structure type. The following should be added to http://src.illumos.org/source/xref/illumos-gate/usr/src/test/libc-tests/cfg/symbols/signal_h.cfg
type | siginfo_t | signal.h | -ALL POSIX-1993+ SUS+ func | psiginfo |\ void |\ const siginfo_t *; const char * |\ signal.h | -ALL SUSv4+ func | psignal |\ void |\ int; const char * |\ signal.h | -ALL SUSv4+
Updated by Eric Sproul about 6 years ago
Since the functions actually come from siginfo.h, and not directly from signal.h, I'm wondering if they need to move to a new test.
Currently the test fails on an unmodified siginfo.h, as the functions are visible in SUSv1 (this is the bug). If I add the scoping define, and change the test config to source from siginfo.h, the tests pass.