no longer link against the whole library, since they don't require much
from it, but just compile the few small modules they actually need static.
This should save a measurable amount of space; compare:
-r-xr-xr-x 1 bin bin 155648 Sep 18 18:00 cc1*
-r-xr-xr-x 1 root bin 1048576 Sep 18 17:33 cc1.noshae*
Of course, the library takes up a bit of space, but when you add in the
savings from the C++ compiler, you more than make up the difference:
-r--r--r-- 1 bin bin 1157344 Sep 18 18:27 /usr/lib/libcc_int.so.26.0
-r-xr-xr-x 1 bin bin 491520 Sep 18 18:27 /usr/libexec/cc1plus*
completely when ldconfig unlinks it. If init is shared, then the
referenced unlinked copy of the hints file created by running
ldconfig in /etc/rc caused the file system to be unclean after
every reboot.
You need to fix the libio/_G_config.h file around lines 42-44. After
that everything should be OK. You should have seen many warning error
messages about this file. There are missing "short" "char" keywords
the file.
Michael:
Apply the following patch
rgrimes:
The patch to include/_G_config.h is highly questionable and has been
marked as such.
Reviewed by: rgrimes
Submitted by: L Jonas Olsson <ljo@ljo-slip.DIALIN.CWRU.Edu>
Submitted by: Michael Reifenberger <root@rz-wb.fh-sw.de>
we're not ready for yet. gcc and all profiled libraries will need
to be recompiled. I suspect that the dependencies aren't complete
enough to do this automatically.
automagically. -lfoo has to be right to work, but ${LIBFO0} is too
easy to forget or misspell; nothing checks it and it should be
different for shared libraries.
Several files in uucp/libunix included <sys/dir.h> and defined dirent
as direct, but <sys/dir.h> defines direct as dirent. This macro
recursion is not allowed by cpp in traditional mode. The 2.0 mkdep
uses cpp in traditional mode (another bug) so cpp prints a error
message and exits with a nonzero status. The error status leaks out
of the pipe (another bug) so mkdep "succeeds". It may even succeed.