Re: [edk2-libc Patch 1/1] AppPkg/Applications/Python/Python3.6.8: add support for atexit builtin module in py 3.6.8

Jayaprakash, N

Hi Rebecca,

This another patch submitted to add support for a built-in module "atexit" in Py 3.6.8 UEFI port.

Would you be able to review and merge this change?


-----Original Message-----
From: Jayaprakash, N <n.jayaprakash@...>
Sent: 14 September 2021 20:58
Cc: Rebecca Cran <rebecca@...>; Kinney, Michael D <michael.d.kinney@...>; Jayaprakash, N <n.jayaprakash@...>
Subject: [edk2-libc Patch 1/1] AppPkg/Applications/Python/Python3.6.8: add support for atexit builtin module in py 3.6.8


This commit adds support for the atexit a builtin module in standard python 3.6.8 to it's UEFI port. There are tools like Chipsec which are dependent on it but it can be used by other python scripts running on UEFI shell with the help of py 3.6.8 interpreter. Tested the changes on IA32 and X64 emulators and it is working good.

Cc: Rebecca Cran <rebecca@...>
Cc: Michael D Kinney <michael.d.kinney@...>
Signed-off-by: Jayaprakash N <n.jayaprakash@...>
AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt | 1 +
.../Python/Python-3.6.8/PyMod-3.6.8/Modules/config.c | 2 ++
AppPkg/Applications/Python/Python-3.6.8/Python368.inf | 1 +
3 files changed, 4 insertions(+)

diff --git a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt
index 69bb6bd..fb81228 100644
--- a/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt
+++ b/AppPkg/Applications/Python/Python-3.6.8/Py368ReadMe.txt
@@ -175,6 +175,7 @@ system as follows:
_symtable Modules/symtablemodule.c
_weakref Modules/_weakref.c
array Modules/arraymodule.c
+ atexit Modules/atexitmodule.c
binascii Modules/binascii.c
cmath Modules/cmathmodule.c
datetime Modules/_datetimemodule.c
diff --git a/AppPkg/Applications/Python/Python-3.6.8/PyMod-3.6.8/Modules/config.c b/AppPkg/Applications/Python/Python-3.6.8/PyMod-3.6.8/Modules/config.c
index 4b1eb0f..5ee42d8 100644
--- a/AppPkg/Applications/Python/Python-3.6.8/PyMod-3.6.8/Modules/config.c
+++ b/AppPkg/Applications/Python/Python-3.6.8/PyMod-3.6.8/Modules/config
+++ .c
@@ -65,6 +65,7 @@ extern PyObject* PyInit__weakref(void); extern PyObject* init_winreg(void); extern PyObject* PyInit_zlib(void); extern PyObject* initbz2(void);
+extern PyObject* PyInit_atexit(void);

extern PyObject* PyMarshal_Init(void);
extern PyObject* _PyWarnings_Init(void); @@ -111,6 +112,7 @@ struct _inittab _PyImport_Inittab[] = {
{"gc", PyInit_gc},
{"math", PyInit_math},
{"array", PyInit_array},
+ {"atexit", PyInit_atexit},
{"_datetime", PyInit__datetime},
{"parser", PyInit_parser},
{"pyexpat", PyInit_pyexpat},
diff --git a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf
index d2e6e73..b98b4a7 100644
--- a/AppPkg/Applications/Python/Python-3.6.8/Python368.inf
+++ b/AppPkg/Applications/Python/Python-3.6.8/Python368.inf
@@ -215,6 +215,7 @@
Modules/_io/iobase.c #
Modules/_io/stringio.c #
Modules/_io/textio.c #
+ Modules/atexitmodule.c #

Modules/cjkcodecs/multibytecodec.c #

Join to automatically receive all group messages.