summaryrefslogtreecommitdiff
path: root/CONFORMANCE
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-07-16 20:08:44 +0000
committerUlrich Drepper <drepper@redhat.com>1998-07-16 20:08:44 +0000
commit107f81314155383ab9c0625f3d157be55131f837 (patch)
tree8269ce62db3039a86c13b0c090691081fbf8797c /CONFORMANCE
parent7a2fd787a7aa4de58b9e3db5fe996f5ea89a3180 (diff)
Update.
1998-07-16 20:01 Ulrich Drepper <drepper@cygnus.com> * debug/Makefile (routines): Add backtracesymsfd. Add rules to generate libSegFault. * debug/Versions: Add __backtrace_symbols_fd and backtrace_symbols_fd. * debug/execinfo.h: Declare backtrace_symbols_fd. * sysdeps/generic/backtracesymsfd.c: New file. * sysdeps/generic/elf/backtracesymsfd.c: New file. * sysdeps/generic/segfault.c: New file. * sysdeps/generic/sigcontextinfo.h: New file. * sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: New file. * sysdeps/generic/elf/backtracesyms.c: Remove unneeded +.
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).