1998-12-16 Roland McGrath <roland@baalperazim.frob.com>
[glibc.git] / CONFORMANCE
blobc0e8f6b92dfca6ae071bf70ed919d1cc39ee6d52
1 Conformance of the GNU libc with various standards
2 ==================================================
4 The GNU libc is designed to be conformant with existing standard as
5 far as possible.  TO ensure this I've run various tests.  The results
6 are presented here.
9 Open Group's hdrchk
10 -------------------
12 The hdrchk test suite is available from the Open Group at
14         ftp://ftp.rdg.opengroup.org/pub/unsupported/stdtools/hdrchk/
16 I've last run the suite on 1998-07-08 on a Linux/ix86 system with the
17 following results [*]:
19         FIPS            No reported problems
21         POSIX90         No reported problems
23         XPG3            No reported problems
25         XPG4            The wide character I/O stuff is missing in glibc.
27 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28 *** Starting wchar.h
29 Missing: extern wint_t  fgetwc();
30 Missing: extern wchar_t *fgetws();
31 Missing: extern wint_t  fputwc();
32 Missing: extern int     fputws();
33 Missing: extern wint_t  getwc();
34 Missing: extern wint_t  getwchar();
35 Missing: extern wint_t  putwc();
36 Missing: extern wchar_t putwchar();
37 Missing: extern wint_t  ungetwc();
38 Missing: extern size_t  wcsftime();
39 *** Completed wchar.h
40 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42                         Beside this a problem in stdio.h is reported but
43                         this is only because the scripts don't understand
44                         the sometimes complex constructs in the header.
46         POSIX96         Same as UNIX98 [see below].
47         UNIX98          Quite a lot of problems, almost all due to limitations
48                         of the Linux kernel (2.1.108):
50 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51 *** Starting mqueue.h
52 Missing #include file: mqueue.h
53 *** Completed mqueue.h
54 *** Starting semaphore.h
55 Missing: #define SEM_FAILED (-1)
56 Missing: extern int  sem_close();
57 Missing: extern sem_t *sem_open();
58 Missing: extern int  sem_unlink();
59 *** Completed semaphore.h
60 *** Starting signal.h
61 Missing: #define        SIGSYS  (-1)
62 *** Completed signal.h
63 *** Starting sys/mman.h
64 Missing: extern int shm_open();
65 Missing: extern int shm_unlink();
66 *** Completed sys/mman.h
67 *** Starting sys/stat.h
68 Missing: #define        S_TYPEISMQ      (-1)
69 Missing: #define        S_TYPEISSEM     (-1)
70 Missing: #define        S_TYPEISSHM     (-1)
71 *** Completed sys/stat.h
72 *** Starting sys/types.h
73 Missing: typedef        <type>  clockid_t;
74 Missing: typedef        <type>  timer_t;
75 *** Completed sys/types.h
76 *** Starting time.h
77 Missing: #define        CLOCK_REALTIME  (-1)
78 Missing: #define        TIMER_ABSTIME   (-1)
79 Missing: extern int     clock_getres();
80 Missing: extern int     clock_gettime();
81 Missing: extern int     clock_settime();
82 Missing: struct itimerspec { <members> };
83 Missing: extern int     timer_create();
84 Missing: extern int     timer_delete();
85 Missing: extern int     timer_getoverrun();
86 Missing: extern int     timer_gettime();
87 Missing: extern int     timer_settime();
88 *** Completed time.h
89 *** Starting unistd.h
90 Missing: #define        _POSIX_MESSAGE_PASSING          (-1)
91 Missing: #define        _POSIX_SEMAPHORES               (-1)
92 Missing: #define        _POSIX_SHARED_MEMORY_OBJECTS            (-1)
93 Missing: #define        _POSIX_TIMERS           (-1)
94 *** Completed unistd.h
95 *** Starting wchar.h
96 Missing: extern wint_t  fgetwc();
97 Missing: extern wchar_t *fgetws();
98 Missing: extern wint_t  fputwc();
99 Missing: extern int     fputws();
100 Missing: extern int     fwide();
101 Missing: extern int     fwprintf();
102 Missing: extern int     fwscanf();
103 Missing: extern wint_t  getwc();
104 Missing: extern wint_t  getwchar();
105 Missing: extern wint_t  putwc();
106 Missing: extern wchar_t putwchar();
107 Missing: extern int     swprintf();
108 Missing: extern int     swscanf();
109 Missing: extern wint_t  ungetwc();
110 Missing: extern int     vfwprintf();
111 Missing: extern int     vswprintf();
112 Missing: extern int     vwprintf();
113 Missing: extern size_t  wcsftime();
114 Missing: extern wchar_t *wcswcs();
115 Missing: extern int     wprintf();
116 Missing: extern int     wscanf();
117 *** Completed wchar.h
118 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120                         Only the `wchar.h' problems result from glibc
121                         defficiencies since we still don't support wide
122                         character I/O.
124 [*] Since the scripts are not clever enough for the way gcc handles
125 include files (namely, putting some of them in gcc-local directory) I
126 copied over the iso646.h, float.h, and stddef.h headers and ignored the
127 problems resulting from the splitted limits.h file).