diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 44091119a..ee88fa45d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-02-25 Corinna Vinschen + + * mmap.cc (mmap64): Fix returned address by taking the granularity + into account. + 2003-02-23 Pierre Humblet * syslog.cc (syslog): Do not unlock the file before closing it diff --git a/winsup/cygwin/mmap.cc b/winsup/cygwin/mmap.cc index cb78e2fdd..6a300962e 100644 --- a/winsup/cygwin/mmap.cc +++ b/winsup/cygwin/mmap.cc @@ -577,7 +577,7 @@ mmap64 (caddr_t addr, size_t len, int prot, int flags, int fd, __off64_t off) /* Insert into the list */ mmap_record *rec = map_list->add_record (mmap_rec, off, len); - caddr_t ret = rec->get_address () + off; + caddr_t ret = rec->get_address () + (off - gran_off); syscall_printf ("%x = mmap() succeeded", ret); ReleaseResourceLock (LOCK_MMAP_LIST, READ_LOCK | WRITE_LOCK, "mmap"); return ret;