problems linking large files
Norman Kohn
nvk at ddsw1.MCS.COM
Fri Mar 15 00:04:33 AEST 1991
In article <815 at metoch.uu.ch> brunner at metoch.uu.ch (felix brunner) writes:
>I have some problems with ld (linker of C++, C resp.)!
>I am using Interactive Unix 2.2 and Glockenspiel C++ 2.0B.
>
>ld displays the following error message:
> fail to write symbol name 'symbol_name' in string table
> for file 'file_name'
I have encountered this with two versions of ld (ISC and UPORT)
on a large software package. I concluded that the problem was
the number of externs in my software: I successfully corrected
it by taking large numbers of related storage and combining
them into structs... i.e.,
int a,b;
became
struct {int a,b;}foo;
so that references became foo.a and foo.b.
Now a and b are defined offsets and the only extern is foo.
I readily acknowledge that this should not help: a properly written
linker should size its tables and files dynamically, and such large
packages as emacs and gcc compile and link without trouble.
I have not compared symbol table sizes. But the fix works,
and I've left well enough alone.
--
Norman Kohn | ...ddsw1!nvk
Chicago, Il. | days/ans svc: (312) 650-6840
| eves: (312) 373-0564
More information about the Comp.unix.sysv386
mailing list