From: Behdad Esfahbod <behdad@behdad.org>
Date: Wed, 18 Nov 2009 19:08:00 +0000 (-0500)
Subject: [fc-arch] Beautify the arch template
X-Git-Tag: 2.8.0~5
X-Git-Url: https://git.wh0rd.org/?a=commitdiff_plain;h=d5ebf48e34e9235cf10e9f7beb49af74823c3fc6;p=fontconfig.git

[fc-arch] Beautify the arch template
---

diff --git a/fc-arch/fc-arch.c b/fc-arch/fc-arch.c
index 09a9d82..1ef0cf1 100644
--- a/fc-arch/fc-arch.c
+++ b/fc-arch/fc-arch.c
@@ -24,8 +24,8 @@
 #include "fcint.h"
 #include <ctype.h>
 
-#define ENDIAN_TEST 0x12345678
-#define MACHINE_SIGNATURE_SIZE (9*23 + 1)
+#define ENDIAN_TEST 0x01020304
+#define MACHINE_SIGNATURE_SIZE 1024
 
 static char *
 FcCacheMachineSignature (void)
@@ -34,9 +34,9 @@ FcCacheMachineSignature (void)
     int32_t magic = ENDIAN_TEST;
     char * m = (char *)&magic;
 
-    sprintf (buf, "%2x%2x%2x%2x_"
-	     "%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_"
-	     "%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x",
+    sprintf (buf, "%01x%01x%01x%01x_"
+	     "%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_"
+	     "%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x_%02x",
 	     m[0], m[1], m[2], m[3],
 	     (unsigned int)sizeof (FcAlign),
 	     (unsigned int)sizeof (char),
diff --git a/fc-arch/fcarch.tmpl.h b/fc-arch/fcarch.tmpl.h
index 09eccdc..8d592e9 100644
--- a/fc-arch/fcarch.tmpl.h
+++ b/fc-arch/fcarch.tmpl.h
@@ -28,11 +28,37 @@
 @@@ name. Architecture names are used to construct file names, so
 @@@ use something reasonable and don't include any spaces
 @@@
-@@@ name    endian   FcAlign  char     char*    int      intptr_t Pattern  EltPtr   Elt *    Elt      ObjPtr   VLPtr    Value    Binding  VL *     StrSet * CharSet  Leaf**   Char16 * Char16   Leaf     Char32   Cache
-x86	    78563412_00000008_00000001_00000004_00000004_00000004_00000010_00000004_00000004_00000008_00000004_00000004_0000000c_00000004_00000004_00000004_00000010_00000004_00000004_00000002_00000020_00000004_00000020
-x86-64	    78563412_00000008_00000001_00000008_00000004_00000008_00000018_00000008_00000008_00000010_00000004_00000008_00000010_00000004_00000008_00000008_00000018_00000008_00000008_00000002_00000020_00000004_00000038
-ppc	    12345678_00000008_00000001_00000004_00000004_00000004_00000010_00000004_00000004_00000008_00000004_00000004_00000010_00000004_00000004_00000004_00000010_00000004_00000004_00000002_00000020_00000004_00000020
-ppc64	    12345678_00000008_00000001_00000008_00000004_00000008_00000018_00000008_00000008_00000010_00000004_00000008_00000010_00000004_00000008_00000008_00000018_00000008_00000008_00000002_00000020_00000004_00000038
-m68k	    12345678_00000008_00000001_00000004_00000004_00000004_00000010_00000004_00000004_00000008_00000004_00000004_0000000c_00000004_00000004_00000004_00000010_00000004_00000004_00000002_00000020_00000004_00000020
-mipsel	    78563412_00000008_00000001_00000004_00000004_00000004_00000010_00000004_00000004_00000008_00000004_00000004_00000010_00000004_00000004_00000004_00000010_00000004_00000004_00000002_00000020_00000004_00000020
-sparc64     12345678_00000008_00000001_00000008_00000004_00000008_00000018_00000008_00000008_00000010_00000004_00000008_00000010_00000004_00000008_00000008_00000018_00000008_00000008_00000002_00000020_00000004_00000038
+@@@ So far the differences boil down to: endianness, 32 vs 64 bit, and on
+@@@ 32bit archs, whether double is aligned to one word or two words.
+@@@
+@@@ ,name
+@@@ |       ,endian
+@@@ |       |    ,FcAlign
+@@@ |       |    |  ,char
+@@@ |       |    |  |  ,char*
+@@@ |       |    |  |  |  ,int
+@@@ |       |    |  |  |  |  ,intptr_t
+@@@ |       |    |  |  |  |  |  ,Pattern
+@@@ |       |    |  |  |  |  |  |  ,EltPtr
+@@@ |       |    |  |  |  |  |  |  |  ,Elt *
+@@@ |       |    |  |  |  |  |  |  |  |  ,Elt
+@@@ |       |    |  |  |  |  |  |  |  |  |  ,ObjPtr
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  ,ValueListPtr
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  ,Value
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  ,ValueBinding
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  ,ValueList *
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,StrSet *
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,CharSet
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,CharLeaf **
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,Char16 *
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,Char16
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,CharLeaf
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,Char32
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  ,Cache
+@@@ |       |    |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
+x86	    4321_08_01_04_04_04_10_04_04_08_04_04_0c_04_04_04_10_04_04_02_20_04_20
+mipsel	    4321_08_01_04_04_04_10_04_04_08_04_04_10_04_04_04_10_04_04_02_20_04_20
+x86-64	    4321_08_01_08_04_08_18_08_08_10_04_08_10_04_08_08_18_08_08_02_20_04_38
+m68k	    1234_08_01_04_04_04_10_04_04_08_04_04_0c_04_04_04_10_04_04_02_20_04_20
+ppc	    1234_08_01_04_04_04_10_04_04_08_04_04_10_04_04_04_10_04_04_02_20_04_20
+ppc64	    1234_08_01_08_04_08_18_08_08_10_04_08_10_04_08_08_18_08_08_02_20_04_38