On Sun, 2010-08-29 at 02:22 +0200, Thomas Bächler wrote:
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.
Thank you Thomas. I can bring this upstream to whoever does zlib. Before I do, does anyone know of any other app which uses lib32-zlib specifically? Would be good to verify that at least one other app than mine hits the segfault.