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 <gabe.black@gmail.com> Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/ext/sst/gem5.cc b/ext/sst/gem5.cc index 1d90bc5..286f519 100644 --- a/ext/sst/gem5.cc +++ b/ext/sst/gem5.cc
@@ -355,7 +355,8 @@ int gem5Component::execPythonCommands(const std::vector<std::string>& 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 2712411..447c68c 100644 --- a/ext/sst/gem5.hh +++ b/ext/sst/gem5.hh
@@ -104,7 +104,6 @@ // stuff needed for gem5 sim public: - PyObject *pythonMain; int execPythonCommands(const std::vector<std::string>& commands); private: