aboutsummaryrefslogtreecommitdiff
path: root/src/crypto/initializer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crypto/initializer.h')
-rw-r--r--src/crypto/initializer.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/crypto/initializer.h b/src/crypto/initializer.h
index 619038ae6..eb1d1c069 100644
--- a/src/crypto/initializer.h
+++ b/src/crypto/initializer.h
@@ -31,8 +31,13 @@
#pragma once
#if defined(__GNUC__)
+#if defined(__sun) && defined(__SVR4)
+#define INITIALIZER(name) __attribute__((constructor)) static void name(void)
+#define FINALIZER(name) __attribute__((destructor)) static void name(void)
+#else
#define INITIALIZER(name) __attribute__((constructor(101))) static void name(void)
#define FINALIZER(name) __attribute__((destructor(101))) static void name(void)
+#endif
#define REGISTER_FINALIZER(name) ((void) 0)
#elif defined(_MSC_VER)