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".


Reply via email to