mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
cd6ea7a2df
commit
ab4daaf234
|
|
@ -1,3 +1,11 @@
|
||||||
|
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 ()
|
||||||
#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 ()
|
||||||
/* 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 ()
|
||||||
#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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue