From 001b9bebcabc71d33f279775eba975423a598084 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 16 Nov 1999 15:54:16 +0000 Subject: [PATCH] Patch by Vladimir Marangozov, inspired by a bug report from Gary Duzan, for AIX, to support C++ objects with static initializers, when using the genuine IBM C++ compiler (namely xlC/xlC_r). See accompanying patches to configure.in and acconfig.h. --- Python/importdl.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Python/importdl.c b/Python/importdl.c index a40d0846b78..3085d66b478 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -181,6 +181,12 @@ typedef void (*dl_funcptr)(); #include typedef void (*dl_funcptr)(); #define _DL_FUNCPTR_DEFINED +#ifdef AIX_GENUINE_CPLUSPLUS +#include "/usr/lpp/xlC/include/load.h" +#define aix_load loadAndInit +#else +#define aix_load load +#endif static int aix_getoldmodules(void **); static int aix_bindnewmodule(void *, void *); static void aix_loaderror(char *); @@ -473,7 +479,7 @@ _PyImport_LoadDynamicModule(name, pathname, fp) if (!staticmodlistptr) if (aix_getoldmodules(&staticmodlistptr) == -1) return NULL; - p = (dl_funcptr) load(pathname, L_NOAUTODEFER, 0); + p = (dl_funcptr) aix_load(pathname, L_NOAUTODEFER, 0); if (p == NULL) { aix_loaderror(pathname); return NULL;