aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/common/int-util.h4
-rw-r--r--src/common/util.cpp2
-rw-r--r--src/crypto/initializer.h5
3 files changed, 10 insertions, 1 deletions
diff --git a/src/common/int-util.h b/src/common/int-util.h
index 34288805a..7cec571ad 100644
--- a/src/common/int-util.h
+++ b/src/common/int-util.h
@@ -40,6 +40,10 @@
#include <byteswap.h>
#endif
+#if defined(__sun) && defined(__SVR4)
+#include <endian.h>
+#endif
+
#if defined(_MSC_VER)
#include <stdlib.h>
diff --git a/src/common/util.cpp b/src/common/util.cpp
index 1e180d325..a13ac6e50 100644
--- a/src/common/util.cpp
+++ b/src/common/util.cpp
@@ -405,7 +405,7 @@ namespace tools
#else
std::string get_nix_version_display_string()
{
- utsname un;
+ struct utsname un;
if(uname(&un) < 0)
return std::string("*nix: failed to get os version");
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)