summaryrefslogtreecommitdiffstats
path: root/crypto/dso
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2006-04-11 21:00:13 +0000
committerUlf Möller <ulf@openssl.org>2006-04-11 21:00:13 +0000
commit0ef888cd3e53fe5aef1d1e787b111626c2ddd569 (patch)
tree7933ea3509b18a16ea9a17961dc33c276e299595 /crypto/dso
parent26c777d516174165e4b4d55b1dd460366dddaec1 (diff)
Use Dl_info only on systems where it is known to exist. It does not
exist on AIX 4.3.3, AIX 5.1, SCO 5, or Cygwin.
Diffstat (limited to 'crypto/dso')
-rw-r--r--crypto/dso/dso_dlfcn.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/crypto/dso/dso_dlfcn.c b/crypto/dso/dso_dlfcn.c
index a8e8b0faaf..f7c08973f4 100644
--- a/crypto/dso/dso_dlfcn.c
+++ b/crypto/dso/dso_dlfcn.c
@@ -64,6 +64,7 @@
# ifndef _GNU_SOURCE
# define _GNU_SOURCE /* make sure dladdr is declared */
# endif
+# define HAVE_DLINFO 1
#endif
#include <stdio.h>
@@ -133,6 +134,7 @@ DSO_METHOD *DSO_METHOD_dlfcn(void)
* be hacked further relatively easily to deal with cases as we find
* them. Initially this is to cope with OpenBSD. */
#if defined(__OpenBSD__) || defined(__NetBSD__)
+# define HAVE_DLINFO 1
# ifdef DL_LAZY
# define DLOPEN_FLAG DL_LAZY
# else
@@ -144,6 +146,7 @@ DSO_METHOD *DSO_METHOD_dlfcn(void)
# endif
#else
# ifdef OPENSSL_SYS_SUNOS
+# define HAVE_DLINFO 1
# define DLOPEN_FLAG 1
# else
# define DLOPEN_FLAG RTLD_NOW /* Hope this works everywhere else */
@@ -395,6 +398,7 @@ This is a quote from IRIX manual for dladdr(3c):
intention to change this interface, so on a practical level, the code
below is safe to use on IRIX.
*/
+#define HAVE_DLINFO 1
#include <rld_interface.h>
#ifndef _RLD_INTERFACE_DLFCN_H_DLADDR
#define _RLD_INTERFACE_DLFCN_H_DLADDR
@@ -422,7 +426,7 @@ static int dladdr(void *address, Dl_info *dl)
static int dlfcn_pathbyaddr(void *addr,char *path,int sz)
{
-#if 1 /*def HAVE_DLINFO */
+#ifdef HAVE_DLINFO
Dl_info dli;
int len;