mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
128 lines
4.3 KiB
Plaintext
128 lines
4.3 KiB
Plaintext
|
Conformance of the GNU libc with various standards
|
||
|
==================================================
|
||
|
|
||
|
The GNU libc is designed to be conformant with existing standard as
|
||
|
far as possible. TO ensure this I've run various tests. The results
|
||
|
are presented here.
|
||
|
|
||
|
|
||
|
Open Group's hdrchk
|
||
|
-------------------
|
||
|
|
||
|
The hdrchk test suite is available from the Open Group at
|
||
|
|
||
|
ftp://ftp.rdg.opengroup.org/pub/unsupported/stdtools/hdrchk/
|
||
|
|
||
|
I've last run the suite on 1998-07-08 on a Linux/ix86 system with the
|
||
|
following results [*]:
|
||
|
|
||
|
FIPS No reported problems
|
||
|
|
||
|
POSIX90 No reported problems
|
||
|
|
||
|
XPG3 No reported problems
|
||
|
|
||
|
XPG4 The wide character I/O stuff is missing in glibc.
|
||
|
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
*** Starting wchar.h
|
||
|
Missing: extern wint_t fgetwc();
|
||
|
Missing: extern wchar_t *fgetws();
|
||
|
Missing: extern wint_t fputwc();
|
||
|
Missing: extern int fputws();
|
||
|
Missing: extern wint_t getwc();
|
||
|
Missing: extern wint_t getwchar();
|
||
|
Missing: extern wint_t putwc();
|
||
|
Missing: extern wchar_t putwchar();
|
||
|
Missing: extern wint_t ungetwc();
|
||
|
Missing: extern size_t wcsftime();
|
||
|
*** Completed wchar.h
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
Beside this a problem in stdio.h is reported but
|
||
|
this is only because the scripts don't understand
|
||
|
the sometimes complex constructs in the header.
|
||
|
|
||
|
POSIX96 Same as UNIX98 [see below].
|
||
|
UNIX98 Quite a lot of problems, almost all due to limitations
|
||
|
of the Linux kernel (2.1.108):
|
||
|
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
*** Starting mqueue.h
|
||
|
Missing #include file: mqueue.h
|
||
|
*** Completed mqueue.h
|
||
|
*** Starting semaphore.h
|
||
|
Missing: #define SEM_FAILED (-1)
|
||
|
Missing: extern int sem_close();
|
||
|
Missing: extern sem_t *sem_open();
|
||
|
Missing: extern int sem_unlink();
|
||
|
*** Completed semaphore.h
|
||
|
*** Starting signal.h
|
||
|
Missing: #define SIGSYS (-1)
|
||
|
*** Completed signal.h
|
||
|
*** Starting sys/mman.h
|
||
|
Missing: extern int shm_open();
|
||
|
Missing: extern int shm_unlink();
|
||
|
*** Completed sys/mman.h
|
||
|
*** Starting sys/stat.h
|
||
|
Missing: #define S_TYPEISMQ (-1)
|
||
|
Missing: #define S_TYPEISSEM (-1)
|
||
|
Missing: #define S_TYPEISSHM (-1)
|
||
|
*** Completed sys/stat.h
|
||
|
*** Starting sys/types.h
|
||
|
Missing: typedef <type> clockid_t;
|
||
|
Missing: typedef <type> timer_t;
|
||
|
*** Completed sys/types.h
|
||
|
*** Starting time.h
|
||
|
Missing: #define CLOCK_REALTIME (-1)
|
||
|
Missing: #define TIMER_ABSTIME (-1)
|
||
|
Missing: extern int clock_getres();
|
||
|
Missing: extern int clock_gettime();
|
||
|
Missing: extern int clock_settime();
|
||
|
Missing: struct itimerspec { <members> };
|
||
|
Missing: extern int timer_create();
|
||
|
Missing: extern int timer_delete();
|
||
|
Missing: extern int timer_getoverrun();
|
||
|
Missing: extern int timer_gettime();
|
||
|
Missing: extern int timer_settime();
|
||
|
*** Completed time.h
|
||
|
*** Starting unistd.h
|
||
|
Missing: #define _POSIX_MESSAGE_PASSING (-1)
|
||
|
Missing: #define _POSIX_SEMAPHORES (-1)
|
||
|
Missing: #define _POSIX_SHARED_MEMORY_OBJECTS (-1)
|
||
|
Missing: #define _POSIX_TIMERS (-1)
|
||
|
*** Completed unistd.h
|
||
|
*** Starting wchar.h
|
||
|
Missing: extern wint_t fgetwc();
|
||
|
Missing: extern wchar_t *fgetws();
|
||
|
Missing: extern wint_t fputwc();
|
||
|
Missing: extern int fputws();
|
||
|
Missing: extern int fwide();
|
||
|
Missing: extern int fwprintf();
|
||
|
Missing: extern int fwscanf();
|
||
|
Missing: extern wint_t getwc();
|
||
|
Missing: extern wint_t getwchar();
|
||
|
Missing: extern wint_t putwc();
|
||
|
Missing: extern wchar_t putwchar();
|
||
|
Missing: extern int swprintf();
|
||
|
Missing: extern int swscanf();
|
||
|
Missing: extern wint_t ungetwc();
|
||
|
Missing: extern int vfwprintf();
|
||
|
Missing: extern int vswprintf();
|
||
|
Missing: extern int vwprintf();
|
||
|
Missing: extern size_t wcsftime();
|
||
|
Missing: extern wchar_t *wcswcs();
|
||
|
Missing: extern int wprintf();
|
||
|
Missing: extern int wscanf();
|
||
|
*** Completed wchar.h
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
|
||
|
Only the `wchar.h' problems result from glibc
|
||
|
defficiencies since we still don't support wide
|
||
|
character I/O.
|
||
|
|
||
|
[*] Since the scripts are not clever enough for the way gcc handles
|
||
|
include files (namely, putting some of them in gcc-local directory) I
|
||
|
copied over the iso646.h, float.h, and stddef.h headers and ignored the
|
||
|
problems resulting from the splitted limits.h file).
|