rpm/rpmrctests.diff

33 lines
895 B
Diff

Patch machine detection code: detect transmeta, rename parisc to hppa. [#52713]
--- ./lib/rpmrc.c.orig 2012-06-01 10:38:24.000000000 +0000
+++ ./lib/rpmrc.c 2012-06-01 10:44:59.000000000 +0000
@@ -786,6 +786,14 @@ static inline int RPMClass(void)
cpu = (tfms>>8)&15;
+ if (cpu == 5
+ && cpuid_ecx(0) == '68xM'
+ && cpuid_edx(0) == 'Teni'
+ && (cpuid_edx(1) & ((1<<8)|(1<<15))) == ((1<<8)|(1<<15))) {
+ sigaction(SIGILL, &oldsa, NULL);
+ return 6; /* has CX8 and CMOV */
+ }
+
sigaction(SIGILL, &oldsa, NULL);
if (cpu < 6)
@@ -1023,6 +1031,12 @@ static void defaultMachine(const char **
strcpy(un.machine, "mips");
# endif
+#if defined(__linux__)
+ /* in linux, lets rename parisc to hppa */
+ if (rstreq(un.machine, "parisc"))
+ strcpy(un.machine, "hppa");
+#endif
+
# if defined(__hpux) && defined(_SC_CPU_VERSION)
{
# if !defined(CPU_PA_RISC1_2)