Commit 0ef888cd authored by Ulf Möller's avatar Ulf Möller
Browse files

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.
parent 26c777d5
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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;