tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: rfc: POSIX conformance
On Fri, Aug 1, 2008 at 10:19 AM, Andy Shevchenko
<andy.shevchenko%gmail.com@localhost> wrote:
> POSIX01 tests compliance to POSIX.1-2001/SUSv3 excluding the XSI option
Some cite as preamble:
"When VSX creates the configuration header file with a list of
definitions (other than
NSIG), the indication is that your master system does not conform to the
specification or standard corresponding to the test mode you have
chosen. If you are
unable to give the correct values for the definitions in the file, you
may find that
some of the VSX sources do not compile and that some of the tests fail.
You must check all the values for the definitions added to this file, to
ensure that
they are suitable for your master system. Incorrect values may cause
particular tests
to function incorrectly. If this happens, it is much more difficult to
ascertain the
cause of the error. As this information is not available to all users,
you may need
assistance from the personnel who implemented your system."
And complains of the configuration script of the VSXgen engine (in C code form).
VSX has predefined constant for this profile: -D_POSIX_C_SOURCE=200112
1. <ctype.h> - Missing elements
#define isblank(c) (-1)
2. <fenv.h> - Missing include file
Minimal definitions:
#define FE_ALL_EXCEPT (-1)
#define FE_DFL_ENV (-1)
extern int feclearexcept();
extern int fegetenv();
extern int fegetexceptflag();
extern int fegetround();
extern int feholdexcept();
typedef <type> fenv_t;
extern int feraiseexcept();
extern int fesetenv();
extern int fesetexceptflag();
extern int fesetround();
extern int fetestexcept();
extern int feupdateenv();
typedef <type> fexcept_t;
3. <inttypes.h> - Missing elements
extern intmax_t imaxabs();
extern imaxdiv_t imaxdiv();
typedef struct { <members> } imaxdiv_t;
4. <limits.h> - Missing elements
#define _POSIX_HOST_NAME_MAX 255
#define _POSIX_SYMLOOP_MAX 8
5. <signal.h> - Missing elements
#define NSIG (-1) /* user supplied: (highest_signal_number + 1)
*/ <<<<< Actually not considered
#define SIGPOLL (-1)
6. <stdio.h> - Missing elements
extern int fseeko();
extern off_t ftello();
extern int vfscanf();
extern int vscanf();
extern int vsscanf();
7. <stdlib.h> - Missing elements
extern long long atoll();
extern long long llabs();
extern lldiv_t lldiv();
extern float strtof();
extern long double strtold();
extern long long strtoll();
extern unsigned long long strtoull();
8. <unistd.h> - Missing elements
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS (-1)
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS (-1)
#define _CS_POSIX_V6_ILP32_OFF32_LIBS (-1)
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS (-1)
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS (-1)
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS (-1)
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS (-1)
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS (-1)
#define _CS_POSIX_V6_LP64_OFF64_LIBS (-1)
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS (-1)
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS (-1)
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS (-1)
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS (-1)
#define _PC_2_SYMLINKS (-1)
#define _PC_SYMLINK_MAX (-1)
#define _POSIX2_C_VERSION (-1L)
#define _SC_2_PBS (-1)
#define _SC_HOST_NAME_MAX (-1)
#define _SC_PASS_MAX (-1)
#define _SC_REGEXP (-1)
#define _SC_SHELL (-1)
#define _SC_SYMLOOP_MAX (-1)
#define _SC_V6_ILP32_OFF32 (-1)
#define _SC_V6_ILP32_OFFBIG (-1)
#define _SC_V6_LP64_OFF64 (-1)
#define _SC_V6_LPBIG_OFFBIG (-1)
9. <wchar.h> - Missing elements
extern int vfwscanf();
extern int vswscanf();
extern int vwscanf();
extern float wcstof();
extern long double wcstold();
extern long long wcstoll();
extern unsigned long long wcstoull();
NOTES:
(-1) - should be changed to a proper values
<type> - should be changed to proper type
<members> - should be changed to related set of structure members
P.S. I've excluded *math.h related stuff until now
--
With Best Regards,
Andy Shevchenko
Home |
Main Index |
Thread Index |
Old Index