diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2009-11-18 14:08:00 -0500 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2009-11-18 14:15:12 -0500 |
commit | d5ebf48e34e9235cf10e9f7beb49af74823c3fc6 (patch) | |
tree | 8670d52a416a3e890bdeed90aa2dd0a1da7f09b4 | |
parent | d074706b507226427f5a4018e78fe120a01eb53d (diff) |
[fc-arch] Beautify the arch template
-rw-r--r-- | fc-arch/fc-arch.c | 10 | ||||
-rw-r--r-- | fc-arch/fcarch.tmpl.h | 42 |
2 files changed, 39 insertions, 13 deletions
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 |