SCO Xenix 386 infinite spill

Ross Wetmore rwwetmore at grand.waterloo.edu
Sat Oct 29 10:58:24 AEST 1988


In article <8362 at alice.UUCP> debra at alice.UUCP () writes:
>In article <225 at milhow1.UUCP> how at milhow1.UUCP (Mike Howard) writes:
>>Background: I am putting up TeX on an SCO Xenix 386 system using the
>> web2c distribution.  The vanilla SYSV distribution is translating
>> and compiling without errors except that the compiler dies on an
>> `infinite spill' error.

>Most infinite spill-problems I have seen all are of the form
>array1[array2[some index expression]+some expression]=
>array1[array2[array3[expression]+expression]+expression];
>or something like that. A combination of array-indexes cause the compiler
>to choke.
>But I believe the problem is even more subtile: taking the one expression
>out of its context makes the problem go away. Obviously the compiler is
>incrementing a counter somewhere and when it doesn't advance far enough in
>the source-code for a number of counter-increments it decides that it is
>in an infinite spill.

>|debra at research.att.com   | uunet!research!debra     | att!grumpy!debra |

  Most of my examples are just complexity of nesting operations. I believe
if you try to compile the GNU gcc compiler v1.25-6, or the game program
'world' you will find interesting examples.

  World has an abominable sequence of if/then/else if's. Adding returns and
removing most of the else's gets you through.

  Gcc is straight complexity with several levels of switch and if's which
finally dies on a multi dimension array access with complex logical 
expressions as indices. Creating temp variables to store the final array
lookup value outside the innermost if fixes the problem.

  I think some poor internal counter or stack just falls off the deep end.

  While I am here, does anyone know if the 'masm' routines in gcc actually
generate Xenix MASM assembler output, and if so is there a missing machine
dependent header file or the like to complete the package? Is anyone actually
using gcc on a Xenix machine? If so, at what rev or how did you do it?

Ross W. Wetmore                 | rwwetmore at waterloo.NetNorth
University of Waterloo          | rwwetmore at math.Uwaterloo.ca
Waterloo, Ontario N2L 3G1       | {uunet, ubc-vision, utcsri}
(519) 885-1211 ext 3293         |   !watmath!rwwetmore



More information about the Comp.unix.xenix mailing list