X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f From: Claude Freeman Newsgroups: comp.os.msdos.djgpp Subject: Re: CC1.EXE/GCC.EXE crashes with SIGILL, hard. Date: Tue, 19 Jun 2012 21:06:54 -0700 (PDT) Organization: http://groups.google.com Lines: 67 Message-ID: <0985e435-5419-41d8-9c38-681664c49038@f7g2000yqh.googlegroups.com> References: <16777375 DOT 1302 DOT 1331688966231 DOT JavaMail DOT geo-discussion-forums AT vbat19> <4F60E096 DOT 2060106 AT iki DOT fi> <496fa848-de2c-4020-aced-ef298a0c5ec9 AT r21g2000yqa DOT googlegroups DOT com> <75057a79-95a3-41ec-93c6-8b459c4d9f9a AT h20g2000yqd DOT googlegroups DOT com> <963ed3e2-354f-48ce-90fd-43fb7263fe2d AT v2g2000vbx DOT googlegroups DOT com> <20a1f7c2-2a4a-430f-a762-2e53b10cef12 AT f37g2000yqc DOT googlegroups DOT com> <2414077 DOT 1981 DOT 1335755547650 DOT JavaMail DOT geo-discussion-forums AT ynjn4> <4F9E1CBC DOT 9020203 AT iki DOT fi> <8ef38a89-8802-4cac-b1e6-3efb5fd7cf08 AT 35g2000yqq DOT googlegroups DOT com> NNTP-Posting-Host: 71.8.68.68 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 X-Trace: posting.google.com 1340165214 20027 127.0.0.1 (20 Jun 2012 04:06:54 GMT) X-Complaints-To: groups-abuse AT google DOT com NNTP-Posting-Date: Wed, 20 Jun 2012 04:06:54 +0000 (UTC) Complaints-To: groups-abuse AT google DOT com Injection-Info: f7g2000yqh.googlegroups.com; posting-host=71.8.68.68; posting-account=7o7X4woAAABllKcaak5lVpiMF9zViaoz User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Win95; en-US; rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4,gzip(gfe) Bytes: 5210 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com On Apr 30, 8:56 pm, Rugxulo wrote: > Hi, > > On Apr 30, 12:01 am, Andris Pavenis wrote: > > > On 04/30/2012 06:12 AM, Claude Freeman wrote: > > > > Since a lot of distros dropped 586 recently, I don't think anyone's noticed.... > > When was the last time that a Linux distro could actually run on a > real 586? Not recently, even the "lightweight" ones barely run on so- > called 686 anymore, esp. due to RAM or other reasons (drivers?). Hence > why people like Fedora 11 (switched to i586) quickly jumped to i686 > for F12 (and newer). Though I personally (very highly!) doubt that > "i686" (bunch of CMOVxx) optimization does jack squat to help for > newer cpus. > > > According to the bug reports for GCC it was noticed. > > So why didn't they just revert back to a sane choice? It's quite a > silly regression. > > > The problem is perhaps that few of developers have 586 any more and this problem most likely have > > very low priority now for them. It is actually detection which CPU features area available what is > > broken for 586. It is detecting that CMOV can be used when it is really not supported. > > This is really not hard, just testing a few bits from CPUID. It's not > rocket science. But I gather that GCC developers are few (relatively) > compared to audience and they obviously have a lot of their plates > (billion architectures and OSes, though mainly focusing on POSIX). > > > PS. You can of course try my build of GCC-4.7.0 for DJGPP (seehttp://ap1.pp.fi/djgpp/gcc/4.7.0/), > > but be warned that I do not know whether this problem is fixed neither I have any 586 system for > > testing. Also be warned that this version will perhaps be even more memory starved and slow on 586. > > Since the OP is the one with the actual 586 he's trying to use, he > should do this (IMO, feel free to ignore): > > 1). Recompile something relatively simple like Gzip (or Bzip2) with > GCC 2.95.3 with "-O2 -march=pentium", and do a "redir -t gzip -d > random5mb.tgz". > > 2). Do the same but with GCC 4.7.0 (or 4.6.3 or 4.2.3 or whatever). > Though I would be surprised if it did anything better as I doubt much > has changed (if anything!!!) in 586 optimizations since then. > > So unless you really want newer language standards (C++, Ada) or > features, I'd stick to older GCCs (or another compiler entirely or > even interpreter), esp. if you're just dinking around to learn C. > Though perhaps GCC 3.4.4 would be a good compromise. But on such an > "old" machine, it's just not reasonable to use latest GCC, IMO. > > On my old P166, which I don't use due to broken floppy drive [among > other things], I just used both my own slimmed C-only 2.95.3 and full > 3.4.4 for some other stuff [GPC]. Though it was a DOS-only machine, > heh, so I didn't have the overhead of Windows. > > P.S. I should probably mention that, IIRC, 2.7.2.3's "GCC -O2" was as > fast (or faster) than 2.95.3's -O0. And 3.x obviously slowed down a > lot vs. 2.x, similar big slowdown for 4.x, so I dunno. Just try a few > things and get a feel for it. You're the one using it, so it's your > ultimate decision! (2.7.2.3 [1995-7] only did optimizations 386 or 486 > [only added extra alignment], it was 2.8.1 [1998] that added > preliminary 586 optimizations [UV pairing], and 2.95.3 [1999-2001] > first added 686 support and was last of series before switch to 3.x.) I'll try it out. thanks!