From: Richard Dawe Newsgroups: comp.os.msdos.djgpp Subject: Re: FreeBE compilation woes Date: Tue, 02 Jan 2001 23:13:17 +0000 Organization: Customer of Energis Squared Lines: 50 Message-ID: <3A52608D.3F758D9E@phekda.freeserve.co.uk> References: <92t02s$3o7$1 AT nnrp1 DOT deja DOT com> <6480-Tue02Jan2001204654+0200-eliz AT is DOT elta DOT co DOT il> <92tcjg$fdf$1 AT nnrp1 DOT deja DOT com> <3A524ECF DOT 7AA5420 AT softhome DOT net> <92tjgv$lr9$1 AT nnrp1 DOT deja DOT com> NNTP-Posting-Host: modem-98.indium.dialup.pol.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: news8.svr.pol.co.uk 978479029 8894 62.136.40.98 (2 Jan 2001 23:43:49 GMT) NNTP-Posting-Date: 2 Jan 2001 23:43:49 GMT X-Complaints-To: abuse AT theplanet DOT net X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.17 i586) X-Accept-Language: de,fr To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hello. Tom St Denis wrote: > Maybe when somebody asks for help you give insight and not conjecture. > I know what a FAQ is I was looking for someone who I dunno, perhaps, > maybe WORKED WITH FREEBE!!!!!!!!. I know how to type gcc -c myfile and > such, I don't need to be treated like a dolt. Dude, no-one was treating you like a dolt. Flaming the people in this group isn't very nice, especially as most people are helpful. The FAQ does contain a link the answer - one of the questions at the start of section 8.17 is, in fact, about the error message you have found. If you follow the link to the gcc FAQ, the problem is explained, but the following may help. IIRC this problem is where code has the EAX register in the input/output arguments as well as the list of spilled (modified) registers for the assembly statement. They tightened up the rules in gcc, since the old behaviour was actually an error (I think). Taking an example from libwin, I had the following: : "=c" (Entry[1]), "=D" (Entry[0]) : "a" (0x1684), "b" (ID), "D" (0) : "%eax", "%edx" Here EAX and EDX shouldn't be in the spilled list on line 3, since they are listed in the output (line 1) and input (line 2) register lists. The fix in this case was to remove EAX and EDX from the spilled line, which means line 3 was removed. The fix for FreeBE is similar, I guess. Is there a FreeBE mailing list? Maybe someone has already made this fix, since gcc 2.95.x have been out for a while now. > > > Should I revert to V2.8.2 of GCC to fix the problem? Or re-write > > > FreeBE? AFAIK gcc 2.8.2 does not exist. 2.8.1 does. A re-write of FreeBE is not necessary - just correct the inline assembly. I guess the maintainer of FreeBE (Shawn Hargreaves?) would be interested in the fix for the problem. Well, I hope you sort this out. Bye, -- Richard Dawe [ mailto:richdawe AT bigfoot DOT com | http://www.bigfoot.com/~richdawe/ ]