diff options
-rw-r--r-- | development/luajit/luajit.SlackBuild | 6 | ||||
-rw-r--r-- | development/luajit/luajit.info | 6 | ||||
-rw-r--r-- | development/luajit/v2.0.1_hotfix1.patch | 103 |
3 files changed, 5 insertions, 110 deletions
diff --git a/development/luajit/luajit.SlackBuild b/development/luajit/luajit.SlackBuild index 8a3ea1077c251..19bb974c3d947 100644 --- a/development/luajit/luajit.SlackBuild +++ b/development/luajit/luajit.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for luajit -# Copyright 2013, Andrew Tkalia <anddt@yandex.ru>, Ukraine, Kyiv +# Copyright 2013-2014, Andrew Tkalia <anddt@yandex.ru>, Ukraine, Kyiv # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=luajit -VERSION=2.0.1 +VERSION=2.0.3 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -69,8 +69,6 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -patch -p1 < $CWD/v2.0.1_hotfix1.patch - make \ PREFIX=/usr \ INSTALL_LIB=/usr/lib${LIBDIRSUFFIX} \ diff --git a/development/luajit/luajit.info b/development/luajit/luajit.info index 1e9d701f20978..ab3d4350b724d 100644 --- a/development/luajit/luajit.info +++ b/development/luajit/luajit.info @@ -1,8 +1,8 @@ PRGNAM="luajit" -VERSION="2.0.1" +VERSION="2.0.3" HOMEPAGE="http://luajit.org/" -DOWNLOAD="http://luajit.org/download/LuaJIT-2.0.1.tar.gz" -MD5SUM="85e406e8829602988eb1233a82e29f1f" +DOWNLOAD="http://luajit.org/download/LuaJIT-2.0.3.tar.gz" +MD5SUM="f14e9104be513913810cd59c8c658dc0" DOWNLOAD_x86_64="" MD5SUM_x86_64="" REQUIRES="lua" diff --git a/development/luajit/v2.0.1_hotfix1.patch b/development/luajit/v2.0.1_hotfix1.patch deleted file mode 100644 index 0601cd9845a1a..0000000000000 --- a/development/luajit/v2.0.1_hotfix1.patch +++ /dev/null @@ -1,103 +0,0 @@ -Add missing GC steps for io.* functions. -MIPS: Fix cache flush/sync for JIT-compiled code jump area. -ARM: Fix cache flush/sync for exit stubs of JIT-compiled code. -Fix MSVC intrinsics for older versions. -Fix memory access check for fast string interning. - ---- a/src/lib_io.c -+++ b/src/lib_io.c -@@ -17,6 +17,7 @@ - #include "lualib.h" - - #include "lj_obj.h" -+#include "lj_gc.h" - #include "lj_err.h" - #include "lj_str.h" - #include "lj_state.h" -@@ -152,6 +153,7 @@ static int io_file_readline(lua_State *L, FILE *fp, MSize chop) - if (n >= m - 64) m += m; - } - setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n)); -+ lj_gc_check(L); - return (int)ok; - } - -@@ -163,6 +165,7 @@ static void io_file_readall(lua_State *L, FILE *fp) - n += (MSize)fread(buf+n, 1, m-n, fp); - if (n != m) { - setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n)); -+ lj_gc_check(L); - return; - } - } -@@ -174,6 +177,7 @@ static int io_file_readlen(lua_State *L, FILE *fp, MSize m) - char *buf = lj_str_needbuf(L, &G(L)->tmpbuf, m); - MSize n = (MSize)fread(buf, 1, m, fp); - setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n)); -+ lj_gc_check(L); - return (n > 0 || m == 0); - } else { - int c = getc(fp); ---- a/src/lj_asm_arm.h -+++ b/src/lj_asm_arm.h -@@ -91,6 +91,7 @@ static MCode *asm_exitstub_gen(ASMState *as, ExitNo group) - *mxp++ = group*EXITSTUBS_PER_GROUP; - for (i = 0; i < EXITSTUBS_PER_GROUP; i++) - *mxp++ = ARMI_B|((-6-i)&0x00ffffffu); -+ lj_mcode_sync(as->mcbot, mxp); - lj_mcode_commitbot(as->J, mxp); - as->mcbot = mxp; - as->mclim = as->mcbot + MCLIM_REDZONE; ---- a/src/lj_asm_mips.h -+++ b/src/lj_asm_mips.h -@@ -71,6 +71,7 @@ static void asm_sparejump_setup(ASMState *as) - memset(mxp+2, 0, MIPS_SPAREJUMP*8); - mxp += MIPS_SPAREJUMP*2; - lua_assert(mxp < as->mctop); -+ lj_mcode_sync(as->mcbot, mxp); - lj_mcode_commitbot(as->J, mxp); - as->mcbot = mxp; - as->mclim = as->mcbot + MCLIM_REDZONE; ---- a/src/lj_def.h -+++ b/src/lj_def.h -@@ -243,17 +243,17 @@ static LJ_AINLINE uint32_t lj_getu32(const void *p) - #endif - - #ifdef _M_PPC --#pragma intrinsic(_CountLeadingZeros) - unsigned int _CountLeadingZeros(long); -+#pragma intrinsic(_CountLeadingZeros) - static LJ_AINLINE uint32_t lj_fls(uint32_t x) - { - return _CountLeadingZeros(x) ^ 31; - } - #else --#pragma intrinsic(_BitScanForward) --#pragma intrinsic(_BitScanReverse) - unsigned char _BitScanForward(uint32_t *, unsigned long); - unsigned char _BitScanReverse(uint32_t *, unsigned long); -+#pragma intrinsic(_BitScanForward) -+#pragma intrinsic(_BitScanReverse) - - static LJ_AINLINE uint32_t lj_ffs(uint32_t x) - { ---- a/src/lj_str.c -+++ b/src/lj_str.c -@@ -48,7 +48,7 @@ static LJ_AINLINE int str_fastcmp(const char *a, const char *b, MSize len) - { - MSize i = 0; - lua_assert(len > 0); -- lua_assert((((uintptr_t)a + len) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4); -+ lua_assert((((uintptr_t)a+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4); - do { /* Note: innocuous access up to end of string + 3. */ - uint32_t v = lj_getu32(a+i) ^ *(const uint32_t *)(b+i); - if (v) { -@@ -121,7 +121,7 @@ GCstr *lj_str_new(lua_State *L, const char *str, size_t lenx) - h ^= b; h -= lj_rol(b, 16); - /* Check if the string has already been interned. */ - o = gcref(g->strhash[h & g->strmask]); -- if (LJ_LIKELY((((uintptr_t)str + len) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) { -+ if (LJ_LIKELY((((uintptr_t)str+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) { - while (o != NULL) { - GCstr *sx = gco2str(o); - if (sx->len == len && str_fastcmp(str, strdata(sx), len) == 0) { |