Out of symtab space

Norman Kohn nvk at ddsw1.MCS.COM
Wed Aug 1 22:08:39 AEST 1990


In article <1598 at kuling.UUCP> fredriks at kuling.UUCP (Fredrik Stax{ng) writes:
>
>	We are doing a large project in C++ on Interactive Unix with
>HCR/C++. We have came up against what evidently is a restriction in ld. It
>aborts with the message "ld internal error: fatal: symbol table overflow".

I have run into this on a large development project, both under
uport and Interactive.  A temporary fix, depending on how large
your project is, is to reduce the number of externally defined 
symbols.  
1) group modules to make subroutines static, when possible
2) group related global storage items into structures:
the addressing of foo.a and foo.b is done by offsets from foo,
so that 
	struct
		{ int a,b;} foo
generates one, not two, external symbols.  Your code may
become more readable and your symbol table size will shrink.
3) it may be possible to do a partial link of some modules
and delete those symbols that are not required to be external
to the module group: but I haven't managed to do this.

-- 
Norman Kohn   		| ...ddsw1!nvk
Chicago, Il.		| days/ans svc: (312) 650-6840
			| eves: (312) 373-0564



More information about the Comp.unix.i386 mailing list