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 00:56:57
Message-Id: 1661060.ccyWF8tkth@navi
In Reply to: Re: [gentoo-user] Will a 64-bit-no-multilib machine cross-compile 32-bit code? by Mike Gilbert
1 On Sunday, March 22, 2015 10:03:01 AM Mike Gilbert wrote:
2 > On Sat, Mar 21, 2015 at 3:52 PM, Fernando Rodriguez
3 > <frodriguez.developer@×××××××.com> wrote:
4 > > On Saturday, March 21, 2015 8:46:10 AM Mike Gilbert wrote:
5 > >> On Thu, Mar 19, 2015 at 12:20 AM, Walter Dnes <waltdnes@××××××××.org>
6 wrote:
7 > >> > CFLAGS="-O2 -march=atom -mno-cx16 -msahf -mmovbe -mno-aes -mno-pclmul -
8 > > mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-
9 bmi2 -
10 > > mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mno-lzcnt -mno-rtm -
11 mno-
12 > > hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -
13 mfxsr
14 > > -mno-xsave -mno-xsaveopt --param l1-cache-size=24 --param l1-cache-line-
15 > > size=64 --param l2-cache-size=512 -mtune=atom -fstack-protector -
16 mfpmath=sse -
17 > > fomit-frame-pointer -pipe -fno-unwind-tables -fno-asynchronous-unwind-
18 tables"
19 > >> >
20 > >> > Is that correct (assuming that's my output)?
21 > >> >
22 > >>
23 > >> I should warn you against including all of those -mno-xxx flags. This
24 > >> has been known to break the build process for packages like chromium,
25 > >> which always wants to build with SSE4 support and toggles it off at
26 > >> runtime. Passing -mno-sse4.1 causes a build failure as it tries to use
27 > >> macros that are not defined.
28 > >>
29 > >
30 > > Isn't it possible that removing it for all packages would cause a more
31 subtle
32 > > problem with another faulty ebuild (like a program crashing due to an
33 illegal
34 > > instruction)?
35 >
36 > Passing -march=atom should be sufficient to ensure that you don't get
37 > any illegal instructions. The -mno-XXX flags are redundant, and MOSTLY
38 > harmless.
39 >
40 > In the case of chromium, the build system adds -msse4.1 for specific
41 > files (just the ones using SSE4.1 instructons). When you have
42 > -mno-sse4.1, this takes precedence and the build fails.
43 >
44
45 Thanks for explaining.
46
47 --
48 Fernando Rodriguez