summaryrefslogtreecommitdiff
path: root/package/lua/patches/410-bitlib_25-embedded.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/lua/patches/410-bitlib_25-embedded.patch')
-rw-r--r--package/lua/patches/410-bitlib_25-embedded.patch186
1 files changed, 0 insertions, 186 deletions
diff --git a/package/lua/patches/410-bitlib_25-embedded.patch b/package/lua/patches/410-bitlib_25-embedded.patch
deleted file mode 100644
index 91de0647f5..0000000000
--- a/package/lua/patches/410-bitlib_25-embedded.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-Index: lua-5.1.4/src/Makefile
-===================================================================
---- lua-5.1.4.orig/src/Makefile 2008-09-25 13:08:31.000000000 +0200
-+++ lua-5.1.4/src/Makefile 2008-09-25 13:08:43.000000000 +0200
-@@ -29,7 +29,7 @@
- lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \
- lundump.o lvm.o lzio.o lnum.o
- LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \
-- lstrlib.o loadlib.o linit.o lposix.o
-+ lstrlib.o loadlib.o linit.o lposix.o lbitlib.o
-
- LUA_T= lua
- LUA_O= lua.o
-Index: lua-5.1.4/src/bit_limits.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ lua-5.1.4/src/bit_limits.h 2008-09-25 13:09:16.000000000 +0200
-@@ -0,0 +1,4 @@
-+#define BITLIB_FLOAT_BITS 53
-+#define BITLIB_FLOAT_MAX 0xfffffffffffffL
-+#define BITLIB_FLOAT_MIN (-0x10000000000000L)
-+#define BITLIB_FLOAT_UMAX 0x1fffffffffffffUL
-Index: lua-5.1.4/src/lbitlib.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ lua-5.1.4/src/lbitlib.c 2008-09-25 13:05:15.000000000 +0200
-@@ -0,0 +1,133 @@
-+/* Bitwise operations library */
-+/* (c) Reuben Thomas 2000-2008 */
-+/* See README for license */
-+
-+#include "lua.h"
-+#include "lauxlib.h"
-+#include "limits.h"
-+
-+#include "bit_limits.h"
-+
-+
-+/* FIXME: Assume lua_Integer is int */
-+#define LUA_INTEGER_MAX INT_MAX
-+#define LUA_INTEGER_MIN INT_MIN
-+
-+/* FIXME: Assume uint is an unsigned lua_Integer */
-+typedef unsigned int lua_UInteger;
-+#define LUA_UINTEGER_MAX UINT_MAX
-+
-+
-+/* Bit type size and limits */
-+
-+#define BIT_BITS \
-+ (CHAR_BIT * sizeof(lua_Integer) > BITLIB_FLOAT_BITS ? \
-+ BITLIB_FLOAT_BITS : (CHAR_BIT * sizeof(lua_Integer)))
-+
-+/* This code may give warnings if BITLIB_FLOAT_* are too big to fit in
-+ long, but that doesn't matter since in that case they won't be
-+ used. */
-+#define BIT_MAX \
-+ (CHAR_BIT * sizeof(lua_Integer) > BITLIB_FLOAT_BITS ? BITLIB_FLOAT_MAX : LUA_INTEGER_MAX)
-+
-+#define BIT_MIN \
-+ (CHAR_BIT * sizeof(lua_Integer) > BITLIB_FLOAT_BITS ? BITLIB_FLOAT_MIN : LUA_INTEGER_MIN)
-+
-+#define BIT_UMAX \
-+ (CHAR_BIT * sizeof(lua_Integer) > BITLIB_FLOAT_BITS ? BITLIB_FLOAT_UMAX : LUA_UINTEGER_MAX)
-+
-+
-+/* Define TOBIT to get a bit value */
-+#ifdef BUILTIN_CAST
-+#define
-+#define TOBIT(L, n, res) \
-+ ((void)(res), luaL_checkinteger((L), (n)))
-+#else
-+#include <stdint.h>
-+#include <math.h>
-+
-+/* FIXME: Assume lua_Number fits in a double (use of fmod). */
-+#define TOBIT(L, n, res) \
-+ ((lua_Integer)(((res) = fmod(luaL_checknumber(L, (n)), (double)BIT_UMAX + 1.0)), \
-+ (res) > BIT_MAX ? ((res) -= (double)BIT_UMAX, (res) -= 1) : \
-+ ((res) < BIT_MIN ? ((res) += (double)BIT_UMAX, (res) += 1) : (res))))
-+#endif
-+
-+
-+#define BIT_TRUNCATE(i) \
-+ ((i) & BIT_UMAX)
-+
-+
-+/* Operations
-+
-+ The macros MONADIC and VARIADIC only deal with bitwise operations.
-+
-+ LOGICAL_SHIFT truncates its left-hand operand before shifting so
-+ that any extra bits at the most-significant end are not shifted
-+ into the result.
-+
-+ ARITHMETIC_SHIFT does not truncate its left-hand operand, so that
-+ the sign bits are not removed and right shift work properly.
-+ */
-+
-+#define MONADIC(name, op) \
-+ static int bit_ ## name(lua_State *L) { \
-+ lua_Number f; \
-+ lua_pushinteger(L, BIT_TRUNCATE(op TOBIT(L, 1, f))); \
-+ return 1; \
-+ }
-+
-+#define VARIADIC(name, op) \
-+ static int bit_ ## name(lua_State *L) { \
-+ lua_Number f; \
-+ int n = lua_gettop(L), i; \
-+ lua_Integer w = TOBIT(L, 1, f); \
-+ for (i = 2; i <= n; i++) \
-+ w op TOBIT(L, i, f); \
-+ lua_pushinteger(L, BIT_TRUNCATE(w)); \
-+ return 1; \
-+ }
-+
-+#define LOGICAL_SHIFT(name, op) \
-+ static int bit_ ## name(lua_State *L) { \
-+ lua_Number f; \
-+ lua_pushinteger(L, BIT_TRUNCATE(BIT_TRUNCATE((lua_UInteger)TOBIT(L, 1, f)) op \
-+ (unsigned)luaL_checknumber(L, 2))); \
-+ return 1; \
-+ }
-+
-+#define ARITHMETIC_SHIFT(name, op) \
-+ static int bit_ ## name(lua_State *L) { \
-+ lua_Number f; \
-+ lua_pushinteger(L, BIT_TRUNCATE((lua_Integer)TOBIT(L, 1, f) op \
-+ (unsigned)luaL_checknumber(L, 2))); \
-+ return 1; \
-+ }
-+
-+MONADIC(cast, +)
-+MONADIC(bnot, ~)
-+VARIADIC(band, &=)
-+VARIADIC(bor, |=)
-+VARIADIC(bxor, ^=)
-+ARITHMETIC_SHIFT(lshift, <<)
-+LOGICAL_SHIFT(rshift, >>)
-+ARITHMETIC_SHIFT(arshift, >>)
-+
-+static const struct luaL_reg bitlib[] = {
-+ {"cast", bit_cast},
-+ {"bnot", bit_bnot},
-+ {"band", bit_band},
-+ {"bor", bit_bor},
-+ {"bxor", bit_bxor},
-+ {"lshift", bit_lshift},
-+ {"rshift", bit_rshift},
-+ {"arshift", bit_arshift},
-+ {NULL, NULL}
-+};
-+
-+LUALIB_API int luaopen_bit (lua_State *L) {
-+ luaL_register(L, "bit", bitlib);
-+ lua_pushnumber(L, BIT_BITS);
-+ lua_setfield(L, -2, "bits");
-+ return 1;
-+}
-Index: lua-5.1.4/src/linit.c
-===================================================================
---- lua-5.1.4.orig/src/linit.c 2008-09-25 13:08:11.000000000 +0200
-+++ lua-5.1.4/src/linit.c 2008-09-25 13:08:27.000000000 +0200
-@@ -24,6 +24,7 @@
- {LUA_MATHLIBNAME, luaopen_math},
- {LUA_DBLIBNAME, luaopen_debug},
- {LUA_POSIXLIBNAME, luaopen_posix},
-+ {LUA_BITLIBNAME, luaopen_bit},
- {NULL, NULL}
- };
-
-Index: lua-5.1.4/src/lualib.h
-===================================================================
---- lua-5.1.4.orig/src/lualib.h 2008-09-25 13:07:29.000000000 +0200
-+++ lua-5.1.4/src/lualib.h 2008-09-25 13:08:06.000000000 +0200
-@@ -42,6 +42,9 @@
- #define LUA_POSIXLIBNAME "posix"
- LUALIB_API int (luaopen_posix) (lua_State *L);
-
-+#define LUA_BITLIBNAME "bit"
-+LUALIB_API int (luaopen_bit) (lua_State *L);
-+
-
- /* open all previous libraries */
- LUALIB_API void (luaL_openlibs) (lua_State *L);