X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=package%2Flua%2Fpatches-host%2F030-archindependent-bytecode.patch;fp=package%2Flua%2Fpatches-host%2F030-archindependent-bytecode.patch;h=0000000000000000000000000000000000000000;hp=8dfef85d0d7e654dd89835d77280958f1457ba08;hb=4ebf19b48fafc8d94e14e4ba779969613b241a6a;hpb=44b1688e6c7b4f16f7165fbd560e1183aef69090 diff --git a/package/lua/patches-host/030-archindependent-bytecode.patch b/package/lua/patches-host/030-archindependent-bytecode.patch deleted file mode 100644 index 8dfef85d0d..0000000000 --- a/package/lua/patches-host/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); -