Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3EBDFA13.1010708@coppice.org> Date: Sun, 11 May 2003 15:21:55 +0800 From: Steve Underwood User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030314 X-Accept-Language: en, en-us MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: A problem with mmap on Win98 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit >On Tue, May 06, 2003 at 04:07:49PM +0800, Steve Underwood wrote: >> I am using the current version of cygwin (1.3.22). When I build gcc to >> cross-compile for the TI MSP430 MCUs the result works OK on 2000 and XP >> machines. On some Win98 and Me machines it works, but on others it >> crashes with a segmentation violation. I traced this to a problem with >> anonymous mmap. If I keep calling mmap on the problem machines it keeps >> returning the same memory pointer twice. If I patch GCC to check for a >> repeat of the same memory pointer, and allocate again until it gets a >> different pointer, my GCC build seems to run OK on these problem machines. >> >> The results are not random. They follow a pattern. If I allocate 65536 >> byte blocks, I consistently get the same pointer twice, before I get a >> pointer 65536 bytes greater. If I allocate 16384 byte blocks, I get four >> pointers incrementing by 0x4000 each. Then I get a repeat of the fourth >> pointer. Then I get four more properly incrementing pointers. > >Weird, especially that it only happens on 9x... Its weird that there is trouble with windows? :-) Its only on some Win9x machines, too. I did my original software testing and produced a binary installer on a Win98SE machine that worked without a hitch. Then various users started complaining it would not work for them. Now I have found a Win98SE machine that exhibits the problem, so I can follow up on it. Perhaps the different behaviour relates to the system patch level, or something. >> I tried downloading the source code for cygwin, to build it, and do a >> little debugging of my own. However, the make files build most of the >> code, and then fail saying there is no rule to make >> /usr/lib/w32api/Makefile needed by /lib/. The make dependancies are a >> little intertwined, and I gave up trying to find the cause of this problem. > >Did you build in the source dir? Don't do this. For more info see >http://cygwin.com/contrib.html I tries building in the suorce dir. Then I read the instructions, so I tried again using another dir. In both cases I got the same error. > >> Can anyone help? > >Please create a *brief* testcase in C which encounters the above mmap >problem and send it to this list. I'll have a look, then. > >Did I mention that the testcase should be as short as possible? Is gcc-core-3.2.3 built for C support a small enough test case? :-) Seriously, it may be better if I debug this a little, as I have a machine exhibiting the problem. I have no idea what proportion of Win98 machines succeed and fail. Does anyone have pointers to solving my cygwin build problem? I have the latest cygwin (updated this week) installed on a WinXP machine, including (of course) the development tools packages. I downloaded the source for the current version of the cygwin DLL. I configured to build in another directory, and got the error message described above. Regards, Steve -- 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/