summaryrefslogtreecommitdiff
path: root/debian/patches/kfreebsd-support.patch
blob: 346ef18b45d50232f7205308ed9de6bd6be5d5a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
From: Sebastian Kuzminsky <seb@highlab.com>
Date: Sat, 14 May 2016 15:44:13 +0200
Subject: Change yosys to look for the #define constant "__unix__" instead of
 "__linux__",
 to select code appropriate for Unix-like systems. This has been tested with
 Clang 3.5 and GCC 4.6, 4.8, and 4.9 on Linux,
 and Clang 3.5 and GCC 4.9 on kFreeBSD.

---
 kernel/driver.cc       | 6 +++---
 kernel/log.cc          | 6 +++---
 kernel/log.h           | 2 +-
 kernel/yosys.cc        | 4 ++--
 libs/minisat/System.cc | 4 ++--
 libs/minisat/System.h  | 2 +-
 passes/cmds/cover.cc   | 2 +-
 7 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/kernel/driver.cc b/kernel/driver.cc
index f8d00c3..45cd6ad 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -30,7 +30,7 @@
 #include <limits.h>
 #include <errno.h>
 
-#ifdef __linux__
+#ifdef __unix__
 #  include <sys/types.h>
 #  include <unistd.h>
 #endif
@@ -409,7 +409,7 @@ int main(int argc, char **argv)
 #else
 		std::string meminfo;
 		std::string stats_divider = ", ";
-#  ifdef __linux__
+#  ifdef __unix__
 		std::ifstream statm;
 		statm.open(stringf("/proc/%lld/statm", (long long)getpid()));
 		if (statm.is_open()) {
@@ -463,7 +463,7 @@ int main(int argc, char **argv)
 		}
 	}
 
-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
+#if defined(YOSYS_ENABLE_COVER) && defined(__unix__)
 	if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE"))
 	{
 		string filename;
diff --git a/kernel/log.cc b/kernel/log.cc
index abc401f..9641e9d 100644
--- a/kernel/log.cc
+++ b/kernel/log.cc
@@ -25,7 +25,7 @@
 #  include <sys/time.h>
 #endif
 
-#ifdef __linux__
+#ifdef __unix__
 #  include <dlfcn.h>
 #endif
 
@@ -280,7 +280,7 @@ void log_pop()
 	log_flush();
 }
 
-#if defined(__linux__) && defined(YOSYS_ENABLE_PLUGINS)
+#if defined(__unix__) && defined(YOSYS_ENABLE_PLUGINS)
 void log_backtrace(const char *prefix, int levels)
 {
 	if (levels <= 0) return;
@@ -464,7 +464,7 @@ void log_cell(RTLIL::Cell *cell, std::string indent)
 // ---------------------------------------------------
 // This is the magic behind the code coverage counters
 // ---------------------------------------------------
-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
+#if defined(YOSYS_ENABLE_COVER) && defined(__unix__)
 
 dict<std::string, std::pair<std::string, int>> extra_coverage_data;
 
diff --git a/kernel/log.h b/kernel/log.h
index 53480db..4cf7d00 100644
--- a/kernel/log.h
+++ b/kernel/log.h
@@ -106,7 +106,7 @@ static inline void log_assert_worker(bool cond, const char *expr, const char *fi
 // This is the magic behind the code coverage counters
 // ---------------------------------------------------
 
-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
+#if defined(YOSYS_ENABLE_COVER) && defined(__unix__)
 
 #define cover(_id) do { \
     static CoverData __d __attribute__((section("yosys_cover_list"), aligned(1), used)) = { __FILE__, __FUNCTION__, _id, __LINE__, 0 }; \
diff --git a/kernel/yosys.cc b/kernel/yosys.cc
index 08fee97..8b071f0 100644
--- a/kernel/yosys.cc
+++ b/kernel/yosys.cc
@@ -66,7 +66,7 @@ std::vector<void*> memhasher_store;
 
 void memhasher_on()
 {
-#ifdef __linux__
+#ifdef __unix__
 	memhasher_rng += time(NULL) << 16 ^ getpid();
 #endif
 	memhasher_store.resize(0x10000);
@@ -647,7 +647,7 @@ struct TclPass : public Pass {
 } TclPass;
 #endif
 
-#if defined(__linux__) || defined(__CYGWIN__)
+#if defined(__unix__)
 std::string proc_self_dirname()
 {
 	char path[PATH_MAX];
diff --git a/libs/minisat/System.cc b/libs/minisat/System.cc
index febe3b4..3df1810 100644
--- a/libs/minisat/System.cc
+++ b/libs/minisat/System.cc
@@ -25,7 +25,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
 
 #include "System.h"
 
-#if defined(__linux__)
+#if defined(__unix__)
 
 #include <stdlib.h>
 
@@ -99,7 +99,7 @@ double Minisat::memUsedPeak(bool) { return 0; }
 
 void Minisat::setX86FPUPrecision()
 {
-#if defined(__linux__) && defined(_FPU_EXTENDED) && defined(_FPU_DOUBLE) && defined(_FPU_GETCW)
+#if defined(__unix__) && defined(_FPU_EXTENDED) && defined(_FPU_DOUBLE) && defined(_FPU_GETCW)
     // Only correct FPU precision on Linux architectures that needs and supports it:
     fpu_control_t oldcw, newcw;
     _FPU_GETCW(oldcw); newcw = (oldcw & ~_FPU_EXTENDED) | _FPU_DOUBLE; _FPU_SETCW(newcw);
diff --git a/libs/minisat/System.h b/libs/minisat/System.h
index ee92a6e..8ad9902 100644
--- a/libs/minisat/System.h
+++ b/libs/minisat/System.h
@@ -21,7 +21,7 @@ OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWA
 #ifndef Minisat_System_h
 #define Minisat_System_h
 
-#if defined(__linux__)
+#if defined(__unix__)
 #include <fpu_control.h>
 #endif
 
diff --git a/passes/cmds/cover.cc b/passes/cmds/cover.cc
index 1475475..1918b54 100644
--- a/passes/cmds/cover.cc
+++ b/passes/cmds/cover.cc
@@ -128,7 +128,7 @@ struct CoverPass : public Pass {
 			log("\n");
 		}
 
-#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
+#if defined(YOSYS_ENABLE_COVER) && defined(__unix__)
 		for (auto &it : get_coverage_data()) {
 			if (!patterns.empty()) {
 				for (auto &p : patterns)