summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Mosberger-Tang <davidm@panda.mostang.com>2007-08-09 16:26:58 -0600
committerDavid Mosberger-Tang <davidm@panda.mostang.com>2007-08-09 16:26:58 -0600
commit25739eec8667ae3a78a62b44a912a7fbcda3d43d (patch)
tree952f7c60cc85fa70834503244009b8e3f8b29850
parentbcca3ddcc0d48a50639b2d985e09d6ac6de030d0 (diff)
downloadlibunwind-25739eec8667ae3a78a62b44a912a7fbcda3d43d.tar.gz
[IA64] Fix ia64-test-setjmp.c. With MAP_SHARED the kernel will try to
find a 1MiB-aligned region, which isn't what we want here.
-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);
}
}