ports/shells/ksh93/files/patch-src_lib_libast_vmalloc_vmbest.c
Brooks Davis f9809df4c1 devel/ksh93: remove sbrk() use
ksh supports multiple sources of heap memory.  Completely disable the
use of sbrk() as a memory source in favor of mmap().  This allows
compilation on aarch64 (and presumably riscv64).

Approved by:	cy
Differential Revision: https://reviews.freebsd.org/D37312
2022-11-09 21:27:29 +00:00

25 lines
589 B
C

--- src/lib/libast/vmalloc/vmbest.c.orig
+++ src/lib/libast/vmalloc/vmbest.c
@@ -1169,6 +1169,7 @@
}
#endif /* _mem_win32 */
+#undef _mem_sbrk
#if _mem_sbrk /* getting space via brk/sbrk - not concurrent-ready */
static Void_t* sbrkmem(Void_t* caddr, size_t csize, size_t nsize)
{
@@ -1265,10 +1266,13 @@
}
}
else if(nsize == 0)
- { Vmuchar_t *addr = (Vmuchar_t*)sbrk(0);
+ {
+#if 0
+ Vmuchar_t *addr = (Vmuchar_t*)sbrk(0);
if(addr < (Vmuchar_t*)caddr ) /* in sbrk space */
return NIL(Void_t*);
else
+#endif
{ (void)munmap(caddr, csize);
return caddr;
}