X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=support%2Fsys-mman.c;h=1dd61bc372b5343cce83bf8a677c190aca969a05;hb=f4d2a54f88302cc2f20d70127050b0f7ff484095;hp=f885d11b82195f45ff638b940222c82000e1882b;hpb=8f59998c4f744c7b78cf6cdd7f5849f99902c4b8;p=mono.git diff --git a/support/sys-mman.c b/support/sys-mman.c index f885d11b821..1dd61bc372b 100644 --- a/support/sys-mman.c +++ b/support/sys-mman.c @@ -7,7 +7,11 @@ * Copyright (C) 2004-2006 Jonathan Pryor */ +#include + +#ifndef __OpenBSD__ #define _XOPEN_SOURCE 600 +#endif #ifdef PLATFORM_MACOSX /* For mincore () */ @@ -18,6 +22,11 @@ #define __BSD_VISIBLE 1 #endif +#ifdef __NetBSD__ +/* For mincore () */ +#define _NETBSD_SOURCE +#endif + #include #include #include @@ -105,8 +114,15 @@ Mono_Posix_Syscall_mremap (void *old_address, mph_size_t old_size, if (Mono_Posix_FromMremapFlags (flags, &_flags) == -1) return MAP_FAILED; +#if defined(linux) return mremap (old_address, (size_t) old_size, (size_t) new_size, (unsigned long) _flags); +#elif defined(__NetBSD__) + return mremap (old_address, (size_t) old_size, old_address, + (size_t) new_size, (unsigned long) _flags); +#else +#error Port me +#endif } #endif /* def HAVE_MREMAP */