This is the mail archive of the cygwin@sources.redhat.com 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]

RE: large memory allocation via new causes segmentation fault in G++ compiled programs


Hello,

I've raised the same problem some time ago on the list. I haven't
seen any answer on the list, but I've found a way to solve it. By the
way, I'm still interested in other people explanations !

Here's my answer, hope it helps !

>>Hello,
>>
>>I'm using cygwin & gcc on a 512 Mb PC running NT, and
>>it seems that I cannot allocate more than (roughly)
>>128 MegaBytes of total memory (either with a single 
>>malloc call, or with lots of them). Is there's a memory 
>>allocation limit in cygwin & gcc or am I missing something ? 
>>
>>(the same program works fine with Watcom C, and I'm using
>>cygwin latest release)
>>
>>Thanks in advance if anyone can help !
>>
>>Nicolas
>
>Hi again,
>
>I can't fully answer my question, but I've found a way to malloc
>more than 128 Mb. I've read than cygwin uses Doug Lea's malloc
>(http://gee.cs.oswego.edu/pub/misc/malloc.c), and I've compiled 
>it and linked it with my programs, and then, it works. 
>
>For instance, the following program fails if compiled with gcc, 
>and works when linked with Doug Lea's malloc.
>
>#include <stdlib.h>
>#include <assert.h>
>
>int main(void)
>{
>	void	*p = malloc(128 * 1024 * 1024);
>	assert(p);
>	return 0;
>}
>
>Using that other malloc solves my problem, but I'd still like to
>know if it's something wrong with my system or a problem with gcc.
>
>Nicolas

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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