]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
Added support for constructors and destructors in solaris CC.
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 3 May 2014 06:08:35 +0000 (08:08 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Sat, 3 May 2014 06:08:35 +0000 (08:08 +0200)
lib/gnutls_global.c

index fe9cf35d56f4cb9baeb30f4ee003071c0e2545e8..a016bbe785a0acb58d974b2969e4353faa5b7c56 100644 (file)
 /* 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);
 }