Blame SOURCES/coreutils-8.2-uname-processortype.patch

47d86b
diff -urNp coreutils-8.2-orig/src/uname.c coreutils-8.2/src/uname.c
47d86b
--- coreutils-8.2-orig/src/uname.c	2009-09-23 10:25:44.000000000 +0200
47d86b
+++ coreutils-8.2/src/uname.c	2009-12-19 09:09:11.663607110 +0100
47d86b
@@ -301,7 +301,7 @@ main (int argc, char **argv)
47d86b
 
47d86b
   if (toprint & PRINT_PROCESSOR)
47d86b
     {
47d86b
-      char const *element = unknown;
47d86b
+      char *element = unknown;
47d86b
 #if HAVE_SYSINFO && defined SI_ARCHITECTURE
47d86b
       {
47d86b
         static char processor[257];
47d86b
@@ -308,6 +308,12 @@ main (int argc, char **argv)
47d86b
         if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
47d86b
           element = processor;
47d86b
       }
47d86b
+#else
47d86b
+      {
47d86b
+	static struct utsname u;
47d86b
+	uname(&u);
47d86b
+	element = u.machine;
47d86b
+      }
47d86b
 #endif
47d86b
 #ifdef UNAME_PROCESSOR
47d86b
       if (element == unknown)
47d86b
@@ -351,7 +357,7 @@ main (int argc, char **argv)
47d86b
 
47d86b
   if (toprint & PRINT_HARDWARE_PLATFORM)
47d86b
     {
47d86b
-      char const *element = unknown;
47d86b
+      char *element = unknown;
47d86b
 #if HAVE_SYSINFO && defined SI_PLATFORM
47d86b
       {
47d86b
         static char hardware_platform[257];
47d86b
@@ -353,6 +359,14 @@ main (int argc, char **argv)
47d86b
                           hardware_platform, sizeof hardware_platform))
47d86b
           element = hardware_platform;
47d86b
       }
47d86b
+#else
47d86b
+      {
47d86b
+	static struct utsname u;
47d86b
+	uname(&u);
47d86b
+	element = u.machine;
47d86b
+	if(strlen(element)==4 && element[0]=='i' && element[2]=='8' && element[3]=='6')
47d86b
+		element[1]='3';
47d86b
+      }
47d86b
 #endif
47d86b
 #ifdef UNAME_HARDWARE_PLATFORM
47d86b
       if (element == unknown)