(r_alloc_init_fd): Conditionalize on MAP_ANON.

This commit is contained in:
Dave Love 2000-09-08 14:10:31 +00:00
parent 0460aa783e
commit 423193c552
2 changed files with 19 additions and 0 deletions

View file

@ -13,6 +13,23 @@
2000-09-08 Dave Love <fx@gnu.org>
* s/sol2.h (REL_ALLOC_MMAP): Define.
* s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
* ralloc.c: Don't include string.h (redundant).
(MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
[!MAP_ANON]: Include fcntl.h.
(mmap_fd) [REL_ALLOC_MMAP]: New variable.
(r_alloc, r_re_alloc, r_alloc_free)
(mmap_enlarge, mmap_set_vars): Use it.
(r_alloc_init_fd): New function.
(__morecore) [SYSTEM_MALLOC]: Don't declare.
(r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
malloc type.
* Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
Remove vm-limit.o.
* unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
change to __NetBSD__.

View file

@ -1322,10 +1322,12 @@ void r_alloc_free P_ ((POINTER_TYPE **ptr));
void
r_alloc_init_fd ()
{
#if !MAP_ANON
/* No anonymous mmap -- we need the file descriptor. */
mmap_fd = open ("/dev/zero", O_RDONLY);
if (mmap_fd < 0)
fatal ("cannot open /dev/zero");
#endif
}
/* Return a region overlapping address range START...END, or null if