around line 440: <pre test="func:keyval('arch')='AMD64'" caption="Defining the CFLAGS and CXXFLAGS variable"> CFLAGS="-march=athlon-xp -pipe -O2" <comment># AMD64 users who want a native 64-bit system should use -march=athlon64</comment> <comment># EM64T users should use -march=nocona</comment> CXXFLAGS="${CFLAGS}" <comment># Use the same settings for both variables</comment> </pre> I think the march has nothing to do with 32/64 bit code generation so the comment should be <comment># AMD64 users should use -march=athlon64</comment>. FYI: I checked it with the #-amd64-dev guys
(In reply to comment #0) There's no point in using a 64-bit processor specification in what will be a 32-bit environment. To quote from the GNU gcc manual, when you use -march=athlon64: "This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions." So in other words, specifying -march=athlon64 *turns on 64-bit code features*. This isn't right if you're trying to build a 32-bit environment, which is why we list -march=athlon-xp. There's nothing to stop users from enabling SSE3 on their 64bit chip by using -march=athlon-xp -msse3, but we shouldn't advise using march=athlon64.
(In reply to comment #1) > (In reply to comment #0) > There's no point in using a 64-bit processor specification in what will be a > 32-bit environment. To quote from the GNU gcc manual, when you use > -march=athlon64: > > "This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction > set extensions." Forgot to post the link: http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options Basically, I don't think it's misleading. If you're trying to get a 32-bit system, you *should NOT* be specifying 64-bit instruction sets.