summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/ia64-test-setjmp.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/tests/ia64-test-setjmp.c b/tests/ia64-test-setjmp.c
index 9bcc50c2..be487b66 100644
--- a/tests/ia64-test-setjmp.c
+++ b/tests/ia64-test-setjmp.c
@@ -79,6 +79,7 @@ static void
doit (int n)
{
uintptr_t guard_page_addr, bsp = get_bsp ();
+ void *ret;
if (n == 0)
{
@@ -87,10 +88,15 @@ doit (int n)
guard_page_addr = (bsp + page_size - 1) & -page_size;
if (verbose)
printf ("guard_page_addr = 0x%lx\n", (unsigned long) guard_page_addr);
- if (mmap ((void *) guard_page_addr, page_size, PROT_NONE,
- MAP_SHARED | MAP_ANONYMOUS, -1, 0) != (void *) guard_page_addr)
+ ret = mmap ((void *) guard_page_addr, page_size, PROT_NONE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (ret != (void *) guard_page_addr)
{
- perror ("mmap");
+ if (ret == MAP_FAILED)
+ perror ("mmap");
+ else
+ fprintf (stderr, "mmap() returned %p, expected 0x%lx\n",
+ ret, guard_page_addr);
exit (EXIT_FAILURE);
}
}