Am 28.08.2010 18:38, schrieb Rémy Oudompheng:
I wonder about the validity of compiling lib32 packages with -march=i686, should it be done that way? Is it, in other distros?
I would say using -march=(some real 32-bit architecture) for the multilib repo would be better for compatibility with binary packages. Having CFLAGS="-march=x86_64 -m32" doesn't look OK.
In lib32 packages, we only want binaries compatible with x86_64 CPUs, so -march=x86-64 is the way to go. This allows the compiler to use more instruction sets and optimizations - for example, all x86_64 CPUs have SSE, while i686 doesn't have it. If -march=x86-64 breaks zlib, this is likely to be a bug in zlib or the compiler. We could change the -march to something older on a per-package basis as a workaround, but finding the real bug would be better.