#include <limits.h>
#include <errno.h>
-#if defined (__linux__) || defined(__FreeBSD__)
+#ifdef __linux__
# include <sys/resource.h>
# include <sys/types.h>
# include <unistd.h>
#endif
-#ifdef __FreeBSD__
-# include <sys/sysctl.h>
-# include <sys/user.h>
-#endif
-
#if !defined(_WIN32) || defined(__MINGW32__)
# include <unistd.h>
#else
#else
std::string meminfo;
std::string stats_divider = ", ";
-# if defined(__linux__)
+# ifdef __linux__
std::ifstream statm;
statm.open(stringf("/proc/%lld/statm", (long long)getpid()));
if (statm.is_open()) {
sz_resident * (getpagesize() / 1024.0 / 1024.0));
stats_divider = "\n";
}
-# elif defined(__FreeBSD__)
- pid_t pid = getpid();
- int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, (int)pid};
- struct kinfo_proc kip;
- size_t kip_len = sizeof(kip);
- if (sysctl(mib, 4, &kip, &kip_len, NULL, 0) == 0) {
- vm_size_t sz_total = kip.ki_size;
- segsz_t sz_resident = kip.ki_rssize;
- meminfo = stringf(", MEM: %.2f MB total, %.2f MB resident",
- (int)sz_total / 1024.0 / 1024.0,
- (int)sz_resident * (getpagesize() / 1024.0 / 1024.0));
- stats_divider = "\n";
- }
# endif
struct rusage ru_buffer;
}
}
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
if (getenv("YOSYS_COVER_DIR") || getenv("YOSYS_COVER_FILE"))
{
string filename;
# include <sys/time.h>
#endif
-#if defined(__linux__) || defined(__FreeBSD__)
+#ifdef __linux__
# include <dlfcn.h>
#endif
log_flush();
}
-#if (defined(__linux__) || defined(__FreeBSD__)) && defined(YOSYS_ENABLE_PLUGINS)
+#if defined(__linux__) && defined(YOSYS_ENABLE_PLUGINS)
void log_backtrace(const char *prefix, int levels)
{
if (levels <= 0) return;
// ---------------------------------------------------
// This is the magic behind the code coverage counters
// ---------------------------------------------------
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
dict<std::string, std::pair<std::string, int>> extra_coverage_data;
// This is the magic behind the code coverage counters
// ---------------------------------------------------
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
#define cover(_id) do { \
static CoverData __d __attribute__((section("yosys_cover_list"), aligned(1), used)) = { __FILE__, __FUNCTION__, _id, __LINE__, 0 }; \
# include <unistd.h>
# include <dirent.h>
# include <sys/types.h>
-# include <sys/wait.h>
# include <sys/stat.h>
# include <glob.h>
#endif
-#ifdef __FreeBSD__
-# include <sys/sysctl.h>
-#endif
-
#include <limits.h>
#include <errno.h>
void memhasher_on()
{
-#if defined(__linux__) || defined(__FreeBSD__)
+#ifdef __linux__
memhasher_rng += time(NULL) << 16 ^ getpid();
#endif
memhasher_store.resize(0x10000);
buflen--;
return std::string(path, buflen);
}
-#elif defined(__FreeBSD__)
-std::string proc_self_dirname()
-{
- int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
- size_t buflen;
- char *buffer;
- std::string path;
- if (sysctl(mib, 4, NULL, &buflen, NULL, 0) != 0)
- log_error("sysctl failed: %s\n", strerror(errno));
- buffer = (char*)malloc(buflen);
- if (buffer == NULL)
- log_error("malloc failed: %s\n", strerror(errno));
- if (sysctl(mib, 4, buffer, &buflen, NULL, 0) != 0)
- log_error("sysctl failed: %s\n", strerror(errno));
- while (buflen > 0 && buffer[buflen-1] != '/')
- buflen--;
- path.assign(buffer, buflen);
- free(buffer);
- return path;
-}
#elif defined(__APPLE__)
std::string proc_self_dirname()
{
log("\n");
}
-#if defined(YOSYS_ENABLE_COVER) && (defined(__linux__) || defined(__FreeBSD__))
+#if defined(YOSYS_ENABLE_COVER) && defined(__linux__)
for (auto &it : get_coverage_data()) {
if (!patterns.empty()) {
for (auto &p : patterns)