Hi,

At present, if a G5 or 970 processor is selected (-mcpu=), we can (and do) 
generate 64 bit register usage for m32 code.   This appears to be a 
long-standing bug.

OK for trunk & all open branches?
Iain

        gcc/
        * config/rs6000/darwin.h (OS_MISSING_POWERPC64): New.


Index: gcc/config/rs6000/darwin.h
===================================================================
--- gcc/config/rs6000/darwin.h  (revision 189712)
+++ gcc/config/rs6000/darwin.h  (working copy)
@@ -398,6 +398,9 @@ extern int darwin_emit_branch_islands;
    default, as kernel code doesn't save/restore those registers.  */
 #define OS_MISSING_ALTIVEC (flag_mkernel || flag_apple_kext)
 
+/* When building m32 code, we cannot use POWERPC64.  */
+#define OS_MISSING_POWERPC64 !TARGET_64BIT
+
 /* Darwin has support for section anchors on powerpc*.  
    It is disabled for any section containing a "zero-sized item" (because these
    are re-written as size=1 to be compatible with the OSX ld64).

Reply via email to