From: Brad Smith Date: Sun, 1 Jun 2025 08:24:12 +0000 (-0400) Subject: builtin/gc: correct physical memory detection for OpenBSD / NetBSD X-Git-Tag: v2.50.0-rc1~2^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=35c1d592cd11429e402501df3ad68bcd0fb86bef;p=thirdparty%2Fgit.git builtin/gc: correct physical memory detection for OpenBSD / NetBSD OpenBSD / NetBSD use HW_PHYSMEM64 to detect the amount of physical memory in a system. HW_PHYSMEM will not provide the correct amount on a system with >=4GB of memory. Signed-off-by: Brad Smith Reviewed-by: Collin Funk Signed-off-by: Junio C Hamano --- diff --git a/builtin/gc.c b/builtin/gc.c index e33ba946e4..7dc94f243d 100644 --- a/builtin/gc.c +++ b/builtin/gc.c @@ -516,7 +516,7 @@ static uint64_t total_ram(void) total *= (uint64_t)si.mem_unit; return total; } -#elif defined(HAVE_BSD_SYSCTL) && (defined(HW_MEMSIZE) || defined(HW_PHYSMEM)) +#elif defined(HAVE_BSD_SYSCTL) && (defined(HW_MEMSIZE) || defined(HW_PHYSMEM) || defined(HW_PHYSMEM64)) int64_t physical_memory; int mib[2]; size_t length; @@ -524,6 +524,8 @@ static uint64_t total_ram(void) mib[0] = CTL_HW; # if defined(HW_MEMSIZE) mib[1] = HW_MEMSIZE; +# elif defined(HW_PHYSMEM64) + mib[1] = HW_PHYSMEM64; # else mib[1] = HW_PHYSMEM; # endif