Go forward to Disappointments.
Go backward to Fixed Headers.
Go up to Trouble.
Standard Libraries
==================
GNU CC by itself attempts to be what the ISO/ANSI C standard calls a
"conforming freestanding implementation". This means all ANSI C
language features are available, as well as the contents of `float.h',
`limits.h', `stdarg.h', and `stddef.h'. The rest of the C library is
supplied by the vendor of the operating system. If that C library
doesn't conform to the C standards, then your programs might get
warnings (especially when using `-Wall') that you don't expect.
For example, the `sprintf' function on SunOS 4.1.3 returns `char *'
while the C standard says that `sprintf' returns an `int'. The
`fixincludes' program could make the prototype for this function match
the Standard, but that would be wrong, since the function will still
return `char *'.
If you need a Standard compliant library, then you need to find one,
as GNU CC does not provide one. The GNU C library (called `glibc') has
been ported to a number of operating systems, and provides ANSI/ISO,
POSIX, BSD and SystemV compatibility. You could also ask your operating
system vendor if newer libraries are available.