On Tuesday 2015-06-02 21:56, James Y Knight wrote: >Similar to the situation on x86-64, a sparc64 linux kernel can run a >32-bit userspace, and when doing so, the triple should be the 32-bit >variant not the 64-bit variant.
If you run a x86_64 or sparc64 kernel, it means your CPU is capable of running instructions like MOV(QWORD) or LDX, respectively. These instructions can be issued **no matter whether your C compiler is in ILP32 or LP64 mode**. Some projects, often those with assembler code involved, use the host tuple to decide whether or not such 64-bit/SPARCV9 instructions are usable and are to be included in the program that is being built. (I think that openssl might have been one of those.) Your change would throw them off course, and so, I cannot support this change. >+ sparc64:Linux:*:*) >+ # A sparc64 kernel can be used with both 32bit and 64bit >+ # userspaces. Figure out which we have. >+ eval $set_cc_for_build >+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | >+ grep -q __LP64__ >+ then >+ SPARC_ARCH="sparc" >+ else >+ SPARC_ARCH="sparc64" _______________________________________________ config-patches mailing list config-patches@gnu.org https://lists.gnu.org/mailman/listinfo/config-patches