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


Jayaprakash, N
 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3626

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@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Jayaprakash N <n.jayaprakash@intel.com>
---
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
Modules/cjkcodecs/multibytecodec.c #
--
2.32.0.windows.2

Join devel@edk2.groups.io to automatically receive all group messages.