*BSD News Article 11014


Return to BSD News archive

Received: by minnie.vk1xwt.ampr.org with NNTP
	id AA1151 ; Tue, 23 Feb 93 14:28:04 EST
Newsgroups: comp.unix.bsd
Path: sserve!manuel.anu.edu.au!munnari.oz.au!spool.mu.edu!howland.reston.ans.net!bogus.sura.net!udel!gatech!hubcap!ncrcae!ncrhub2!ncrgw2!psinntp!uuneo!sugar!peter
From: peter@NeoSoft.com (Peter da Silva)
Subject: Re: problem compiling distribution
Organization: NeoSoft -- (713) 684-5900 2400/N/8/1
Date: Sun, 7 Feb 1993 19:47:41 GMT
Message-ID: <C23GBI.5vB@NeoSoft.com>
References: <1993Feb2.152035.2316@sbcs.sunysb.edu> <CGD.93Feb2084222@eden.CS.Berkeley.EDU>
Lines: 26

In article <CGD.93Feb2084222@eden.CS.Berkeley.EDU> cgd@eden.CS.Berkeley.EDU (Chris G. Demetriou) writes:
> on ref.tfs.com, and every other machine i've got access to,
> the compile dies w/ the signal 6 thing...

OK, I found a machine that has this problem. GCC has REALLY CRAPPY ERROR
HANDLING. It just calls abort() and assumes you can GDB it. Phphpht. I put
a patch in cc1/config/xm_i386.h to dump __FILE__ and __LINE__ (habit, easier
than getting gdb fixed on a system with a broken gcc, no?) and the error is
in toplev.c line 903. It's a non-handled floating point exception.

It's breaking on 486en, working on 386en.

The debugging patch is (approx)

	cc1/config/xm_i386.h

	char abort_kludge_buf[512];
	#define abort() \
		(sprintf(abort_kludge_buf, "abort() in %s:%d\n", \
			__FILE__, __LINE__), \
		 write(2, abort_kludge_buf, strlen(abort_kludge_buf)), \
		 signal(getpid(),6))

I actually put this in a separate file and linked gcc/cc1/obj/config.h
to that instead of xm_i386.h