On Mon, Oct 17, 2016 at 03:10:57AM +0100, Ben Hutchings wrote:
> On Sun, 2016-10-16 at 18:57 +0300, Adrian Bunk wrote:
> [...]
> > You should fix your package so that it works on the lowest supported 
> > hardware of each port.
> Right.
> > Autobuilding is only a small part of the problem, your package would 
> > also not run on many computers that Debian does support.
> > 
> > That means nothing higher than SSE2 on amd64, and no SSE at all on i386.
> [...]
> On i386 we cannot even assume MMX, as the earliest 686 models don't
> have it.

That is true, but what is supported and what is not is more complicated
and depends on what exactly gcc/binutils define as "i686".

The root of the problem is that the "earliest 686 model" is the
Pentium Pro.
The Pentium Pro does not support MMX, even though many 586 CPUs do.
And much worse, what is supported by the Pentium Pro is not a subset
of what is supported by all other 686 CPUs.

MMX is supported by many 586 CPUs like the AMD K6 and the Pentium MMX, 
but it is not part of i686.

Optional in 686 but emitted by the gcc i686 is CMOV, and that is the 
reason why even some desktop and laptop CPUs released as late as 2002 [1]
will no longer be supported in stretch.

Several 686 CPUs, including all VIA C3s (even the ones with CMOV) 
and all Geodes, do not support NOPL.

Due to the OLPC laptop using Geode, binutils were upstream-patched
in 2010 (sic) to no longer emit NOPL for i686.

So what exactly gcc/binutils define as "i686" (and what will therefore 
be supported by the i386 port in stretch) does not only depend on what 
the earliest 686 CPUs supported back in 1995 - it does also depends on 
politics in 2010.

> Ben.


[1] Via C3 1.0T


       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

Reply via email to