Commit ab4daaf2 by Loren J. Rittle Committed by Loren J. Rittle

pass51-frag.c (MAP_FAILED): Define, if not in system header; use it.

2009-09-01  Loren J. Rittle  <ljrittle@acm.org>
	    Andreas Schwab  <schwab@linux-m68k.org>

	* 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 <schwab@linux-m68k.org>

From-SVN: r151277
parent cd6ea7a2
2009-09-01 Loren J. Rittle <ljrittle@acm.org>
Andreas Schwab <schwab@linux-m68k.org>
* 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 <Ralf.Wildenhues@gmx.de> 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure.ac (AC_PREREQ): Bump to 2.64. * configure.ac (AC_PREREQ): Bump to 2.64.
......
...@@ -14,6 +14,9 @@ int main () ...@@ -14,6 +14,9 @@ int main ()
#ifndef MAP_ANONYMOUS #ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON #define MAP_ANONYMOUS MAP_ANON
#endif #endif
#ifndef MAP_FAILED
#define MAP_FAILED ((void *)-1)
#endif
#ifdef HAVE_MMAP #ifdef HAVE_MMAP
volatile unsigned char *p; volatile unsigned char *p;
unsigned num = getpagesize (); unsigned num = getpagesize ();
...@@ -23,8 +26,8 @@ int main () ...@@ -23,8 +26,8 @@ int main ()
/* Get a bit of usable address space. We really want an 2**N+1-sized object, /* 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 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. */ 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); p = mmap (NULL, num, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (p == NULL) if (p == MAP_FAILED)
return 1; return 1;
/* Now unregister it, as if munmap was called. But don't actually munmap, so /* Now unregister it, as if munmap was called. But don't actually munmap, so
we can write into the memory. */ we can write into the memory. */
......
...@@ -13,14 +13,17 @@ int main () ...@@ -13,14 +13,17 @@ int main ()
#ifndef MAP_ANONYMOUS #ifndef MAP_ANONYMOUS
#define MAP_ANONYMOUS MAP_ANON #define MAP_ANONYMOUS MAP_ANON
#endif #endif
#ifndef MAP_FAILED
#define MAP_FAILED ((void *)-1)
#endif
#ifdef HAVE_MMAP #ifdef HAVE_MMAP
void *p; void *p;
unsigned pg = getpagesize (); unsigned pg = getpagesize ();
int rc; int rc;
p = mmap (NULL, 4 * pg, PROT_READ|PROT_WRITE, p = mmap (NULL, 4 * pg, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, 0, 0); MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (p == NULL) if (p == MAP_FAILED)
return 1; return 1;
memset (p, 0, 4*pg); memset (p, 0, 4*pg);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment