Proper RTEMS value for _POSIX_VERSION and _POSIX2_VERSION

Joel Sherrill joel@rtems.org
Tue Jun 1 19:35:43 GMT 2021


Hi

The RTEMS _POSIX_VERSION define is hard-coded to 199309L which reflects the
POSIX version the initial RTEMS support was implemented to. Since then,
RTEMS has picked up features from newer versions.

https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html

RTEMS has never and is not fully conforming to the POSIX standard. Being a
single process, there will always be capabilities missing.  I don't think
Cygwin is fully conforming either but has a series of conditional logic to
set _POSIX_VERSION based on the value of __POSIX_VISIBLE

https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/include/sys/features.h#l403

I am thinking RTEMS should use similar logic. Question: Does that sound
more correct than the current hard-coded value?

 And since we don't have a POSIX shell, we still should not set
_POSIX2_VERSION. RIght?

Thanks for the advice..

--joel


More information about the Newlib mailing list