On 04/30/2010 03:09 PM, David W Noon wrote:
On Fri, 30 Apr 2010 12:10:02 +0200, Roger Mason wrote about
[gentoo-user] Compiling 32 bit library on x86_64:
Hello,
I need to compile a 32 bit version of libtermcap on an x86_64
(multilib) system. Can someone tell me how to set up CFLAGS? This is
what I have at the moment:
CFLAGS="-O2 -m32 -march=native -msse3 -pipe"
CXXFLAGS="-O2 -m32 -march=native -msse3 -pipe"
The -march=native will shoot you in the foot. Pick a 32-bit
architecture and use that instead; e.g. -march=i686
Then, -msse3 could also be problematic, unless the target is a very late
model Pentium 4. I would ditch that too.
None of those options are problematic. -march=native has nothing to do
with 32/64 bit. Every 64-bit CPU is 32-bit compatible and has zero
consequence.
I think you fell into the logical trap that 32-bit CPUs are not 64-bit
compatible but it's OK vice versa :) Meaning you can't use "-m64
-march=i686". But you *can* and *should* use "-m32 -march=core2".