[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT/LIBMICROPYTHON PATCH 4/5] Add patches.



Add patches to set the "board" to unix and to clear the stack frame.

Signed-off-by: Felipe Huici <felipe.huici@xxxxxxxxx>
---
 patches/0001-missing-board-defines.patch | 11 +++++++++++
 patches/0002-clearup-nlrpush-frame.patch | 10 ++++++++++
 2 files changed, 21 insertions(+)
 create mode 100644 patches/0001-missing-board-defines.patch
 create mode 100644 patches/0002-clearup-nlrpush-frame.patch

diff --git a/patches/0001-missing-board-defines.patch 
b/patches/0001-missing-board-defines.patch
new file mode 100644
index 0000000..22a7313
--- /dev/null
+++ b/patches/0001-missing-board-defines.patch
@@ -0,0 +1,11 @@
+--- a/unix/mpconfigport.h.orig 2017-11-18 08:43:56.096441368 +0100
++++ b/unix/mpconfigport.h      2017-11-18 08:42:05.225463413 +0100
+@@ -25,6 +25,8 @@
+  */
+ 
+ // options to control how MicroPython is built
++#define MICROPY_HW_BOARD_NAME "unix"
++#define MICROPY_HW_MCU_NAME "unknown-cpu"
+ 
+ #define MICROPY_ALLOC_PATH_MAX      (PATH_MAX)
+ #define MICROPY_PERSISTENT_CODE_LOAD (1)
diff --git a/patches/0002-clearup-nlrpush-frame.patch 
b/patches/0002-clearup-nlrpush-frame.patch
new file mode 100644
index 0000000..44b5849
--- /dev/null
+++ b/patches/0002-clearup-nlrpush-frame.patch
@@ -0,0 +1,10 @@
+--- a/py/nlrx64.c.orig 2017-08-23 11:50:10.000000000 +0200
++++ b/py/nlrx64.c      2017-11-21 14:44:45.513728670 +0100
+@@ -64,6 +64,7 @@
+     #if defined(__APPLE__) || defined(__MACH__)
+     "pop    %rbp                \n" // undo function's prelude
+     #endif
++    "leaveq                     \n" // clean up our frame
+     "movq   (%rsp), %rax        \n" // load return %rip
+     "movq   %rax, 16(%rdi)      \n" // store %rip into nlr_buf
+     "movq   %rbp, 24(%rdi)      \n" // store %rbp into nlr_buf
-- 
2.11.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.