Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > a35732d620cfac4812adc8d6b2992f07 > files > 28

rpm-4.4.8-22.1mdv2008.0.src.rpm

Index: installplatform
===================================================================
--- installplatform
+++ installplatform	2007-02-27 17:37:28.845532743 +0100
@@ -33,7 +33,7 @@
   i[3456]86|pentium[34]|athlon) SUBSTS='s_i386_i386_ s_i386_i486_ s_i386_i586_ s_i386_i686_ s_i386_pentium3_ s_i386_pentium4_ s_i386_athlon_' ;;
   alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
   sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
-  powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
+  powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_ s_ppc64_ppc32_ s_ppc\([^6ip]\|$\)_ppc32_' ;;
   s390*) SUBSTS='s_s390x_s390_ s_s390\([^x]\|$\)_s390x\1_' ;;
   x86_64|amd64|ia32e) SUBSTS='s,x86_64,ia32e, s,x86_64,amd64,' ;;
   *) SUBSTS=y___ ;;
@@ -64,7 +64,7 @@
     sparc64-linux) ARCH_INSTALL_POST=${pkglibdir}/brp-sparc64-linux; LIB=lib64; MULTILIBNO=2 ;;
     s390-linux) MULTILIBNO=1 ;;
     s390x-linux) LIB=lib64; MULTILIBNO=2 ;;
-    ppc-linux) MULTILIBNO=1 ;;
+    ppc-linux|ppc32-linux) MULTILIBNO=1 ;;
     ppc64-linux) LIB=lib64; MULTILIBNO=2 ;;
     i?86-linux|pentium?-linux|athlon-linux) MULTILIBNO=1 ;;
     x86_64-linux|amd64-linux|ia32e-linux) LIB=lib64; MULTILIBNO=2 ;;
Index: rpmrc.in
===================================================================
--- rpmrc.in
+++ rpmrc.in	2007-02-27 17:38:36.485987037 +0100
@@ -47,6 +47,7 @@
 optflags: ppc32dy4 -O2 -g -m32
 optflags: ppciseries -O2 -g -m32
 optflags: ppcpseries -O2 -g -m32
+optflags: ppc32 -O2 -g -fsigned-char
 optflags: ppc64 -O2 -g -m64 -mminimal-toc
 optflags: ppciseries -O2 -g -m64 -mminimal-toc
 optflags: ppcpseries -O2 -g -m64 -mminimal-toc
@@ -112,6 +113,7 @@
 arch_canon:	mips:	mips	4
 
 arch_canon:	ppc:	ppc	5
+arch_canon:	ppc32:	ppc32	5
 arch_canon:	ppc8260:	ppc8260	5
 arch_canon:	ppc8560:	ppc8560	5
 arch_canon:	ppc32dy4:	ppc32dy4	5
@@ -272,7 +274,8 @@
 arch_compat: ppc32dy4: ppc
 arch_compat: ppciseries: ppc
 arch_compat: ppcpseries: ppc
-arch_compat: ppc64: ppc
+arch_compat: ppc64: ppc32
+arch_compat: ppc32: ppc
 arch_compat: ppc: rs6000
 arch_compat: rs6000: noarch fat
 arch_compat: ppc64pseries: ppc64
@@ -382,6 +385,7 @@
 buildarch_compat: ppciseries: noarch
 buildarch_compat: ppcpseries: noarch
 buildarch_compat: ppc: noarch fat
+buildarch_compat: ppc32: ppc
 buildarch_compat: ppc64: noarch fat
 buildarch_compat: ppc64pseries: ppc64
 buildarch_compat: ppc64iseries: ppc64
Index: lib/rpmrc.c
===================================================================
--- lib/rpmrc.c
+++ lib/rpmrc.c	2007-02-27 17:37:28.821532581 +0100
@@ -1537,6 +1537,9 @@
 #	endif
 
 #	if defined(__linux__) && defined(__powerpc__)
+#if defined(__powerpc64__)
+	if (!strcmp(un.machine, "ppc"))
+#endif
 	{
 	    unsigned pvr = 0;
 	    __sighandler_t oldh = signal(SIGILL, mfspr_ill);
@@ -1548,17 +1551,32 @@
 	    if ( pvr ) {
 		pvr >>= 16;
 		switch (pvr) {
-		/* IBM750FX, 7410, 7450,  7451, 7441, 7455, 7445 */ 
-		case 0x7000:
-		case 0x8000:
-		case 0x8001:
-		case 0x800c:
+		case 0x7000: // 750FX
+		case 0x7002: // 750GX
+		case 0x8000: // 7450
+		case 0x8001: // 7455
+		case 0x8002: // 7457
+		case 0x8003: // 7447A
+		case 0x8004: // 7448
+		case 0x800c: // 7410
 		    strcpy(un.machine, "ppc"); 
 		    break;
 		case 0x36:
 		case 0x37:
 		    strcpy(un.machine, "ppciseries");
 		    break;
+#if defined(__powerpc64__)
+		case 0x35: // POWER4
+		case 0x39: // 970
+		case 0x3c: // 970FX
+		case 0x3a: // POWER5
+		case 0x3b: // POWER5+
+		case 0x3e: // POWER6
+		case 0x70: // Cell
+		case 0x90: // PA67
+		    strcpy(un.machine, "ppc32");
+		    break;
+#endif
 		default:
 		    if ( pvr >= 0x40)
 			strcpy(un.machine, "ppcpseries");
Index: lib/rpmts.c
===================================================================
--- lib/rpmts.c
+++ lib/rpmts.c	2007-02-27 17:37:28.805532474 +0100
@@ -235,7 +235,7 @@
 	"sparc", "sun4", "sun4m", "sun4c", "sun4d", "sparcv8", "sparcv9",
 	"sparc64", "sun4u",
 	"mips", "mipsel", "IP",
-	"ppc", "ppciseries", "ppcpseries",
+	"ppc", "ppciseries", "ppcpseries", "ppc32",
 	"ppc64", "ppc64iseries", "ppc64pseries",
 	"m68k",
 	"rs6000",