Path: utzoo!attcan!ram From: ram@attcan.UUCP (Richard Meesters) Newsgroups: comp.sys.att Subject: Re: cc / cpp problem on 3B2 600G ( 3.2.2 ) -- too many defines Message-ID: <12164@attcan.UUCP> Date: 8 Aug 90 12:55:27 GMT References: <8953@arctic.nprdc.arpa> <12157@attcan.UUCP> <1990Aug8.003316.12414@cfctech.cfc.com> Distribution: usa Organization: AT&T Canada Inc., Toronto Lines: 76 In article <1990Aug8.003316.12414@cfctech.cfc.com>, kevin@cfctech.cfc.com (Kevin Darcy) writes: | In article <12157@attcan.UUCP> ram@attcan.UUCP (Richard Meesters) writes: | > | >I also ran into this problem compiling, of all things, nethack sources. | | (Side note: that's why the STUPID_CPP option exists in NetHack). | | Actually, the "hard limit" you're running into is *only* on total symbol name | space if you're getting "Too much defining." (which is what NetHack has | trouble with on a 3B2). Richard was running into the hard limit on *number* | of defines. Two slightly separate but interrelated problems. | I'll agree here, there are two slightly sepreate but interrelated problems. The fix I have, however, fixes both problems. Having to use the "STUPID_CPP" option when compiling nethack goes away after you apply the fix that I received. | >There | >is, however a fix, which should be available to you by calling the AT&T Support | >Hotline (NSSC) at 1-800-245-2480. | | Er, this isn't the normal number U.S. AT&T customers use for the NSSC in New | Jersey (1-800-922-0354). | Sorry, being in Canada, that's the number I call to get through to the NSSC. Your Mileage may vary... | Or is that number the one for Lisle? As an AT&T person, you may be able to | call Lisle directly on problems, but I've found that Lisle will rarely talk | to mere mortals unless they already have an escalated ticket from New Jersey. | Agreed, but given the knowledge of what the problem is, you should be able to get the patch directly from the NSSC. | >The cause/symptom is as follows: | > | >Symptom: too many defines | > | >Cause: the number of #defines exceed the symbol table size: | > STATIC struct symtab stab[ symsiz ]; | > That's problem one, the second cause/symptom fixed by the patch is as follows: Symptom: too much defining Cause: the amount of text for defines and includes exceeds the buffer if ( savch > sbf + SBSIZE - BUFSIZ ) | >The fix is a new cpp which contains an increased symsiz to handle a larger | >number of defines. | > | >Unfortunately, unless you have source, you can't change it yourself. | | No, but fortunately there are public domain alternatives to AT&T's cpp. Ones | that malloc() instead of of using static arrays, for example. | | Richard, if you can't beat a real cpp out of Lisle, drop me a line, and I'll | arrange to send you a decent PD cpp. Actually, I'd love to see it. Regards, ------------------------------------------------------------------------------ Richard A Meesters | Technical Support Specialist | Insert std.logo here AT&T Canada | | "Waste is a terrible thing ATTMAIL: ....attmail!rmeesters | to mind...clean up your act" UUCP: ...att!attcan!ram | ------------------------------------------------------------------------------