|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT/LIBLUA PATCH] Fix broken behaviour when given append parameter.
This patch makes it so that Lua now goes straight into interactive
mode when not given initrd as a parameter; previosuly it was assuming
that the --append parameter was a file name to be read and executed,
which was broken.
Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
---
Makefile.uk | 2 +-
...t.patch => 0001-lua-main-add-initrd.patch} | 23 ++++++++++++++-----
2 files changed, 18 insertions(+), 7 deletions(-)
rename patches/{0001-add-initrd-rename-entry-point.patch =>
0001-lua-main-add-initrd.patch} (60%)
diff --git a/Makefile.uk b/Makefile.uk
index 3c3d05a..4a855ab 100644
--- a/Makefile.uk
+++ b/Makefile.uk
@@ -39,7 +39,7 @@ LIBLUA_SRCS-$(CONFIG_LIBLUA_MAIN_FUNCTION) +=
$(LIBLUA_BASE)/main.c
################################################################################
# Library flags
################################################################################
-LIBLUA_SUPPRESS_FLAGS += -Wno-implicit-function-declaration
+LIBLUA_SUPPRESS_FLAGS += -Wno-implicit-function-declaration
-Wno-unused-function
LIBLUA_FLAGS += -DLUA_COMPAT_5_2
LIBLUA_CFLAGS-y += $(LIBLUA_FLAGS) $(LIBLUA_SUPPRESS_FLAGS)
diff --git a/patches/0001-add-initrd-rename-entry-point.patch
b/patches/0001-lua-main-add-initrd.patch
similarity index 60%
rename from patches/0001-add-initrd-rename-entry-point.patch
rename to patches/0001-lua-main-add-initrd.patch
index 135a0c4..ecfb8f0 100644
--- a/patches/0001-add-initrd-rename-entry-point.patch
+++ b/patches/0001-lua-main-add-initrd.patch
@@ -1,5 +1,5 @@
--- a/src/lua.c 2017-04-19 19:29:57.000000000 +0200
-+++ b/src/lua.c 2019-09-03 13:36:09.437807890 +0200
++++ b/src/lua.c 2020-02-12 19:38:09.704428160 +0100
@@ -6,6 +6,8 @@
#define lua_c
@@ -19,19 +19,30 @@
int args = collectargs(argv, &script);
luaL_checkversion(L); /* check that interpreter has correct version */
if (argv[0] && argv[0][0]) progname = argv[0];
-@@ -581,6 +586,11 @@
- return 0;
+@@ -576,24 +581,23 @@
+ }
+ if (!runargs(L, argv, script)) /* execute arguments -e and -l */
+ return 0; /* something failed */
+- if (script < argc && /* execute main script (if there is one) */
+- handle_script(L, argv + script) != LUA_OK)
+- return 0;
if (args & has_i) /* -i option? */
doREPL(L); /* do read-eval-print loop */
+- else if (script == argc && !(args & (has_e | has_v))) { /* no arguments? */
+- if (lua_stdin_is_tty()) { /* running in interactive mode? */
+ /* see if script is available from initrd */
+ else if (ukplat_memregion_find_initrd0(&img) >= 0) {
+ cstr = (char *)img.base;
+ dostring(L, cstr, "initrd");
+ }
- else if (script == argc && !(args & (has_e | has_v))) { /* no arguments? */
- if (lua_stdin_is_tty()) { /* running in interactive mode? */
++ else {
print_version();
-@@ -593,7 +603,7 @@
+ doREPL(L); /* do read-eval-print loop */
+- }
+- else dofile(L, NULL); /* executes stdin as a file */
+ }
+ lua_pushboolean(L, 1); /* signal no errors */
+ return 1;
}
--
2.20.1
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |