[comp.os.minix] GCC lib update/Math lib shar 2/5

bammi@dsrgsun.ces.cwru.edu (Jwahar R. Bammi) (12/14/88)

#!/bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #!/bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	tos.cdiff
#	minix.cdiff
# This archive created: Wed Dec 14 04:36:28 1988
# By:	Jwahar R. Bammi(Case Western Reserve University)
#  Uucp:	 {decvax,sun,att}!cwjcc!dsrgsun!bammi
# Csnet:	 bammi@dsrgsun.ces.CWRU.edu
#  Arpa:	 bammi@dsrgsun.ces.CWRU.edu
#
export PATH; PATH=/bin:$PATH
echo shar: extracting "'tos.cdiff'" '(8855 characters)'
if test -f 'tos.cdiff'
then
	echo shar: over-writing existing file "'tos.cdiff'"
fi
sed 's/^X//' << \SHAR_EOF > 'tos.cdiff'
X*** Makefile.dist	Mon Nov 28 01:24:50 1988
X--- Makefile	Mon Dec 12 14:44:15 1988
X***************
X*** 26,32 ****
X  fprintf.o fputc.o fputs.o fread.o \
X  freopen.o fseek.o fstat.o ftell.o \
X  fwrite.o gcvt.o getopt.o getwd.o \
X! index.o ioctl.o isatty.o ldexp.o \
X  lseek.o memccpy.o memchr.o \
X  memcmp.o memcpy.o memory.o  \
X  memset.o nsort.o open.o opendir.o \
X--- 26,32 ----
X  fprintf.o fputc.o fputs.o fread.o \
X  freopen.o fseek.o fstat.o ftell.o \
X  fwrite.o gcvt.o getopt.o getwd.o \
X! index.o ioctl.o isatty.o ldexp.o modf.o frexp.o \
X  lseek.o memccpy.o memchr.o \
X  memcmp.o memcpy.o memory.o  \
X  memset.o nsort.o open.o opendir.o \
X*** sfguts.c.dist	Wed Dec 14 02:48:00 1988
X--- sfguts.c	Tue Dec 13 19:08:08 1988
X***************
X*** 5,148 ****
X  #include <stdio.h>
X  
X  fscanf(f, fmt, args) FILE *f; char *fmt; int *args; {
X! 	extern char *_sfcp;
X! 	extern FILE *_sffp;
X! 	_sffp = f;
X! 	_sfcp = NULL;
X! 	return _dosf(fmt, &args);
X  }
X  
X  scanf(fmt, args) char *fmt; int *args; {
X! 	extern char *_sfcp;
X! 	extern FILE *_sffp;
X! 	_sffp = stdin;
X! 	_sfcp = NULL;
X! 	return _dosf(fmt, &args);
X  }
X  
X  sscanf(s, fmt, args) char *s; char *fmt; int *args; {
X! 	extern char *_sfcp;
X! 	extern FILE *_sffp;
X! 	_sffp = NULL;
X! 	_sfcp = s;
X! 	return _dosf(fmt, &args);
X  }
X! 		
X  _dosf(fmt, args) char *fmt; int **args; {
X! 	int assigned, wid, lng, skip, *ip, f, c, m, base;
X! 	long n, *lp;
X! 	char *cp;
X! 	assigned = 0;
X! 	c = _sfget();
X! 	while ((f = *fmt++) && c != EOF) {
X! 		if (f <= ' ') { /* skip spaces */
X! 			while (c <= ' ' && c != EOF)
X! 				c = _sfget();
X  		}
X! 		else if (f != '%') { /* match character */
X! 			if (c != f) 
X! 				return assigned;
X  		}
X! 		else	{
X! 			wid = lng = skip = 0;
X! 			if ((f = *fmt++) == '*') { /* skip assignment */
X! 				skip++;
X! 				f = *fmt++;
X! 			}
X! 			while (f >= '0' && f <= '9') { /* width of value */
X! 				wid = wid * 10 + f - '0';
X! 				f = *fmt++;
X! 			}
X! 			if (f == 'l') { /* long */
X! 				lng++;
X! 				f = *fmt++;
X! 			}
X! 			else if (f == 'h') { /* short */
X! 				f = *fmt++;
X! 			}
X! 			switch (f) { /* conversion spec */
X! 			case '%':
X! 				if (c != '%') return assigned;
X! 				c = _sfget();
X! 				break;
X! 			case 'c':
X! 				if (wid == 0) {
X! 					cp = (char * )*args++;
X! 					if (!skip) {
X! 						*cp = c;
X! 						assigned++;
X! 					}
X! 					c = _sfget();
X! 					break;
X! 				}
X! 			case 's':
X! 				cp = (char * )*args++;
X! 				while (c <= ' ' && c != EOF)
X! 					c = _sfget();
X! 				while (c > ' ' && c != EOF) {
X! 					if (!skip) *cp++ = c;
X! 					c = _sfget();
X! 					if (--wid == 0) break;
X! 				}
X! 				*cp = 0;
X! 				if (!skip) assigned++;
X! 				break;
X! 			case 'D': case 'X': case 'O':
X! 				lng = 1;
X! 				f = f - 'A' + 'a';
X! 			case 'd': case 'x': case 'o':
X! 				base = (f == 'x' ? 16 : f == 'o' ? 8 : 10);
X! 				n = 0L;
X! 				while (c != EOF && c <= ' ')
X! 					c = _sfget();
X! 				if ((m = _sfnum(c, base)) < 0)
X! 					return assigned;
X! 				do	{
X! 					n = n * base + m;
X! 					c = _sfget();
X! 					m = _sfnum(c, base);
X! 					if (--wid == 0) break;
X! 				} while (m >= 0);
X! 				if (!skip) {
X! 					if (lng) {
X! 						lp = (long * )*args++;
X! 						*lp = n;
X! 					}
X! 					else	{
X! 						ip = *args++;
X! 						*ip = n;
X! 					}
X! 					assigned++;
X! 				}
X! 				break;
X! 			case 'e': case 'f': case 'E': case 'F':
X! 				/* no floats implemented */
X! 				return -2;
X! 			default:
X! 				return assigned;
X! 			}
X  		}
X  	}
X! 	return f == 0 ? assigned : EOF;
X  }
X  
X  
X  _sfnum(c, base) {
X! 	if (c >= '0' && c <= '9')
X! 		return c - '0';
X! 	else if (base == 16 && c >= 'a' && c <= 'f')
X! 		return c - 'a' + 10;
X! 	else if (base == 16 && c >= 'A' && c <= 'F')
X! 		return c - 'A' + 10;
X! 	else 	return -1;
X  }
X  
X  _sfget() {
X! 	extern char *_sfcp;
X! 	extern FILE *_sffp;
X! 	if (_sffp) return getc(_sffp);
X! 	if (_sfcp && *_sfcp) return *_sfcp++;
X! 	return EOF;
X  }
X  
X  char *_sfcp;	/* char pointer for scanf input string */
X--- 5,234 ----
X  #include <stdio.h>
X  
X  fscanf(f, fmt, args) FILE *f; char *fmt; int *args; {
X!     extern char *_sfcp;
X!     extern FILE *_sffp;
X!     _sffp = f;
X!     _sfcp = NULL;
X!     return _dosf(fmt, &args);
X  }
X  
X  scanf(fmt, args) char *fmt; int *args; {
X!     extern char *_sfcp;
X!     extern FILE *_sffp;
X!     _sffp = stdin;
X!     _sfcp = NULL;
X!     return _dosf(fmt, &args);
X  }
X  
X  sscanf(s, fmt, args) char *s; char *fmt; int *args; {
X!     extern char *_sfcp;
X!     extern FILE *_sffp;
X!     _sffp = NULL;
X!     _sfcp = s;
X!     return _dosf(fmt, &args);
X  }
X! 
X! #define isdigit(ch)	(ch >= '0' && ch <= '9')
X! 
X! /* eval f * 10**p */
X! static double _fraise(f, p)
X! double f;
X! int p;
X! {
X!     if(p > 0)
X! 	while(p--)
X! 	    f *= 10.0;
X!     else
X! 	while(p++)
X! 	    f /= 10.0;
X!     return f;
X! }
X! 
X! 
X  _dosf(fmt, args) char *fmt; int **args; {
X!     int assigned, wid, lng, skip, *ip, f, c, m, base;
X!     long n, *lp;
X!     char *cp;
X!     double fval, *dp;
X!     float *fp;
X!     short sign, done_some;
X!     
X!     assigned = 0;
X!     c = _sfget();
X!     while ((f = *fmt++) && c != EOF) {
X! 	if (f <= ' ') { /* skip spaces */
X! 	    while (c <= ' ' && c != EOF)
X! 		c = _sfget();
X! 	}
X! 	else if (f != '%') { /* match character */
X! 	    if (c != f) 
X! 		return assigned;
X! 	}
X! 	else	{
X! 	    wid = lng = skip = 0;
X! 	    if ((f = *fmt++) == '*') { /* skip assignment */
X! 		skip++;
X! 		f = *fmt++;
X! 	    }
X! 	    while (f >= '0' && f <= '9') { /* width of value */
X! 		wid = wid * 10 + f - '0';
X! 		f = *fmt++;
X! 	    }
X! 	    if (f == 'l') { /* long */
X! 		lng++;
X! 		f = *fmt++;
X! 	    }
X! 	    else if (f == 'h') { /* short */
X! 		f = *fmt++;
X! 	    }
X! 	    switch (f) { /* conversion spec */
X! 	      case '%':
X! 		if (c != '%') return assigned;
X! 		c = _sfget();
X! 		break;
X! 	      case 'c':
X! 		if (wid == 0) {
X! 		    cp = (char * )*args++;
X! 		    if (!skip) {
X! 			*cp = c;
X! 			assigned++;
X! 		    }
X! 		    c = _sfget();
X! 		    break;
X  		}
X! 	      case 's':
X! 		cp = (char * )*args++;
X! 		while (c <= ' ' && c != EOF)
X! 		    c = _sfget();
X! 		while (c > ' ' && c != EOF) {
X! 		    if (!skip) *cp++ = c;
X! 		    c = _sfget();
X! 		    if (--wid == 0) break;
X  		}
X! 		*cp = 0;
X! 		if (!skip) assigned++;
X! 		break;
X! 	      case 'D': case 'X': case 'O':
X! 		lng = 1;
X! 		f = f - 'A' + 'a';
X! 	      case 'd': case 'x': case 'o':
X! 		base = (f == 'x' ? 16 : f == 'o' ? 8 : 10);
X! 		n = 0L;
X! 		while (c != EOF && c <= ' ')
X! 		    c = _sfget();
X! 		if ((m = _sfnum(c, base)) < 0)
X! 		    return assigned;
X! 		do	{
X! 		    n = n * base + m;
X! 		    c = _sfget();
X! 		    m = _sfnum(c, base);
X! 		    if (--wid == 0) break;
X! 		} while (m >= 0);
X! 		if (!skip) {
X! 		    if (lng) {
X! 			lp = (long * )*args++;
X! 			*lp = n;
X! 		    }
X! 		    else	{
X! 			ip = *args++;
X! 			*ip = n;
X! 		    }
X! 		    assigned++;
X  		}
X+ 		break;
X+ 		/* ++jrb */
X+ 	      case 'e': case 'f': case 'g': case 'E': case 'F': case 'G':
X+ 		done_some = 0;
X+ 		if((f == 'E') || (f == 'F') || (f == 'G')) lng++;
X+ 		fval = 0.0;	/* our result value */
X+ 		sign = 0;	/* assume positive */
X+ 		if (wid == 0)
X+ 		    wid = 0x7fff;	/* very wide */
X+ 		if (wid && c == '+')
X+ 		    c = _sfget ();
X+ 		else if (wid && c == '-') {
X+ 		    sign = 1;
X+ 		    c = _sfget ();
X+ 		}
X+ 		while (wid && isdigit(c)) {
X+ 		    --wid;
X+ 		    fval = fval * 10.0 + (c - '0');
X+ 		    c = _sfget ();
X+ 		    done_some = 1;
X+ 		}
X+ 		if(c == '.')
X+ 		{
X+ 		    double factor = 1.0/10.0;
X+ 		    c = _sfget ();
X+ 		    while (--wid && isdigit(c))
X+ 		    {
X+ 			fval = fval + ((c - '0') * factor);
X+ 			factor = factor/10.0;
X+ 			c = _sfget();
X+ 			done_some = 1;
X+ 		    }
X+ 		}
X+ 		if(done_some && sign)
X+ 		    fval = -fval;
X+ 		sign = 0;
X+ 		if(((c == 'E') || (c == 'e')) && done_some)
X+ 		{
X+ 		    int pow = 0;
X+ 		    c = _sfget ();
X+ 		    if((c == '+') || (c == '-'))
X+ 		    {
X+ 			if(c == '-') sign = 1;
X+ 			wid--;
X+ 			c = _sfget();
X+ 		    } 
X+ 		    
X+ 		    while(--wid && isdigit(c))
X+ 		    {
X+ 			pow = pow * 10 + (c -'0');
X+ 			c = _sfget();
X+ 		    }
X+ 		    fval = _fraise(fval, (sign == 1)? -pow : pow);
X+ 		}
X+ 		if (!skip) {
X+ 		    if (lng)
X+ 		    {
X+ 			dp = (double *)*args++;
X+ 			*dp = fval;
X+ 		    }
X+ 		    else
X+ 		    {
X+ 			fp = (float *)*args++;
X+ 			*fp = (float) fval;
X+ 		    }
X+ 		    assigned++;
X+ 		}
X+ 		break;
X+ 		
X+ 	      default:
X+ 		return assigned;
X+ 	    }
X  	}
X!     }
X!     return f == 0 ? assigned : EOF;
X  }
X  
X  
X  _sfnum(c, base) {
X!     if (c >= '0' && c <= '9')
X! 	return c - '0';
X!     else if (base == 16 && c >= 'a' && c <= 'f')
X! 	return c - 'a' + 10;
X!     else if (base == 16 && c >= 'A' && c <= 'F')
X! 	return c - 'A' + 10;
X!     else 	return -1;
X  }
X  
X  _sfget() {
X!     extern char *_sfcp;
X!     extern FILE *_sffp;
X!     if (_sffp) return getc(_sffp);
X!     if (_sfcp && *_sfcp) return *_sfcp++;
X!     return EOF;
X  }
X  
X  char *_sfcp;	/* char pointer for scanf input string */
SHAR_EOF
if test 8855 -ne "`wc -c 'tos.cdiff'`"
then
	echo shar: error transmitting "'tos.cdiff'" '(should have been 8855 characters)'
fi
echo shar: extracting "'minix.cdiff'" '(8097 characters)'
if test -f 'minix.cdiff'
then
	echo shar: over-writing existing file "'minix.cdiff'"
fi
sed 's/^X//' << \SHAR_EOF > 'minix.cdiff'
X*** doprintf.c.dist	Tue Dec 13 18:37:34 1988
X--- doprintf.c	Wed Dec 14 04:07:57 1988
X***************
X*** 82,89 ****
X--- 82,92 ----
X   * and is probably not as precise as some would want, but its
X   * good enough for rock & roll.
X   *
X+  * 12/10/88 added rounding ++jrb
X+  *
X   */
X  #define MAXWIDTH 30	/* chosen arb. */
X+ #define LOG2    3.01029995663981200e-01 /* log base 10 of 2 */
X  
X  typedef enum { EFORMAT, FFORMAT, GFORMAT  } FORMAT_TYPE;
X  static void _flofmt();
X***************
X*** 99,104 ****
X--- 102,109 ----
X      char mybuf[MAXWIDTH+1];
X      int  pow;
X      int  sign;
X+     double least;
X+     extern double ldexp();
X  #ifdef KLUDGEDIV
X      long l;
X      int i;
X***************
X*** 115,120 ****
X--- 120,135 ----
X      }
X      else sign = 0;
X  
X+     /* round it off at precision -- add 5.0E-(precision+1) */
X+     least = ldexp(0.5, -((int)((double)precision/LOG2 + 0.5)));
X+     if(least > val)
X+     {
X+ 	least = 0.0;
X+ 	precision = MAXWIDTH;
X+     }
X+     else
X+ 	val += least;
X+     
X  #ifdef DDD
X      printf("sign %d\n", sign);
X  #endif
X***************
X*** 155,163 ****
X  	precision -= ((precision + pow) - MAXWIDTH);
X      
X  #ifdef KLUDGEDIV
X!     _flofmt(&mybuf[i], val, precision);
X  #else
X!     _flofmt(mybuf, val, precision+pow);
X  #endif
X  
X  #ifdef DDD
X--- 170,178 ----
X  	precision -= ((precision + pow) - MAXWIDTH);
X      
X  #ifdef KLUDGEDIV
X!     _flofmt(&mybuf[i], val, least, precision);
X  #else
X!     _flofmt(mybuf, val, least, precision+pow);
X  #endif
X  
X  #ifdef DDD
X***************
X*** 186,196 ****
X  	    pow -= 1;
X  	    *q++ = *p++;
X  	    *q++ = '.';
X  	    while(*p != '\0')
X  		*q++ = *p++;
X! 	    *q++ = 'E';
X  	    if(pow >= 0)
X  		*q++ = '+';
X  	    p = itoa(pow);
X  	    while(*p != '\0') *q++ = *p++;
X  	    *q = '\0';
X--- 201,220 ----
X  	    pow -= 1;
X  	    *q++ = *p++;
X  	    *q++ = '.';
X+ 	    if(*p == '\0')
X+ 		*q++ = '0';
X  	    while(*p != '\0')
X  		*q++ = *p++;
X! 	    *q++ = 'e';
X  	    if(pow >= 0)
X  		*q++ = '+';
X+ 	    else
X+ 	    {
X+ 		*q++ = '-';
X+ 		pow = -pow;
X+ 	    }
X+ 	    if(pow < 10)
X+ 		*q++ = '0';
X  	    p = itoa(pow);
X  	    while(*p != '\0') *q++ = *p++;
X  	    *q = '\0';
X***************
X*** 205,214 ****
X  		    *q++ = '-';
X  		while(pow-- > 0)
X  		    *q++ = *p++;
X! 		*q++ = '.';
X! 		while(*p != '\0')
X! 		    *q++ = *p++;
X! 		
X  		*q = '\0';
X  		return q;
X  	    }
X--- 229,240 ----
X  		    *q++ = '-';
X  		while(pow-- > 0)
X  		    *q++ = *p++;
X! 		if(*p != '\0')
X! 		{
X! 		    *q++ = '.';
X! 		    while(*p != '\0')
X! 			*q++ = *p++;
X! 		}
X  		*q = '\0';
X  		return q;
X  	    }
X***************
X*** 223,229 ****
X  	    
X  	    /* anyone have a good heuristic to decide between F and E */
X  	    /* formats ??? */
X! 	    if((pow + leading) > 4) goto efmt;
X  	    goto ffmt;
X  	}
X      }
X--- 249,256 ----
X  	    
X  	    /* anyone have a good heuristic to decide between F and E */
X  	    /* formats ??? */
X! 	    if((leading > 6) || (precision > 6) || ((pow+precision) > 10))
X! 		goto efmt; 
X  	    goto ffmt;
X  	}
X      }
X***************
X*** 232,240 ****
X  	
X      
X  /* the formatter for flona -- basic body from pfgutc.c Tos Gcc lib */
X! static void  _flofmt(buf, val, precision)
X  char * buf;
X! double val;
X  int precision;
X  {
X      long int_part;
X--- 259,267 ----
X  	
X      
X  /* the formatter for flona -- basic body from pfgutc.c Tos Gcc lib */
X! static void  _flofmt(buf, val, least, precision)
X  char * buf;
X! double val, least;
X  int precision;
X  {
X      long int_part;
X***************
X*** 248,254 ****
X      for (i = 0 ; i < MAXWIDTH ; i++)
X  	digit[i] = 0;
X      for (i = 0, ndigits = 0 ;
X! 	 ((val > 0) && (ndigits < precision) && (i < MAXWIDTH)); i++) 
X      {
X  	val = val * 10.0;
X  	int_part = val;
X--- 275,281 ----
X      for (i = 0 ; i < MAXWIDTH ; i++)
X  	digit[i] = 0;
X      for (i = 0, ndigits = 0 ;
X! 	 ((val > least) && (ndigits < precision) && (i < MAXWIDTH)); i++) 
X      {
X  	val = val * 10.0;
X  	int_part = val;
X*** scanf.c.dist	Tue Dec 13 18:41:52 1988
X--- scanf.c	Tue Dec 13 19:00:32 1988
X***************
X*** 6,11 ****
X--- 6,14 ----
X   *   obviously a no-no. Changed that real quick.
X   * - added [0-9] style scansets
X   *	++jrb bammi@dsrgsun.ces.cwru.edu
X+  *
X+  * 12/10/88 minor bugfix to accept floating #'s of the for .nnnn
X+  *	++jrb
X   */
X  
X  
X***************
X*** 340,351 ****
X  		sign = 1;
X  		rnc ();
X  	    }
X! 	    while (width-- && isdigit(ic)) {
X  		fval = fval * 10.0 + (ic - '0');
X  		rnc ();
X  		done_some = 1;
X  	    }
X! 	    if((ic == '.') && done_some)
X  	    {
X  		double factor = 1.0/10.0;
X  		rnc ();
X--- 343,355 ----
X  		sign = 1;
X  		rnc ();
X  	    }
X! 	    while (width && isdigit(ic)) {
X! 		width--;
X  		fval = fval * 10.0 + (ic - '0');
X  		rnc ();
X  		done_some = 1;
X  	    }
X! 	    if(ic == '.')
X  	    {
X  		double factor = 1.0/10.0;
X  		rnc ();
X***************
X*** 353,358 ****
X--- 357,363 ----
X  		{
X  		    fval = fval + ((ic - '0') * factor);
X  		    factor = factor/10.0;
X+ 		    done_some = 1;
X  		    rnc();
X  		}
X  	    }
X*** strncpy.c.dist	Mon Nov 14 08:38:00 1988
X--- strncpy.c	Fri Dec  2 04:51:00 1988
X***************
X*** 1,17 ****
X! char *strncpy(s1, s2, n)
X! register char *s1, *s2;
X! int n;
X  {
X! /* Copy s2 to s1, but at most n characters. */
X! 
X!   char *original = s1;
X! 
X!   while (*s2 != 0) {
X! 	*s1++ = *s2++;
X! 	if (--n == 0) break;
X!   }
X! 	/* ++jrb fix from net -- thanks bds@lzaz.ATT.COM */
X!   while (--n >= 0) *s1++ = 0;
X! 
X!   return(original);
X  }
X--- 1,14 ----
X! char *strncpy(dest, src, count)
X! register char *dest, *src;
X! register int count;
X  {
X!     register char *save = dest;
X!     
X!     while(count-- > 0)
X!     {
X! 	if((*dest++ = *src++) == '\0')
X! 	    break;
X!     }
X!     while(count-- > 0) *dest++ = '\0';
X!     return(save);
X  }
X*** Makefile.16.dist1	Wed Nov 30 03:48:45 1988
X--- Makefile.16	Sat Dec 10 01:57:04 1988
X***************
X*** 35,41 ****
X  	  unlink.o utime.o wait.o write.o call.o message.o stbrksz.o \
X  	  stsndrec.o stsetjmp.o
X  
X! O5	= getopt.o alloca.o getwd.o ldexp.o atof.o eprintf.o
X  
X  GNUSTUFF = fixnum.o sflonum.o dflonum.o
X  
X--- 35,42 ----
X  	  unlink.o utime.o wait.o write.o call.o message.o stbrksz.o \
X  	  stsndrec.o stsetjmp.o
X  
X! O5	= getopt.o alloca.o getwd.o atof.o eprintf.o
X! O6	= ldexp.o frexp.o modf.o
X  
X  GNUSTUFF = fixnum.o sflonum.o dflonum.o
X  
X***************
X*** 52,65 ****
X  	rm -f $(O3)
X  	rm -f $(O4)
X  	rm -f $(O5)
X  	rm -f $(GNUSTUFF)
X  	rm -f $(SFILES)
X  
X  
X! libc.a:	$(O1) $(O2) $(O3) $(O4) $(O5) $(GNUSTUFF)
X  	rm -f $@
X  	$(AR) srv $@ $(O1) $(O2) $(O3)
X! 	$(AR) srv $@ $(O4) $(O5) $(GNUSTUFF)
X  
X  crtso.o: stcrtso.s
X  	$(AS) $?
X--- 53,67 ----
X  	rm -f $(O3)
X  	rm -f $(O4)
X  	rm -f $(O5)
X+ 	rm -f $(O6)
X  	rm -f $(GNUSTUFF)
X  	rm -f $(SFILES)
X  
X  
X! libc.a:	$(O1) $(O2) $(O3) $(O4) $(O5) $(O6) $(GNUSTUFF)
X  	rm -f $@
X  	$(AR) srv $@ $(O1) $(O2) $(O3)
X! 	$(AR) srv $@ $(O4) $(O5) $(O6) $(GNUSTUFF)
X  
X  crtso.o: stcrtso.s
X  	$(AS) $?
X***************
X*** 76,83 ****
X  stsndrec.s : stsndrec.cpp
X  
X  # 
X! # Note: dflonum.c *must* be compiled with 32 bit ints
X  #	 (no -mshort flag to gcc)
X  #
X  dflonum.o : dflonum.c flonum.h
X  	$(CC) -O -DATARI_ST -c dflonum.c
X--- 78,94 ----
X  stsndrec.s : stsndrec.cpp
X  
X  # 
X! # Note: the following *must* be compiled with 32 bit ints
X  #	 (no -mshort flag to gcc)
X  #
X  dflonum.o : dflonum.c flonum.h
X  	$(CC) -O -DATARI_ST -c dflonum.c
X+ 
X+ ldexp.o : ldexp.c flonum.h
X+ 	$(CC) -O -DATARI_ST -DSHORTLIB -c ldexp.c
X+ 
X+ frexp.o : frexp.c flonum.h
X+ 	$(CC) -O -DATARI_ST -c -DSHORTLIB frexp.c
X+ 
X+ modf.o : modf.c flonum.h
X+ 	$(CC) -O -DATARI_ST -c modf.c
X*** Makefile.32.dist1	Wed Nov 30 03:48:19 1988
X--- Makefile.32	Thu Dec  8 17:52:53 1988
X***************
X*** 37,43 ****
X  	  unlink.o utime.o wait.o write.o call.o message.o stbrksz.o \
X  	  stsndrec.o stsetjmp.o
X  
X! O5      = getopt.o alloca.o getwd.o ldexp.o atof.o eprintf.o
X  
X  GNUSTUFF = fixnum.o sflonum.o dflonum.o
X  
X--- 37,43 ----
X  	  unlink.o utime.o wait.o write.o call.o message.o stbrksz.o \
X  	  stsndrec.o stsetjmp.o
X  
X! O5      = getopt.o alloca.o getwd.o atof.o eprintf.o ldexp.o frexp.o modf.o
X  
X  GNUSTUFF = fixnum.o sflonum.o dflonum.o
X  
SHAR_EOF
if test 8097 -ne "`wc -c 'minix.cdiff'`"
then
	echo shar: error transmitting "'minix.cdiff'" '(should have been 8097 characters)'
fi
#	End of shell archive
exit 0
usenet: {decvax,sun}!cwjcc!dsrgsun!bammi	jwahar r. bammi
csnet:       bammi@dsrgsun.ces.CWRU.edu
arpa:        bammi@dsrgsun.ces.CWRU.edu
compuServe:  71515,155