From 50cbb802b71630ee695e87a7042840180eec120e Mon Sep 17 00:00:00 2001 From: Andreas T Jonsson Date: Fri, 19 Apr 2024 14:44:35 +0200 Subject: Fixed bug report information for NetBSD --- src/bug_report.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/bug_report.cpp') diff --git a/src/bug_report.cpp b/src/bug_report.cpp index e919ba67b..b514df3eb 100644 --- a/src/bug_report.cpp +++ b/src/bug_report.cpp @@ -17,7 +17,7 @@ #include #endif -#if defined(GB_SYSTEM_OPENBSD) +#if defined(GB_SYSTEM_OPENBSD) || defined(GB_SYSTEM_NETBSD) #include #include #endif @@ -250,7 +250,7 @@ gb_internal void report_ram_info() { if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1)); } - #elif defined(GB_SYSTEM_OPENBSD) + #elif defined(GB_SYSTEM_OPENBSD) || defined(GB_SYSTEM_NETBSD) uint64_t ram_amount; size_t val_size = sizeof(ram_amount); @@ -985,13 +985,17 @@ gb_internal void report_os_info() { gb_printf("macOS Unknown (kernel: %d.%d.%d)\n", major, minor, patch); return; } - #elif defined(GB_SYSTEM_OPENBSD) + #elif defined(GB_SYSTEM_OPENBSD) || defined(GB_SYSTEM_NETBSD) struct utsname un; if (uname(&un) != -1) { gb_printf("%s %s %s %s\n", un.sysname, un.release, un.version, un.machine); } else { - gb_printf("OpenBSD: Unknown\n"); + #if defined(GB_SYSTEM_NETBSD) + gb_printf("NetBSD: Unknown\n"); + #else + gb_printf("OpenBSD: Unknown\n"); + #endif } #elif defined(GB_SYSTEM_FREEBSD) #define freebsd_version_buffer 129 -- cgit v1.2.3 From 1b15d8b4537a8568ddb6eaae5a8ecde383c49d2f Mon Sep 17 00:00:00 2001 From: Andreas T Jonsson Date: Mon, 22 Apr 2024 09:32:19 +0200 Subject: Added build tag Added build tag to rand_bsd.odin and fixed build warning. --- core/crypto/rand_bsd.odin | 2 +- src/bug_report.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/bug_report.cpp') diff --git a/core/crypto/rand_bsd.odin b/core/crypto/rand_bsd.odin index 61eaf652f..658221769 100644 --- a/core/crypto/rand_bsd.odin +++ b/core/crypto/rand_bsd.odin @@ -1,4 +1,4 @@ -//+build freebsd, openbsd +//+build freebsd, openbsd, netbsd package crypto foreign import libc "system:c" diff --git a/src/bug_report.cpp b/src/bug_report.cpp index b514df3eb..2262779c1 100644 --- a/src/bug_report.cpp +++ b/src/bug_report.cpp @@ -250,7 +250,7 @@ gb_internal void report_ram_info() { if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1)); } - #elif defined(GB_SYSTEM_OPENBSD) || defined(GB_SYSTEM_NETBSD) + #elif defined(GB_SYSTEM_OPENBSD) uint64_t ram_amount; size_t val_size = sizeof(ram_amount); @@ -258,7 +258,7 @@ gb_internal void report_ram_info() { if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1)); } - #elif defined(GB_SYSTEM_FREEBSD) + #elif defined(GB_SYSTEM_FREEBSD) || defined(GB_SYSTEM_NETBSD) uint64_t ram_amount; size_t val_size = sizeof(ram_amount); -- cgit v1.2.3 From 384137d4e9958044e200f42ac346130bca20b36c Mon Sep 17 00:00:00 2001 From: Andreas T Jonsson Date: Mon, 22 Apr 2024 10:15:52 +0200 Subject: Use PHYSMEM64 on NetBSD I realize we should use PHYSMEM64 on NetBSD. So we can not share code with FreeBSD. --- src/bug_report.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/bug_report.cpp') diff --git a/src/bug_report.cpp b/src/bug_report.cpp index 2262779c1..0ec383b44 100644 --- a/src/bug_report.cpp +++ b/src/bug_report.cpp @@ -250,6 +250,14 @@ gb_internal void report_ram_info() { if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1)); } + #elif defined(GB_SYSTEM_NETBSD) + uint64_t ram_amount; + size_t val_size = sizeof(ram_amount); + + int mibs[] = { CTL_HW, HW_PHYSMEM64 }; + if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { + gb_printf("%lu MiB\n", ram_amount / gb_megabytes(1)); + } #elif defined(GB_SYSTEM_OPENBSD) uint64_t ram_amount; size_t val_size = sizeof(ram_amount); @@ -258,7 +266,7 @@ gb_internal void report_ram_info() { if (sysctl(mibs, 2, &ram_amount, &val_size, NULL, 0) != -1) { gb_printf("%lld MiB\n", ram_amount / gb_megabytes(1)); } - #elif defined(GB_SYSTEM_FREEBSD) || defined(GB_SYSTEM_NETBSD) + #elif defined(GB_SYSTEM_FREEBSD) uint64_t ram_amount; size_t val_size = sizeof(ram_amount); -- cgit v1.2.3