[yosys] 01/02: add a patch to support kfreebsd

Sebastian Kuzminsky seb_kuzminsky-guest at moszumanska.debian.org
Thu Apr 7 22:02:56 UTC 2016


This is an automated email from the git hooks/post-receive script.

seb_kuzminsky-guest pushed a commit to branch master
in repository yosys.

commit 855f57b0db7f6c4f62ec3e100b00f9d163defc07
Author: Sebastian Kuzminsky <seb at highlab.com>
Date:   Thu Apr 7 11:36:10 2016 -0600

    add a patch to support kfreebsd
---
 debian/patches/kfreebsd-support.patch | 151 ++++++++++++++++++++++++++++++++++
 debian/patches/series                 |   1 +
 2 files changed, 152 insertions(+)

diff --git a/debian/patches/kfreebsd-support.patch b/debian/patches/kfreebsd-support.patch
new file mode 100644
index 0000000..9da6cd9
--- /dev/null
+++ b/debian/patches/kfreebsd-support.patch
@@ -0,0 +1,151 @@
+Description: 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.
+Author: Sebastian Kuzminsky <seb at highlab.com>
+
+Index: yosys/kernel/driver.cc
+===================================================================
+--- yosys.orig/kernel/driver.cc	2016-04-07 11:33:18.000000000 -0600
++++ yosys/kernel/driver.cc	2016-04-07 11:35:04.000000000 -0600
+@@ -30,7 +30,7 @@
+ #include <limits.h>
+ #include <errno.h>
+ 
+-#ifdef __linux__
++#ifdef __unix__
+ #  include <sys/types.h>
+ #  include <unistd.h>
+ #endif
+@@ -382,7 +382,7 @@
+ #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()) {
+@@ -436,7 +436,7 @@
+ 		}
+ 	}
+ 
+-#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;
+Index: yosys/kernel/log.cc
+===================================================================
+--- yosys.orig/kernel/log.cc	2016-04-07 11:33:18.000000000 -0600
++++ yosys/kernel/log.cc	2016-04-07 11:35:04.000000000 -0600
+@@ -25,7 +25,7 @@
+ #  include <sys/time.h>
+ #endif
+ 
+-#ifdef __linux__
++#ifdef __unix__
+ #  include <dlfcn.h>
+ #endif
+ 
+@@ -264,7 +264,7 @@
+ 	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;
+@@ -423,7 +423,7 @@
+ // ---------------------------------------------------
+ // 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;
+ 
+Index: yosys/kernel/log.h
+===================================================================
+--- yosys.orig/kernel/log.h	2016-04-07 11:33:18.000000000 -0600
++++ yosys/kernel/log.h	2016-04-07 11:35:04.000000000 -0600
+@@ -102,7 +102,7 @@
+ // 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 }; \
+Index: yosys/kernel/yosys.cc
+===================================================================
+--- yosys.orig/kernel/yosys.cc	2016-04-07 11:33:18.000000000 -0600
++++ yosys/kernel/yosys.cc	2016-04-07 11:35:04.000000000 -0600
+@@ -64,7 +64,7 @@
+ 
+ void memhasher_on()
+ {
+-#ifdef __linux__
++#ifdef __unix__
+ 	memhasher_rng += time(NULL) << 16 ^ getpid();
+ #endif
+ 	memhasher_store.resize(0x10000);
+@@ -622,7 +622,7 @@
+ } TclPass;
+ #endif
+ 
+-#if defined(__linux__)
++#if defined(__unix__)
+ std::string proc_self_dirname()
+ {
+ 	char path[PATH_MAX];
+Index: yosys/libs/minisat/System.cc
+===================================================================
+--- yosys.orig/libs/minisat/System.cc	2016-04-07 11:33:18.000000000 -0600
++++ yosys/libs/minisat/System.cc	2016-04-07 11:35:04.000000000 -0600
+@@ -25,7 +25,7 @@
+ 
+ #include "System.h"
+ 
+-#if defined(__linux__)
++#if defined(__unix__)
+ 
+ #include <stdlib.h>
+ 
+@@ -99,7 +99,7 @@
+ 
+ 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);
+Index: yosys/libs/minisat/System.h
+===================================================================
+--- yosys.orig/libs/minisat/System.h	2016-04-07 11:33:18.000000000 -0600
++++ yosys/libs/minisat/System.h	2016-04-07 11:35:04.000000000 -0600
+@@ -21,7 +21,7 @@
+ #ifndef Minisat_System_h
+ #define Minisat_System_h
+ 
+-#if defined(__linux__)
++#if defined(__unix__)
+ #include <fpu_control.h>
+ #endif
+ 
+Index: yosys/passes/cmds/cover.cc
+===================================================================
+--- yosys.orig/passes/cmds/cover.cc	2016-04-07 11:33:18.000000000 -0600
++++ yosys/passes/cmds/cover.cc	2016-04-07 11:35:04.000000000 -0600
+@@ -128,7 +128,7 @@
+ 			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)
diff --git a/debian/patches/series b/debian/patches/series
index a73b804..0169765 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,4 @@ spelling-fixes.patch
 switch-to-free-font.patch
 manual-build.patch
 add-missing-headers.patch
+kfreebsd-support.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/yosys.git



More information about the debian-science-commits mailing list