delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2012/04/30/22:45:16

X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f
From: Rugxulo <rugxulo AT gmail DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: CC1.EXE/GCC.EXE crashes with SIGILL, hard.
Date: Mon, 30 Apr 2012 18:56:29 -0700 (PDT)
Organization: http://groups.google.com
Lines: 70
Message-ID: <8ef38a89-8802-4cac-b1e6-3efb5fd7cf08@35g2000yqq.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>
<ed5d1b7e-15bd-4b9e-94f6-f2a1e1f91e90 AT em9g2000vbb DOT googlegroups DOT com>
<963ed3e2-354f-48ce-90fd-43fb7263fe2d AT v2g2000vbx DOT googlegroups DOT com>
<DbSdnTKav7anJ-7SnZ2dnUVZ_j-dnZ2d AT earthlink 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>
NNTP-Posting-Host: 65.13.115.246
Mime-Version: 1.0
X-Trace: posting.google.com 1335839749 31702 127.0.0.1 (1 May 2012 02:35:49 GMT)
X-Complaints-To: groups-abuse AT google DOT com
NNTP-Posting-Date: Tue, 1 May 2012 02:35:49 +0000 (UTC)
Complaints-To: groups-abuse AT google DOT com
Injection-Info: 35g2000yqq.googlegroups.com; posting-host=65.13.115.246; posting-account=p5rsXQoAAAB8KPnVlgg9E_vlm2dvVhfO
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16
(KHTML, like Gecko) Chrome/10.0.630.0 Safari/534.16,gzip(gfe)
Bytes: 5038
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id q412j1vQ023538
Reply-To: djgpp AT delorie DOT com

Hi,

On Apr 30, 12:01 am, Andris Pavenis <andris DOT pave DOT  DOT  DOT  AT iki DOT fi> 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 (see http://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.)

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019