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