Hi,
 This was causing my build of gcc to fail.
 File winsup/cygwin/mmap.cc version 1.86 (and earlier) function munmap
 when unmapping a 64K record, passes the wrong parameters to fhandler_base::munmap,
 passing the function parameter address/length instead of a block local version.

 This patch explains it all.

diff -r -p -U 5 cygwin-snapshot-20030924-1/winsup/cygwin/mmap.cc 
new_cygwin/winsup/cygwin/mmap.cc
--- cygwin-snapshot-20030924-1/winsup/cygwin/mmap.cc    2003-09-25 10:40:33.000000000 
+1000
+++ new_cygwin/winsup/cygwin/mmap.cc    2003-09-26 11:34:29.984375000 +1000
@@ -679,11 +679,11 @@ munmap (void *addr, size_t len)
          mmap_record *rec = map_list->get_record (record_idx);
          if (rec->unmap_pages (u_addr, u_len))
            {
              /* The whole record has been unmapped, so... */
              fhandler_base *fh = rec->alloc_fh ();
-             fh->munmap (rec->get_handle (), (caddr_t)addr, len);
+             fh->munmap (rec->get_handle (), (caddr_t)u_addr, u_len);
              rec->free_fh (fh);
 
              /* ...delete the record. */
              if (map_list->del_record (record_idx--))
                {

-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Reply via email to