---- 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,26 +146,34 @@
- else if (!strncmp(shortplatform, "athlon", 6)) strcpy(shortplatform, "i386");
+--- dietlibc-0.34/diet.c.orig 2020-04-22 01:00:18.176151567 +0200
++++ dietlibc-0.34/diet.c 2020-04-22 01:02:12.779007194 +0200
+@@ -155,6 +155,14 @@
else if (!strncmp(shortplatform, "amd64", 5)) strcpy(shortplatform, "x86_64");
+ else if (!strncmp(shortplatform, "armv", 4)) strcpy(shortplatform, "arm");
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, "ppc", 3) && (m==64)) strcpy(shortplatform, "ppc64");
+ else if (!strncmp(shortplatform, "s390x", 5) && (m==32)) strcpy(shortplatform, "s390");
+ else if (!strncmp(shortplatform, "s390", 4) && (m==64)) strcpy(shortplatform, "s390x");
- else if (strcmp(shortplatform, "powerpc") == 0)
- strcpy(shortplatform, "ppc");
- else if (strcmp(shortplatform, "powerpc64") == 0)
- strcpy(shortplatform, "ppc64");
+ if (!strncmp(shortplatform, "powerpc", 7)) {
+ shortplatform[0] = shortplatform[1] = 'p'; shortplatform[2] = 'c';
+ memmove(&shortplatform[3], &shortplatform[7], strlen(&shortplatform[7]) + 1);
+@@ -168,23 +176,23 @@
} else {
#ifdef __sparc__
#ifdef __arch64__
#endif
#ifdef __powerpc__
- shortplatform="ppc";
-+ shortplatform=(m==64?"ppc64":"ppc");
++ shortplatform=(m==64?"ppc64":"ppc");
#endif
#ifdef __powerpc64__
+ #ifdef __LITTLE_ENDIAN__
+ shortplatform="ppc64le";
+ #else
- shortplatform="ppc64";
+ shortplatform=(m==32?"ppc":"ppc64");
+ #endif
#endif
#ifdef __i386__
- shortplatform="i386";