----- Original Message ----- 
From: "Ken Moffat" <[email protected]>
To: "LFS Developers Mailinglist" <[email protected]>
Sent: Sunday, May 09, 2010 10:12 PM
Subject: Re: gmp note (#2648)


> >
>
>  For x86_64-capable CPUs (pedantically, I don't think this is an issue on
> other 64-bit-capable architectures) I see no benefit in specifying
'--build'..
> ABI=32 is more appropriate.
>
Should be the same on ppc and sparc 64-bits cpu with 32-bits userland.
I don't have a pcc64 and my sparc64 build is broken actually.

>   Thanks for confirming the second issue is indeed a "build on one
machine,
> run on another" problem.
>
>  New version now up, saying (after the ABI=32 stuff)
>
> The configure script will optimise gmp for the processor on which it
> is compiled. If you intend to run the binaries on a different i?86
> processor you may need to 'detune' the build. For example, to build
> for i486 use
>
> ./configure ... --build=i486-linux
>
> - you can search the configure script for 'i486*)' to find a suitable
> value from the available i?86 host_cpu variants.
>
ok

> [ I'm now trying to guide people explicitly to the code - ' i486*'
> had a first match on a discussion of m32 etc for old versions of
> gcc. ]
>
>  Is this the only place in the current book where following the
> instructions and building on recent i686 produces binaries that
> do not run on i486 ?
>
Parsing our entire build tree with analyse-x86.sh (curious name for a perl
script), here are the first results

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/bin/kill will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/bin/ps will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    0 mmx:    0 sse:    0 3dnow:    0 ext3dnow:    0
/lib/ld-2.11.1.so will run on Pentium Pro (i686 or pentiumpro) or higher
processor.

i486:  160 i586:    5 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/lib/libc-2.11.1.so will run on  or higher processor.

i486:    0 i586:    0 mmx:    0 sse:   14 3dnow:    0 ext3dnow:    0
/lib/libm-2.11.1.so will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/lib/libproc-3.2.8.so will run on AMD Athlon 4 (athlon-4) or higher
processor.

i486:    0 i586:    0 mmx:    0 sse:    0 3dnow:    0 ext3dnow:    0
/lib/libpthread-2.11.1.so will run on  or higher processor.

i486:   62 i586:    5 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/sbin/ldconfig will run on  or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/sbin/sysctl will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/usr/bin/free will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/usr/bin/top will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/usr/bin/uptime will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/usr/bin/vmstat will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:    0 i586:    2 mmx:    0 sse:    2 3dnow:    0 ext3dnow:    0
/usr/bin/w will run on AMD Athlon 4 (athlon-4) or higher processor.

i486:  122 i586:    8 mmx:  213 sse:    1 3dnow:    0 ext3dnow:    0
/usr/lib/libcrypto.so.0.9.8 will run on  or higher processor.

i486:    0 i586:    3 mmx:    0 sse:    0 3dnow:    0 ext3dnow:    0
/usr/lib/libgcrypt.so.11.5.3 will run on Pentium or compatible (i586 or
pentium) or higher processor.

i486:    0 i586:    4 mmx: 7142 sse: 1609 3dnow:    0 ext3dnow:    0
/usr/lib/libpixman-1.so.0.17.10 will run on  or higher processor.

This need a bit more work
With some of the binaries in that list, the script say
"This binary was found to contain the cpuid instruction.
It may be able to conditionally execute instructions if
they are supported on the host (i586+)."

That script has a bug when the cpu is not displayed and there is a space for
/lib/libc-2.11.1.so will run on  or higher processor.
/lib/libpthread-2.11.1.so will run on  or higher processor.
/sbin/ldconfig will run on  or higher processor.
/usr/lib/libcrypto.so.0.9.8 will run on  or higher processor.
/usr/lib/libpixman-1.so.0.17.10 will run on  or higher processor.

There is probably another bug in the script for /lib/ld-2.11.1.so
All counts are 0 but script say i686 is needed.

kil, ps, free, top, uptime, vmstat, w belong to the same procps package.
There is a problem there.

Gilles

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to