From 9157308b90ea7df405ed9b22f1801f3f70f2e30b Mon Sep 17 00:00:00 2001 From: "William Ahern (william@25thandclement.com)" Date: Fri, 18 Jul 2014 02:21:21 +0200 Subject: patches to build on AIX --- src/GNUmakefile | 6 +++--- src/openssl.c | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/GNUmakefile b/src/GNUmakefile index f988855..ee263b0 100644 --- a/src/GNUmakefile +++ b/src/GNUmakefile @@ -17,7 +17,7 @@ include $(d)/../GNUmakefile # C O M P I L A T I O N F L A G S # OS_$(d) = $(shell $(d)/../mk/vendor.os) -CC_$(d) = $(shell $(d)/../mk/vendor.cc) +CC_$(d) = $(shell env CC="$(CC) "$(d)/../mk/vendor.cc) LUAPATH_$(d) = $(shell env CC="$(CC)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" $( /* errno */ #include /* ssize_t pid_t */ -#if !defined __sun +#if !defined __sun && !defined _AIX #include /* CTL_KERN KERN_RANDOM RANDOM_UUID KERN_URND KERN_ARND sysctl(2) */ #endif #include /* struct timeval gettimeofday(2) */ @@ -4646,7 +4646,7 @@ static int randL_stir(struct randL_state *st, unsigned rqstd) { #endif if (count < rqstd) { -#if defined O_CLOEXEC +#if defined O_CLOEXEC && (!defined _AIX /* O_CLOEXEC overflows int */) int fd = open("/dev/urandom", O_RDONLY|O_CLOEXEC); #else int fd = open("/dev/urandom", O_RDONLY); @@ -4938,6 +4938,10 @@ int luaopen__openssl_rand(lua_State *L) { * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +#ifndef HAVE_DLADDR +#define HAVE_DLADDR (!defined _AIX) +#endif + static struct { pthread_mutex_t *lock; int nlock; @@ -5022,6 +5026,7 @@ static int mt_init(void) { * Prevent loader from unlinking us if we've registered a callback * with OpenSSL by taking another reference to ourselves. */ +#if HAVE_DLADDR if (bound && !mt_state.dlref) { Dl_info info; @@ -5035,6 +5040,7 @@ static int mt_init(void) { goto leave; } } +#endif leave: pthread_mutex_unlock(&mutex); -- cgit v1.2.3-59-g8ed1b