diff options
author | Gerald Pfeifer <gerald@pfeifer.com> | 2010-06-20 19:42:19 +0000 |
---|---|---|
committer | Gerald Pfeifer <gerald@gcc.gnu.org> | 2010-06-20 19:42:19 +0000 |
commit | 479ed4ce886b3581a7dc7722889571a1175cd07d (patch) | |
tree | 399492f5eba4bc83658f09afbef2b59b5cf9cf90 /libmudflap | |
parent | 9cb3d372292294fe8b047127c637531501d62493 (diff) |
backport: pass51-frag.c (MAP_FAILED): Define, if not in system header; use it.
Backport from mainline:
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.
From-SVN: r161051
Diffstat (limited to 'libmudflap')
-rw-r--r-- | libmudflap/ChangeLog | 11 | ||||
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/fail40-frag.c | 7 | ||||
-rw-r--r-- | libmudflap/testsuite/libmudflap.c/pass51-frag.c | 7 |
3 files changed, 21 insertions, 4 deletions
diff --git a/libmudflap/ChangeLog b/libmudflap/ChangeLog index ff20daf1e53..72caf28840a 100644 --- a/libmudflap/ChangeLog +++ b/libmudflap/ChangeLog @@ -2,6 +2,17 @@ Backport from mainline: 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. + +2010-06-20 Gerald Pfeifer <gerald@pfeifer.com> + + Backport from mainline: + 2009-09-01 Loren J. Rittle <ljrittle@acm.org> * mf-runtime.c (__mf_init): Support FreeBSD. Prime mutex which calls calloc upon first lock to avoid deadlock. 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); |