summary refs log tree commit diff
path: root/CONFORMANCE
diff options
context:
space:
mode:
Diffstat (limited to 'CONFORMANCE')
-rw-r--r--CONFORMANCE127
1 files changed, 127 insertions, 0 deletions
diff --git a/CONFORMANCE b/CONFORMANCE
new file mode 100644
index 0000000000..c0e8f6b92d
--- /dev/null
+++ b/CONFORMANCE
@@ -0,0 +1,127 @@
+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).