On Wed, Mar 18, 2015 at 10:27:05PM -0400, Fernando Rodriguez wrote
> On Wednesday, March 18, 2015 9:56:12 PM Walter Dnes wrote:
> >   My situation...
> > 
> > * I've dug up my ancient netbook, and got Gentoo re-installed on it
> > * The cpu is a dual-core Intel(R) Atom(TM) CPU Z520
> > * It's 32-bit only; YES!
> > * Compiling just the Seamonkey binary (ignoring its dependancies) took
> >   14 hours
> > 
> >   I obviously want to offload compiling to another machine.  As per the
> > subject, will a 64-bit no-multilb install be able to cross compile
> > 32-bit code?
> 
> I've done it with distcc by adding the -m32 option to cflags. I used a script 
> (named after the compiler on the gentoo box) to call the compiler with the -
> m32 flag and placed on the PATH environment (just for the distccd service) 
> before anything else and it worked. I got a 64 bit arch box to compile for a 
> 32 bit gentoo (not nearly as fast as compiling locally on the arch box but 
> much faster than the gentoo box). It should work similarly with other cross-
> compile scenarios.

  Thanks.  I'll probably be back with a bunch of questions.  As a matter
of fact, I already have one.  The docs say that it does not work if the
"-march=native" cflag is used.  It says to use the output of...

gcc -march=native -E -v - </dev/null 2>&1 | grep cc1

...omitting "/usr/libexec/gcc/x86_64-pc-linux-gnu/4.8.3/cc1 -E -quiet -v -"
I presume.  So on the 64-bit host, I would go from...

CFLAGS="-O2 -march=native -mfpmath=sse -fomit-frame-pointer -pipe 
-fno-unwind-tables -fno-asynchronous-unwind-tables"

...to...

CFLAGS="-O2 -march=core2 -mcx16 -msahf -mno-movbe -mno-aes -mno-pclmul 
-mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 
-mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mno-lzcnt -mno-rtm 
-mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx 
-mfxsr -mno-xsave -mno-xsaveopt --param l1-cache-size=32 --param 
l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=core2 -fstack-protector 
-mfpmath=sse -fomit-frame-pointer -pipe -fno-unwind-tables 
-fno-asynchronous-unwind-tables"

  And on the target (netbook), I'd go to...

CFLAGS="-O2 -march=atom -mno-cx16 -msahf -mmovbe -mno-aes -mno-pclmul 
-mno-popcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 
-mno-tbm -mno-avx -mno-avx2 -mno-sse4.2 -mno-sse4.1 -mno-lzcnt -mno-rtm 
-mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx 
-mfxsr -mno-xsave -mno-xsaveopt --param l1-cache-size=24 --param 
l1-cache-line-size=64 --param l2-cache-size=512 -mtune=atom -fstack-protector 
-mfpmath=sse -fomit-frame-pointer -pipe -fno-unwind-tables 
-fno-asynchronous-unwind-tables" 

  Is that correct (assuming that's my output)?

-- 
Walter Dnes <waltd...@waltdnes.org>
I don't run "desktop environments"; I run useful applications

Reply via email to