Make use of solaris_try_mmap() for NetBSD. Rename it to
try_mmap_fixed() since it's no longer Solaris-specific.
diff --git a/library/port.c b/library/port.c
index aa0ddf0..b6157b5 100644
--- a/library/port.c
+++ b/library/port.c
@@ -40,7 +40,9 @@
#ifdef HAVE_LIBUTIL_H
# include <libutil.h>
#endif
-
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
/***********************************************************************
* usleep
@@ -397,9 +399,9 @@
#endif /* HAVE_GETRLIMIT */
-#ifdef __svr4__
+#if defined(__svr4__) || defined(__NetBSD__)
/***********************************************************************
- * solaris_try_mmap
+ * try_mmap_fixed
*
* The purpose of this routine is to emulate the behaviour of
* the Linux mmap() routine if a non-NULL address is passed,
@@ -415,8 +417,8 @@
* address range is still available, and placing the mapping there
* using MAP_FIXED if so.
*/
-static int solaris_try_mmap (void *addr, size_t len, int prot, int flags,
- int fildes, off_t off)
+static int try_mmap_fixed (void *addr, size_t len, int prot, int flags,
+ int fildes, off_t off)
{
char * volatile result = NULL;
int pagesize = getpagesize();
@@ -442,7 +444,7 @@
if ( (pid = vfork()) == -1 )
{
- perror("solaris_try_mmap: vfork");
+ perror("try_mmap_fixed: vfork");
exit(1);
}
if ( pid == 0 )
@@ -508,8 +510,8 @@
flags |= MAP_PRIVATE;
#endif
-#ifdef __svr4__
- if ( solaris_try_mmap( start, size, prot, flags, fdzero, 0 ) )
+#if defined(__svr4__) || defined(__NetBSD__)
+ if ( try_mmap_fixed( start, size, prot, flags, fdzero, 0 ) )
return start;
#endif