cc / cpp problem on 3B2 600G ( 3.2.2 ) -- too many defines

Richard Meesters ram at attcan.UUCP
Wed Aug 8 22:55:27 AEST 1990


In article <1990Aug8.003316.12414 at cfctech.cfc.com>, kevin at cfctech.cfc.com (Kevin Darcy) writes:
| In article <12157 at attcan.UUCP> ram at 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          |
------------------------------------------------------------------------------



More information about the Comp.sys.att mailing list