host-darwin.c (darwin_rs6000_gt_pch_use_address): Fix the check for abort and only do the mmap if we can.

2004-03-15  Ian Lance Taylor  <ian@wasabisystems.com>

        * config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
        Fix the check for abort and only do the mmap if we can.

From-SVN: r79512
This commit is contained in:
Ian Lance Taylor 2004-03-15 22:47:57 +00:00 committed by Andrew Pinski
parent 74a568a4c5
commit 4e4083addf
2 changed files with 16 additions and 8 deletions

View File

@ -1,3 +1,8 @@
2004-03-15 Ian Lance Taylor <ian@wasabisystems.com>
* config/rs6000/host-darwin.c (darwin_rs6000_gt_pch_use_address):
Fix the check for abort and only do the mmap if we can.
2004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
* config/sparc/sparc.h: Rework comments about the code model

View File

@ -180,16 +180,19 @@ darwin_rs6000_gt_pch_use_address (void *addr, size_t sz, int fd, size_t off)
if (munmap (pch_address_space + sz, sizeof (pch_address_space) - sz) != 0)
fatal_error ("couldn't unmap pch_address_space: %m\n");
mmap_result = mmap (addr, sz,
PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED,
fd, off);
if (ret)
{
mmap_result = mmap (addr, sz,
PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED,
fd, off);
/* The file might not be mmap-able. */
ret = mmap_result == (void *) MAP_FAILED;
/* The file might not be mmap-able. */
ret = mmap_result == (void *) MAP_FAILED;
/* Sanity check for broken MAP_FIXED. */
if (ret && mmap_result != addr)
abort ();
/* Sanity check for broken MAP_FIXED. */
if (!ret && mmap_result != addr)
abort ();
}
return ret;
}