From 3e83208332e31137f0507c1909fda47c364ba30d Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 15 Dec 2021 21:17:39 -0800 Subject: [PATCH] ext: Stop using the uninitialized pythonMain in sst. Import the __main__ module when it's first used. Change-Id: If800bd575398970faa8cb88072becd3d2b4218c0 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/54307 Maintainer: Gabe Black Reviewed-by: Jason Lowe-Power Tested-by: kokoro --- ext/sst/gem5.cc | 3 ++- ext/sst/gem5.hh | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/sst/gem5.cc b/ext/sst/gem5.cc index 1d90bc5b38..286f5195ec 100644 --- a/ext/sst/gem5.cc +++ b/ext/sst/gem5.cc @@ -355,7 +355,8 @@ gem5Component::doSimLoop(gem5::EventQueue* eventq) int gem5Component::execPythonCommands(const std::vector& commands) { - PyObject *dict = PyModule_GetDict(pythonMain); + static PyObject *dict = + py::module_::import("__main__").attr("__dict__").ptr(); PyObject *result; diff --git a/ext/sst/gem5.hh b/ext/sst/gem5.hh index 27124114b1..447c68c3b2 100644 --- a/ext/sst/gem5.hh +++ b/ext/sst/gem5.hh @@ -104,7 +104,6 @@ class gem5Component: public SST::Component // stuff needed for gem5 sim public: - PyObject *pythonMain; int execPythonCommands(const std::vector& commands); private: