Gentoo Archives: gentoo-user

From: Fernando Rodriguez <frodriguez.developer@×××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Will a 64-bit-no-multilib machine cross-compile 32-bit code?
Date: Mon, 23 Mar 2015 22:42:11
Message-Id: 3086055.ZU6mplhdnj@navi
In Reply to: Re: [gentoo-user] Will a 64-bit-no-multilib machine cross-compile 32-bit code? by Mike Gilbert
1 On Monday, March 23, 2015 6:18:46 PM Mike Gilbert wrote:
2 > On Mon, Mar 23, 2015 at 9:51 PM, Walter Dnes <waltdnes@××××××××.org> wrote:
3 > > On Sun, Mar 22, 2015 at 09:25:53PM -0400, Fernando Rodriguez wrote
4 > >
5 > >> I guess gcc devs are careful when using the model numbers (Intel
6 > >> lists 3 for Atoms, gcc uses only two so that may account for the
7 > >> models I mentioned) but the chance of error is there. The -mno-xxx
8 > >> flags would safeguard against it.
9 > >
10 > > I have one of the earliest Atom chips. Some people have a hard time
11 > > believing this, but it's a 32-bit-only chip; a couple of lines from
12 > > /proc/cpuinfo
13 > >
14 > > model name : Intel(R) Atom(TM) CPU Z520 @ 1.33GHz
15 > > address sizes : 32 bits physical, 32 bits virtual
16 > >
17 > > Intel gives the CPU's specs at...
18 > >
19 > > http://ark.intel.com/products/35466/Intel-Atom-Processor-Z520-512K-Cache-1_33-GHz-533-MHz-FSB
20 > >
21 > > ...where it specifically says...
22 > >
23 > > Intel 64 # No
24 > >
25 > > I want to make absolutely certain that "illegal instructions" are not
26 > > compiled for it.
27 >
28 > You will probably need to add -m32 to CFLAGS to avoid building 64-bit
29 > objects on the 64-bit machine.
30 >
31
32 Your CPU is an example of what I'm saying, not just because it doesn't have 64
33 bit extensions but because it doesn't have MMX (at least according to the
34 specs) and according to the GCC manual -march=atom means: "Intel Atom CPU with
35 64-bit extensions, MOVBE, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set
36 support." So I guess it's more common than I thought.
37
38 So you may also want to add -mno-mmx to be sure. GCC does check for mmx but it
39 doesn't not use it on the output (probably a bug?).
40
41
42 --
43 Fernando Rodriguez

Replies