diff --git a/contrib/jemalloc/src/pages.c b/contrib/jemalloc/src/pages.c index 3600443e2cb..6b00eb0cb91 100644 --- a/contrib/jemalloc/src/pages.c +++ b/contrib/jemalloc/src/pages.c @@ -11,6 +11,7 @@ #ifdef JEMALLOC_SYSCTL_VM_OVERCOMMIT #include #ifdef __FreeBSD__ +#include #include #include #endif @@ -441,6 +442,13 @@ os_overcommits_sysctl(void) { int vm_overcommit; size_t sz; +#ifdef ELF_BSDF_VMNOOVERCOMMIT + int bsdflags; + + if (_elf_aux_info(AT_BSDFLAGS, &bsdflags, sizeof(bsdflags)) == 0) + return ((bsdflags & ELF_BSDF_VMNOOVERCOMMIT) == 0); +#endif + sz = sizeof(vm_overcommit); #if defined(__FreeBSD__) && defined(VM_OVERCOMMIT) int mib[2];