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: