Problem compiling GCC on 386 machine

Oisin Hurley ohurley at cs.tcd.ie
Wed Mar 13 06:22:45 AEST 1991


I'm trying to compile GCC 1.37.1 on a 386 with no 387. The Unix is
Interactive's product. A certain piece of code causes my compiler to dump
out with the message:

	Fatal error in /lib/comp
	Status 0213

here's the offending bit of code, with the problem line pointed out -- it
actually happens somewhere after the (double) in the text expansion of
the HIGH_BIT_COEFF constant:

#ifdef L_fixunsdfsi
#define HIGH_BIT_INT_COEFF  (1 << (BITS_PER_WORD - 1))
#define HIGH_BIT_COEFF  (2 * (double) (1 << (BITS_PER_WORD - 2)))

SItype
__fixunsdfsi (a)
     double a;
{
  if (a < HIGH_BIT_COEFF) 			<-------- HERE'S WHERE IT HAPPENS
    return (SItype)a;
  /* Convert large positive numbers to smaller ones,
     then increase again after you have a fixed point number.  */
  else
    return ((SItype) (a - HIGH_BIT_COEFF)) + HIGH_BIT_INT_COEFF;
}
#endif

Ok, I realise this is a problem with the compiler I'm using and I need to
get a proper compiler etc (that's why I'm trying to use gcc :-) but it would
be *GREATLY* appreciated if somebody could email me and tell me WHAT could
have caused this and is there a workaround, or what - I've a good idea
that it has something to do with the target machine supposing to have a 387
but is there any way that this assumption can be turned off?


	thanks in advance
		Oisin

- Oisin Hurley
- Dept of Computer Science, Trinity College, Dublin 2, Ireland

--EMAIL: 	ombhurley at cs.tcd.ie



More information about the Comp.unix.sysv386 mailing list