From c8fcdcba36dc39587ba08c932a26d38e667744d4 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 25 Oct 2000 22:07:45 +0000 Subject: Patch 102114, Bug 11725. On OpenBSD (but apparently not on the other BSDs) you need a leading underscore in the dlsym() lookup name. --- Python/dynload_shlib.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c index 2b0e74e..28f50b1 100644 --- a/Python/dynload_shlib.c +++ b/Python/dynload_shlib.c @@ -16,6 +16,12 @@ #endif #endif +#ifdef __OpenBSD__ +#define LEAD_UNDERSCORE "_" +#else +#define LEAD_UNDERSCORE "" +#endif + #ifndef RTLD_LAZY #define RTLD_LAZY 1 #endif @@ -54,8 +60,7 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *fqname, const char *shortname, pathname = pathbuf; } - /* ### should there be a leading underscore for some platforms? */ - sprintf(funcname, "init%.200s", shortname); + sprintf(funcname, LEAD_UNDERSCORE "init%.200s", shortname); if (fp != NULL) { int i; -- cgit v0.12