diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-02-22 18:10:23 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-02-22 18:10:23 +0000 |
commit | 9cbba08f01e6cbe03b3c03dd14c16ade5c75fe7e (patch) | |
tree | 91b892df861afeed191347896d3130d59d41410f /tools/lua/patches/030-archindependent-bytecode.patch | |
parent | 3d7b088997a372140d946c7e2ee9fdd3be9a0ee4 (diff) |
merge host build of lua from tools/ into package/lua/Makefile
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14622 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools/lua/patches/030-archindependent-bytecode.patch')
-rw-r--r-- | tools/lua/patches/030-archindependent-bytecode.patch | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/tools/lua/patches/030-archindependent-bytecode.patch b/tools/lua/patches/030-archindependent-bytecode.patch deleted file mode 100644 index 8dfef85d0d..0000000000 --- a/tools/lua/patches/030-archindependent-bytecode.patch +++ /dev/null @@ -1,111 +0,0 @@ ---- a/src/ldump.c -+++ b/src/ldump.c -@@ -67,12 +67,12 @@ static void DumpString(const TString* s, - { - if (s==NULL || getstr(s)==NULL) - { -- size_t size=0; -+ unsigned int size=0; - DumpVar(size,D); - } - else - { -- size_t size=s->tsv.len+1; /* include trailing '\0' */ -+ unsigned int size=s->tsv.len+1; /* include trailing '\0' */ - DumpVar(size,D); - DumpBlock(getstr(s),size,D); - } ---- a/src/lundump.c -+++ b/src/lundump.c -@@ -25,6 +25,7 @@ typedef struct { - ZIO* Z; - Mbuffer* b; - const char* name; -+ int swap; - } LoadState; - - #ifdef LUAC_TRUST_BINARIES -@@ -40,7 +41,6 @@ static void error(LoadState* S, const ch - } - #endif - --#define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size)) - #define LoadByte(S) (lu_byte)LoadChar(S) - #define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x)) - #define LoadVector(S,b,n,size) LoadMem(S,b,n,size) -@@ -51,6 +51,49 @@ static void LoadBlock(LoadState* S, void - IF (r!=0, "unexpected end"); - } - -+static void LoadMem (LoadState* S, void* b, int n, size_t size) -+{ -+ LoadBlock(S,b,n*size); -+ if (S->swap) -+ { -+ char* p=(char*) b; -+ char c; -+ switch (size) -+ { -+ case 1: -+ break; -+ case 2: -+ while (n--) -+ { -+ c=p[0]; p[0]=p[1]; p[1]=c; -+ p+=2; -+ } -+ break; -+ case 4: -+ while (n--) -+ { -+ c=p[0]; p[0]=p[3]; p[3]=c; -+ c=p[1]; p[1]=p[2]; p[2]=c; -+ p+=4; -+ } -+ break; -+ case 8: -+ while (n--) -+ { -+ c=p[0]; p[0]=p[7]; p[7]=c; -+ c=p[1]; p[1]=p[6]; p[6]=c; -+ c=p[2]; p[2]=p[5]; p[5]=c; -+ c=p[3]; p[3]=p[4]; p[4]=c; -+ p+=8; -+ } -+ break; -+ default: -+ IF(1, "bad size"); -+ break; -+ } -+ } -+} -+ - static int LoadChar(LoadState* S) - { - char x; -@@ -82,7 +125,7 @@ static lua_Integer LoadInteger(LoadState - - static TString* LoadString(LoadState* S) - { -- size_t size; -+ unsigned int size; - LoadVar(S,size); - if (size==0) - return NULL; -@@ -196,6 +239,7 @@ static void LoadHeader(LoadState* S) - char s[LUAC_HEADERSIZE]; - luaU_header(h); - LoadBlock(S,s,LUAC_HEADERSIZE); -+ S->swap=(s[6]!=h[6]); s[6]=h[6]; - IF (memcmp(h,s,LUAC_HEADERSIZE)!=0, "bad header"); - } - -@@ -230,7 +274,7 @@ void luaU_header (char* h) - *h++=(char)LUAC_FORMAT; - *h++=(char)*(char*)&x; /* endianness */ - *h++=(char)sizeof(int); -- *h++=(char)sizeof(size_t); -+ *h++=(char)sizeof(unsigned int); - *h++=(char)sizeof(Instruction); - *h++=(char)sizeof(lua_Number); - |