diff options
-rw-r--r-- | Python/importdl.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Python/importdl.c b/Python/importdl.c index 3f715de..fffe265 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -599,6 +599,17 @@ aix_getoldmodules(modlistptr) ldiptr = (struct ld_info *)ldibuf; prevmodptr = NULL; do { + if (strstr(ldiptr->ldinfo_filename, "python") == NULL) { + /* + -- Extract only the modules containing "python" as a + -- substring, like the "python[version]" executable or + -- "libpython[version].a" in case python is embedded. + */ + offset = (unsigned int)ldiptr->ldinfo_next; + ldiptr = (struct ld_info *)((unsigned int) + ldiptr + offset); + continue; + } if ((modptr = (ModulePtr)malloc(sizeof(Module))) == NULL) { PyErr_SetString(PyExc_ImportError, strerror(errno)); while (*modlistptr) { |