--- dietlibc-0.30/diet.c.orig 2006-12-31 12:01:17.000000000 +0000
+++ dietlibc-0.30/diet.c 2006-12-31 12:02:59.000000000 +0000
@@ -146,22 +146,30 @@
- else if (!strncmp(shortplatform, "pentium3", 8)) strcpy(shortplatform, "i386");
else if (!strncmp(shortplatform, "athlon", 6)) strcpy(shortplatform, "i386");
else if (!strncmp(shortplatform, "amd64", 5)) strcpy(shortplatform, "x86_64");
+ else if (!strncmp(shortplatform, "sparcv", 6)) strcpy(shortplatform, "sparc");
+ if (!strncmp(shortplatform, "x86_64", 6) && (m==32)) strcpy(shortplatform, "i386");
+ else if (!strncmp(shortplatform, "i386", 4) && (m==64)) strcpy(shortplatform, "x86_64");
-+ else if (!strncmp(shortplatform, "sparc", 5) && (m==32)) strcpy(shortplatform, "sparc");
++ else if (!strncmp(shortplatform, "sparc64", 7) && (m==32)) strcpy(shortplatform, "sparc");
+ else if (!strncmp(shortplatform, "sparc", 5) && (m==64)) strcpy(shortplatform, "sparc64");
+ else if (!strncmp(shortplatform, "ppc64", 5) && (m==32)) strcpy(shortplatform, "ppc");
+ else if (!strncmp(shortplatform, "ppc", 3) && (m==64)) strcpy(shortplatform, "ppc64");
diff -uNrp dietlibc-0.29.orig/diet.c dietlibc-0.29/diet.c
---- dietlibc-0.29.orig/diet.c 2005-05-18 16:38:55.000000000 +0200
-+++ dietlibc-0.29/diet.c 2005-07-24 13:34:27.317983752 +0200
-@@ -142,6 +142,10 @@ int main(int argc,char *argv[]) {
+--- dietlibc-0.32-orig/diet.c 2009-03-17 00:17:58.000000000 +0100
++++ dietlibc-0.32/diet.c 2009-08-03 13:45:59.000000000 +0200
+@@ -147,6 +147,11 @@
memmove(shortplatform,argv[1],(size_t)(tmp2-cc));
platform[tmp2-cc+len]=0;
if (shortplatform[0]=='i' && shortplatform[2]=='8' && shortplatform[3]=='6') shortplatform[1]='3';
+ else if (!strncmp(shortplatform, "pentium3", 8)) strcpy(shortplatform, "i386");
+ else if (!strncmp(shortplatform, "athlon", 6)) strcpy(shortplatform, "i386");
+ else if (!strncmp(shortplatform, "amd64", 5)) strcpy(shortplatform, "x86_64");
++ else if (!strncmp(shortplatform, "sparcv", 6)) strcpy(shortplatform, "sparc");
} else {
#ifdef __sparc__
#ifdef __arch64__