boneill@hawk.ulowell.edu (SoftXc Coordinator) (02/01/89)
I had a problem compiling 1.32 on an Encore Multimax. I had 1.31 running fine. A patch was made to tm-ns32k.h which seems to kill it when it creates gnulib in the beginning. Here is the result of the make: mkdir libtemp mkdir: libtemp: File exists *** Error code 1 (ignored) cd libtemp; \ rm -f gnulib; \ for name in _eprintf _builtin_new _builtin_New _builtin_del _umulsi3 _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 _cmpdi2 _ucmpdi2 _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 _cmpdf2 _fixunsdfsi _fixunsdfdi _fixdfsi _fixdfdi _floatsidf _floatdidf _truncdfsf2 _extendsfdf2 _addsf3 _negsf2 _subsf3 _cmpsf2 _mulsf3 _divsf3 _varargs; \ do \ echo ${name}; \ rm -f ${name}.c; \ cp ../gnulib.c ${name}.c; \ cc -O -I.. -c -DL${name} ${name}.c; \ ar qc gnulib ${name}.o; \ done _eprintf "../tm-ns32k.h", line 475: No name given for declaration "../tm-ns32k.h", line 475: expected: ';' got: else "../tm-ns32k.h", line 475: Illegal character "../tm-ns32k.h", line 476: Illegal character "../tm-ns32k.h", line 477: Undefined symbol: used_fregs_buf "../tm-ns32k.h", line 477: Type mismatch "../tm-ns32k.h", line 477: Illegal initial value "../tm-ns32k.h", line 477: Illegal character "../tm-ns32k.h", line 478: No name given for declaration "../tm-ns32k.h", line 478: expected: ';' got: while "../tm-ns32k.h", line 478: Illegal character "../tm-ns32k.h", line 479: Illegal character "../tm-ns32k.h", line 480: Illegal character "../tm-ns32k.h", line 481: Illegal character "../tm-ns32k.h", line 482: No name given for declaration "../tm-ns32k.h", line 482: expected: ';' got: else "../tm-ns32k.h", line 482: Illegal character "../tm-ns32k.h", line 483: Illegal character "../tm-ns32k.h", line 484: Illegal character "../tm-ns32k.h", line 485: warning: old-fashioned initialization "../tm-ns32k.h", line 485: Illegal variable or expression "../tm-ns32k.h", line 485: Type mismatch "../tm-ns32k.h", line 485: Illegal initial value "../tm-ns32k.h", line 485: expected: ';' got: constant "../tm-ns32k.h", line 485: Illegal character "../tm-ns32k.h", line 486: No name given for declaration "../tm-ns32k.h", line 486: expected: ';' got: '}' "../tm-ns32k.h", line 486: Illegal character "../tm-ns32k.h", line 487: Illegal character "_eprintf.c", line 25: No name given for declaration "_eprintf.c", line 25: expected: ';' got: '}' *** Error code 1 Stop. I think that most of the errors are linked to the first. Here is the relevant section of the patch, with lines 475-476 preceded with '*' to mark them, where the first few errors occur. If anyone can think of a cause to the problem, or a fix, please let me know... *************** *** 447,472 **** #define FUNCTION_PROLOGUE(FILE, SIZE) \ { register int regno; \ ! register int nregs; \ ! char used_regs_buf[32], *bufp = used_regs_buf; \ int used_fregs_buf[8], *fbufp = used_fregs_buf; \ extern char call_used_regs[]; \ MAIN_FUNCTION_PROLOGUE; \ ! for (regno = 0, nregs = 0; regno < 8; regno++) \ if (regs_ever_live[regno] && !call_used_regs[regno]) { \ ! nregs += 1; \ ! *bufp++ = 'r'; *bufp++ = regno+'0'; *bufp++ = ','; \ } \ for (; regno < 16; regno++) \ if (regs_ever_live[regno] && !call_used_regs[regno]) { \ ! *fbufp++ = regno; \ } \ - if (bufp > used_regs_buf) --bufp; \ - *bufp = '\0'; \ - if (frame_pointer_needed) \ - fprintf (FILE, "\tenter [%s],%d\n", used_regs_buf,SIZE); \ - else if (nregs == 1) \ - fprintf (FILE, "\tmovd %s,tos\n", used_regs_buf); \ - else if (nregs) fprintf (FILE, "\tsave [%s]\n", used_regs_buf); \ *fbufp = -1; \ fbufp = used_fregs_buf; \ while (*fbufp >= 0) \ --- 447,478 ---- #define FUNCTION_PROLOGUE(FILE, SIZE) \ { register int regno; \ ! int used_regs_buf[8], *bufp = used_regs_buf; \ int used_fregs_buf[8], *fbufp = used_fregs_buf; \ extern char call_used_regs[]; \ MAIN_FUNCTION_PROLOGUE; \ ! for (regno = 0; regno < 8; regno++) \ if (regs_ever_live[regno] && !call_used_regs[regno]) { \ ! *bufp++ = regno; \ } \ + *bufp = -1; \ for (; regno < 16; regno++) \ if (regs_ever_live[regno] && !call_used_regs[regno]) { \ ! *fbufp++ = regno; \ } \ *fbufp = -1; \ + bufp = used_regs_buf; \ + if (frame_pointer_needed) \ + { \ + fprintf (FILE, "\tenter ["); \ + while (*bufp >= 0) \ + { \ + fprintf (FILE, "r%d", *bufp++); \ + if (*bufp >= 0) \ + fputc (',', FILE); \ + } \ + fprintf (FILE, "],%d\n", SIZE); \ + } *+ else while (*bufp >= 0) \ *+ fprintf (FILE, "\tmovd r%d,tos\n", *bufp++); \ fbufp = used_fregs_buf; \ while (*fbufp >= 0) \ ============================================================================== Brian O'Neill, MS-DOS Software Exchange Coordinator ArpaNet: boneill@hawk.ulowell.edu UUCP: {(backbones),harvard,mit-eddie,et. al.}!ulowell!hawk.ulowell.edu!boneill