Re: SIGSTKSZ is now a run-time variable
Eric Blake via Libc-alpha <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.alpha,gmane.comp.gnu.m4.bugs,gmane.comp.standards.posix.austin.general |
|---|---|
| Organization | Red Hat, Inc. |
| Message-ID | <[email protected]> |
On 3/9/21 1:34 PM, Eric Blake via austin-group-l at The Open Group wrote: > On 3/9/21 10:14 AM, shwaresyst wrote: >> >> To me that looks like a conformance violation and should be reverted. There is no _SC_SIGSTKSZ defined in <unistd.h> by the standard, to begin with, so that use of sysconf() is a non-portable extension on its own. > > Portable apps can't use _SC_SIGSTKSZ, but the standard generally permits > implementations to define further constants. Then again, re-reading XSH > 2.2.2: > > " Implementations may add symbols to the headers shown in the following > table, provided the identifiers for those symbols either: > > Begin with the corresponding reserved prefixes in the table, or > ..." > > but the table lacks a row for <unistd.h> with _CS_* and _SC_* constants. > Looks like you found an independent defect. Not quite, because later it states "The following identifiers are reserved regardless of the inclusion of headers: 1. With the exception of identifiers beginning with the prefix _POSIX_, all identifiers that begin with an <underscore> and either an uppercase letter or another <underscore> are always reserved for any use by the implementation.", so an implementation can blindly add _SC_* constants at will without violating the standard. Still, I opened: https://www.austingroupbugs.net/view.php?id=1456 to try and add some clarification. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org