From 9cc9d6113cc2b25e1651771c967990939ce09581 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 4 May 2014 23:31:59 +0200 Subject: gs: fix truetype interpreter for amd64 --- sys/src/cmd/gs/src/ttfsfnt.h | 4 ++++ sys/src/cmd/gs/src/tttypes.h | 4 ---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/src/cmd/gs/src/ttfsfnt.h b/sys/src/cmd/gs/src/ttfsfnt.h index d998b93cb..bef9b4937 100644 --- a/sys/src/cmd/gs/src/ttfsfnt.h +++ b/sys/src/cmd/gs/src/ttfsfnt.h @@ -47,6 +47,8 @@ typedef int16_t F2Dot14; /* 2.14 16-bit signed fixed-point number */ typedef int32_t F26Dot6; /* 26.6 32-bit signed fixed-point number */ #endif +#pragma pack on + typedef struct { uint32 bc; uint32 ad; @@ -349,4 +351,6 @@ typedef struct FontTableInfo { #define RAW_TRUE_TYPE_SIZE 512 +#pragma pack off + #endif diff --git a/sys/src/cmd/gs/src/tttypes.h b/sys/src/cmd/gs/src/tttypes.h index 4db69f009..62de545ee 100644 --- a/sys/src/cmd/gs/src/tttypes.h +++ b/sys/src/cmd/gs/src/tttypes.h @@ -118,11 +118,7 @@ #endif #ifdef Plan9 -#ifdef Tamd64 - typedef unsigned long long* PStorage; -#else typedef unsigned int* PStorage; -#endif #elif ARCH_SIZEOF_PTR == SIZEOF_LONG typedef long* PStorage; #elif ARCH_SIZEOF_PTR == SIZEOF_INT -- cgit v1.2.3 From 826f4c0daffe7c7d7599f407c2c6897823b64b6e Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Sun, 4 May 2014 00:17:27 +0200 Subject: gs: remove PStorage data type from ttf interpreter i dont see that pointers are stored in PStorage at all, so just use PLong directly avoding all this confusion. --- sys/src/cmd/gs/src/ttinterp.c | 2 +- sys/src/cmd/gs/src/ttobjs.h | 6 +++--- sys/src/cmd/gs/src/tttables.h | 2 +- sys/src/cmd/gs/src/tttypes.h | 11 ----------- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/sys/src/cmd/gs/src/ttinterp.c b/sys/src/cmd/gs/src/ttinterp.c index dcaad78e2..cefa11c21 100644 --- a/sys/src/cmd/gs/src/ttinterp.c +++ b/sys/src/cmd/gs/src/ttinterp.c @@ -166,7 +166,7 @@ static int nInstrCount=0; #endif -#define INS_ARG EXEC_OPS PStorage args /* see ttexec.h */ +#define INS_ARG EXEC_OPS PLong args /* see ttexec.h */ #define SKIP_Code() SkipCode( EXEC_ARG ) diff --git a/sys/src/cmd/gs/src/ttobjs.h b/sys/src/cmd/gs/src/ttobjs.h index 2b25e37a9..bed1b3c03 100644 --- a/sys/src/cmd/gs/src/ttobjs.h +++ b/sys/src/cmd/gs/src/ttobjs.h @@ -589,7 +589,7 @@ typedef struct _TExecution_Context TExecution_Context; PLong cvt; Int storeSize; /* The storage area is now part of the */ - PStorage storage; /* instance */ + PLong storage; /* instance */ }; @@ -638,11 +638,11 @@ typedef struct _TExecution_Context TExecution_Context; /* useful for the debugger */ Int storeSize; /* size of current storage */ - PStorage storage; /* storage area */ + PLong storage; /* storage area */ Int stackSize; /* size of exec. stack */ Int top; /* top of exec. stack */ - PStorage stack; /* current exec. stack */ + PLong stack; /* current exec. stack */ Int args, new_top; /* new top after exec. */ diff --git a/sys/src/cmd/gs/src/tttables.h b/sys/src/cmd/gs/src/tttables.h index ed6c9b387..20d1a3857 100644 --- a/sys/src/cmd/gs/src/tttables.h +++ b/sys/src/cmd/gs/src/tttables.h @@ -191,7 +191,7 @@ struct _TLoca { UShort Size; - PStorage Table; + PLong Table; }; typedef struct _TLoca TLoca; diff --git a/sys/src/cmd/gs/src/tttypes.h b/sys/src/cmd/gs/src/tttypes.h index 62de545ee..0c7673761 100644 --- a/sys/src/cmd/gs/src/tttypes.h +++ b/sys/src/cmd/gs/src/tttypes.h @@ -117,17 +117,6 @@ #define NULL (void*)0 #endif -#ifdef Plan9 - typedef unsigned int* PStorage; -#elif ARCH_SIZEOF_PTR == SIZEOF_LONG - typedef long* PStorage; -#elif ARCH_SIZEOF_PTR == SIZEOF_INT - typedef int* PStorage; -#else -#error "Size of pointer type is not equal to either long or int" -#endif - - /* Rounding mode constants */ #define TT_Round_Off 5 -- cgit v1.2.3