From 49189d9bbc0979233e1868f1ff9b4d74b33be499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Sun, 25 May 2003 13:41:46 +0000 Subject: [PATCH] Use RTLD_NOW where available, and define it to RTLD_LAZY otherwise. git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@238 185d5e19-27fe-0310-9dcf-9bff6b9f3609 --- lib/openpam_dynamic.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/openpam_dynamic.c b/lib/openpam_dynamic.c index 0376d9a..73e0e3c 100644 --- a/lib/openpam_dynamic.c +++ b/lib/openpam_dynamic.c @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#11 $ + * $P4: //depot/projects/openpam/lib/openpam_dynamic.c#12 $ */ #include @@ -43,6 +43,10 @@ #include "openpam_impl.h" +#ifndef RTLD_NOW +#define RTLD_NOW RTLD_LAZY +#endif + /* * OpenPAM internal * @@ -64,10 +68,10 @@ openpam_dynamic(const char *path) /* try versioned module first, then unversioned module */ if (asprintf(&vpath, "%s.%d", path, LIB_MAJ) < 0) goto buf_err; - if ((dlh = dlopen(vpath, RTLD_LAZY)) == NULL) { + if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { openpam_log(PAM_LOG_DEBUG, "%s: %s", vpath, dlerror()); *strrchr(vpath, '.') = '\0'; - if ((dlh = dlopen(vpath, RTLD_LAZY)) == NULL) { + if ((dlh = dlopen(vpath, RTLD_NOW)) == NULL) { openpam_log(PAM_LOG_DEBUG, "%s: %s", vpath, dlerror()); FREE(module); return (NULL);