[comp.sources.d] ranlib

gwyn@smoke.BRL.MIL (Doug Gwyn ) (11/19/88)

In article <283@ontenv.UUCP> soley@ontenv.UUCP (Norman S. Soley) writes:
>... The documentation says that you can add
>the object files to the libc.a library (fine OK, I can do this) but
>then says some systems may require a rebuild of the symbol table after
>doing that and suggests ranlib (which I don't have), I've RTFMed for
>ar and ld and can see no answers there, any suggestions?

Unless the linker complains about the archive (libc.a) symbol table
being out of date, you don't need to do anything about it.  I know
of four object archive schemes in use on UNIX variants:
	1.  No symbol table.  In this case, be sure the added modules
	occur physically before any other external data or functions
	they reference.
	2.  Automatic symbol table maintenance when an object module
	is added to the archive.  AT&T's recent releases of UNIX System
	V take this approach, although not every system derived from
	those releases uses it.
	3.  Manual symbol table update via "ar ts".  I've only seen
	this on Silicon Graphics Iris workstations but it may be used
	elsewhere.
	4.  Manual symbol table update via "ranlib".  This is usually
	the case for systems derived from a Berkeley release.  I think
	"ranlib" originated on 7th Edition UNIX.  It's a pain.