summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2014-05-03 08:08:35 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2014-05-03 08:08:35 +0200
commit33d85c7356db8e4a9b60a38875a9f667702ca808 (patch)
tree2178fc9ce780e249bfa29cf7e16da976832c6e1c
parent9208f6c932359b0ae2092f495f1738a211e145e0 (diff)
downloadgnutls-33d85c7356db8e4a9b60a38875a9f667702ca808.tar.gz
Added support for constructors and destructors in solaris CC.
-rw-r--r--lib/gnutls_global.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/gnutls_global.c b/lib/gnutls_global.c
index fe9cf35d56..a016bbe785 100644
--- a/lib/gnutls_global.c
+++ b/lib/gnutls_global.c
@@ -39,12 +39,14 @@
/* Minimum library versions we accept. */
#define GNUTLS_MIN_LIBTASN1_VERSION "0.3.4"
-#if defined(__GNUC__) || defined(ENABLE_FIPS140)
-# define _CONSTRUCTOR __attribute__((constructor))
-# define _DESTRUCTOR __attribute__((destructor))
-#else
+#ifdef SOLARIS
+# pragma fini(lib_deinit)
+# pragma init(lib_init)
# define _CONSTRUCTOR
# define _DESTRUCTOR
+#else
+# define _CONSTRUCTOR __attribute__((constructor))
+# define _DESTRUCTOR __attribute__((destructor))
#endif
/* created by asn1c */
@@ -398,7 +400,7 @@ const char *gnutls_check_version(const char *req_version)
return NULL;
}
-_CONSTRUCTOR static void lib_init(void)
+static void _CONSTRUCTOR lib_init(void)
{
int ret;
@@ -409,7 +411,7 @@ int ret;
}
}
-_DESTRUCTOR static void lib_deinit(void)
+static void _DESTRUCTOR lib_deinit(void)
{
_gnutls_global_deinit(1);
}