summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Kuzminsky <seb@highlab.com>2016-05-14 15:44:13 +0200
committerRuben Undheim <ruben.undheim@gmail.com>2018-10-17 18:36:13 +0200
commit512952aa0f55484fc81136170083e2b7abbe9aff (patch)
tree007877b959b70aa682f8e8cf4c0a580ea8b8c7f9
parentc5f7d0b13922e9959c23791e069cae4a23d5f88a (diff)
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.
Gbp-Pq: Name kfreebsd-support.patch
-rw-r--r--kernel/driver.cc8
-rw-r--r--kernel/log.cc6
-rw-r--r--kernel/log.h2
-rw-r--r--kernel/yosys.cc4
-rw-r--r--libs/minisat/System.cc2
-rw-r--r--passes/cmds/cover.cc2
6 files changed, 12 insertions, 12 deletions
diff --git a/kernel/driver.cc b/kernel/driver.cc
index 1786411..8b328e5 100644
--- a/kernel/driver.cc
+++ b/kernel/driver.cc
@@ -34,7 +34,7 @@
#include <limits.h>
#include <errno.h>
-#if defined (__linux__) || defined(__FreeBSD__)
+#if defined (__unix__) || defined(__FreeBSD__)
# include <sys/resource.h>
# include <sys/types.h>
# include <unistd.h>
@@ -449,7 +449,7 @@ int main(int argc, char **argv)
if (print_stats)
log_hasher = new SHA1;
-#if defined(__linux__)
+#if defined(__unix__)
// set stack size to >= 128 MB
{
struct rlimit rl;
@@ -532,7 +532,7 @@ int main(int argc, char **argv)
#else
std::string meminfo;
std::string stats_divider = ", ";
-# if defined(__linux__)
+# if defined(__unix__)
std::ifstream statm;
statm.open(stringf("/proc/%lld/statm", (long long)getpid()));
if (statm.is_open()) {
@@ -599,7 +599,7 @@ int main(int argc, char **argv)
}
}
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__))
if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE"))
{
string filename;
diff --git a/kernel/log.cc b/kernel/log.cc
index 0ee2170..1dfa89a 100644
--- a/kernel/log.cc
+++ b/kernel/log.cc
@@ -25,7 +25,7 @@
# include <sys/time.h>
#endif
-#if defined(__linux__) || defined(__FreeBSD__)
+#if defined(__unix__) || defined(__FreeBSD__)
# include <dlfcn.h>
#endif
@@ -389,7 +389,7 @@ void log_pop()
log_flush();
}
-#if (defined(__linux__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS)
+#if (defined(__unix__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS)
void log_backtrace(const char *prefix, int levels)
{
if (levels <= 0) return;
@@ -584,7 +584,7 @@ void log_wire(RTLIL::Wire *wire, std::string indent)
// ---------------------------------------------------
// This is the magic behind the code coverage counters
// ---------------------------------------------------
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__))
dict<std::string, std::pair<std::string, int>> extra_coverage_data;
diff --git a/kernel/log.h b/kernel/log.h
index 0b4905c..0f068a1 100644
--- a/kernel/log.h
+++ b/kernel/log.h
@@ -119,7 +119,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__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__))
#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 ad03289..822cab9 100644
--- a/kernel/yosys.cc
+++ b/kernel/yosys.cc
@@ -77,7 +77,7 @@ std::vector<void*> memhasher_store;
void memhasher_on()
{
-#if defined(__linux__) || defined(__FreeBSD__)
+#if defined(__unix__) || defined(__FreeBSD__)
memhasher_rng += time(NULL) << 16 ^ getpid();
#endif
memhasher_store.resize(0x10000);
@@ -660,7 +660,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 1921a1d..efbfb08 100644
--- a/libs/minisat/System.cc
+++ b/libs/minisat/System.cc
@@ -29,7 +29,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>
diff --git a/passes/cmds/cover.cc b/passes/cmds/cover.cc
index 0ec7476..5f0042a 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__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && (defined(__unix__) || defined(__FreeBSD__))
for (auto &it : get_coverage_data()) {
if (!patterns.empty()) {
for (auto &p : patterns)