This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Broken autoconf mmap test


On 3/23/2011 11:44 AM, Corinna Vinschen wrote:
On Mar 23 10:08, Ken Brown wrote:
On 3/23/2011 9:26 AM, Corinna Vinschen wrote:
Btw., I just experimented with another flag which has not been exposed
to the Win32 API, and which is not officially documented.  It's called
AT_EXTENDABLE_FILE and allows to specify a view which is bigger than
the filesize.  I tried this on W7-64, and it works.  Just not exactly
as we need it.  The trailing pages are not commited but only reserved,
so accessing them still results in a SEGV.  And while commiting them
allows to run the autoconf testcase, it also changes the filesize of
the file on disk.  Oh well.

Is the scenario in which the autoconf test fails likely to occur in practice? I wonder if it could be responsible for some of the mysterious crashes that people have reported on 64-bit systems.

Usually it shouldn't. While you can write into a mmaped area beyond EOF up to the end of the last page, it doesn't make a lot of sense. The data will never show up in the mapped file.

I have no idea if there are applications out there which rely on this
crude behaviour.

I was mainly thinking of this from the point of view of a Cygwin package maintainer. In view of what you said, it seems that it's probably safe to continue using the workaround


export ac_cv_func_mmap_fixed_mapped=yes

that's built into cygport. Maintainers who don't use cygport and who build on a 64-bit system will have to manually use a similar workaround, or else their builds won't use mmap.

It doesn't look like there's going to be an autoconf change to resolve this:

http://lists.gnu.org/archive/html/autoconf/2011-03/msg00041.html

Ken

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]