From ab4daaf234846814efda577812e8e42be5a40995 Mon Sep 17 00:00:00 2001 From: "Loren J. Rittle" Date: Tue, 1 Sep 2009 18:10:39 +0000 Subject: [PATCH] pass51-frag.c (MAP_FAILED): Define, if not in system header; use it. 2009-09-01 Loren J. Rittle Andreas Schwab * testsuite/libmudflap.c/pass51-frag.c (MAP_FAILED): Define, if not in system header; use it. On FreeBSD, must pass fd==-1 with MAP_ANON flag. Correct mmap error check. * testsuite/libmudflap.c/fail40-frag.c: Ditto. Co-Authored-By: Andreas Schwab From-SVN: r151277 --- libmudflap/ChangeLog | 8 ++++++++ libmudflap/testsuite/libmudflap.c/fail40-frag.c | 7 +++++-- libmudflap/testsuite/libmudflap.c/pass51-frag.c | 7 +++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index ef795fe38ee..5a899c18551 100644 --- a/libmudflap/ChangeLog +++ b/libmudflap/ChangeLog @@ -1,3 +1,11 @@ +2009-09-01 Loren J. Rittle + Andreas Schwab + + * testsuite/libmudflap.c/pass51-frag.c (MAP_FAILED): Define, + if not in system header; use it. On FreeBSD, must pass fd==-1 + with MAP_ANON flag. Correct mmap error check. + * testsuite/libmudflap.c/fail40-frag.c: Ditto. + 2009-08-24 Ralf Wildenhues * configure.ac (AC_PREREQ): Bump to 2.64. diff --git a/libmudflap/testsuite/libmudflap.c/fail40-frag.c b/libmudflap/testsuite/libmudflap.c/fail40-frag.c index 610be20554d..fbeb6fd21d3 100644 --- a/libmudflap/testsuite/libmudflap.c/fail40-frag.c +++ b/libmudflap/testsuite/libmudflap.c/fail40-frag.c @@ -14,6 +14,9 @@ int main () #ifndef MAP_ANONYMOUS #define MAP_ANONYMOUS MAP_ANON #endif +#ifndef MAP_FAILED +#define MAP_FAILED ((void *)-1) +#endif #ifdef HAVE_MMAP volatile unsigned char *p; unsigned num = getpagesize (); @@ -23,8 +26,8 @@ int main () /* Get a bit of usable address space. We really want an 2**N+1-sized object, so the low/high addresses wrap when hashed into the lookup cache. So we will manually unregister the entire mmap, then re-register a slice. */ - p = mmap (NULL, num, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); - if (p == NULL) + p = mmap (NULL, num, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (p == MAP_FAILED) return 1; /* Now unregister it, as if munmap was called. But don't actually munmap, so we can write into the memory. */ diff --git a/libmudflap/testsuite/libmudflap.c/pass51-frag.c b/libmudflap/testsuite/libmudflap.c/pass51-frag.c index b830b3a869d..2780ffd72a0 100644 --- a/libmudflap/testsuite/libmudflap.c/pass51-frag.c +++ b/libmudflap/testsuite/libmudflap.c/pass51-frag.c @@ -13,14 +13,17 @@ int main () #ifndef MAP_ANONYMOUS #define MAP_ANONYMOUS MAP_ANON #endif +#ifndef MAP_FAILED +#define MAP_FAILED ((void *)-1) +#endif #ifdef HAVE_MMAP void *p; unsigned pg = getpagesize (); int rc; p = mmap (NULL, 4 * pg, PROT_READ|PROT_WRITE, - MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); - if (p == NULL) + MAP_PRIVATE|MAP_ANONYMOUS, -1, 0); + if (p == MAP_FAILED) return 1; memset (p, 0, 4*pg);