Xref: utzoo comp.bugs.sys5:691 comp.unix.questions:10241 Path: utzoo!attcan!uunet!husc6!mailrus!ncar!noao!arizona!rupley From: rupley@arizona.edu (John Rupley) Newsgroups: comp.bugs.sys5,comp.unix.questions Subject: Re: lint pass2 error Summary: file array size exceeded Message-ID: <7918@megaron.arizona.edu> Date: 16 Nov 88 21:22:27 GMT References: <173@isncr.is.se> Organization: U of Arizona CS Dept, Tucson Lines: 31 In article <173@isncr.is.se>, ra@isncr.is.se (Robert Andersson) writes: > When running a *big* program through lint I consistently get the error message: > /usr/lib/lint2: lint pass2 error: Too many names > > The program in question is some 20,000 lines, spread out over ~100 files and > ~500 functions. It obviously overflows some internal lint buffer. > Exactly what does the error message mean, and is there a way around it, > like some 'undocumented' lint option or whatever? > > The system I get this on is an NCR Tower 32 running vanilla SVR2. The relevant SVR2 limits that I have seen are 80 or 150 for the number of files and 1024 for the symbol table size. If you exceed either limit (your error messaage corresponds to the number-of-files limit, I believe), you may be able to: (1) if you have source, recompile with NSZ and FSZ set to larger values; this may not be possible with certain architectures (80286), without a major rewrite of the code (arrays to pointers). (2) if you do not have source: (a) get your supplier to reconfigure lint2 (worth a :-?). (b) construct a lint library containing all externals, and lint file-by-file; you will that way get all the pass2 error messages about inconsistent declarations, etc.; the constructing of the lint library can be largely automated by use of a set of filters. If anyone knows of other solutions, please post them. John Rupley rupley!local@megaron.arizona.edu