Mail Archives: djgpp/2012/06/20/00:15:31
On Apr 30, 8:56 pm, Rugxulo <rugx DOT DOT DOT AT gmail DOT com> wrote:
> 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 (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!
- Raw text -