Mingw gcc 4.4.0 64bit garbage collector bug?

John Fine johnsfine@verizon.net
Wed Nov 19 19:32:00 GMT 2008


NS wrote:
> Are you using mingw-w64.sf.net or mingw.sf.net?
>
I guess I should have made clear that every aspect of this is 64-bit 
(not, for example, running 32-bit software on a 64-bit OS).

So far as I understand mingw.sf.net is only for 32-bit.

Anyway, the person who installed it just told me he got it from 
mingw-w64.sf.net

Meanwhile, I tried using
g++ --param ggc-min-heapsize=999999 -c -O3 ...
instead of the previous
g++ -c -O3 ...

I thought that would prevent the garbage collect.  It made zero difference.

The second to last I/O operation reads from one of the many header files 
included into this compile.

The last I/O operation tries to open the first header file included by 
the above header file in the directory named by the first -I switch on 
the command line.  That fails because that header isn't there.

One would expect that very soon thereafter it would try to open that 
same header file in the directory named by the second -I switch, which 
would have worked for that header and in fact had all ready worked for a 
header opened earlier in the compile.

But to do that, it must combine the long directory path name from that 
second -I switch with the name of the desired header file.  I assume 
that requires allocating some space and I expect that could require 
running the garbage collector.

Anyway, it then uses cpu time but does no I/O for 17 seconds, then exits.

So does --param ggc-min-heapsize=999999 not mean what I think (not 
garbage collect until more than 999999KB is used)?  Or not work in the 
version?  Or I got some detail of the syntax wrong?  Or I'm totally 
misunderstanding the situation?  Or what?




More information about the Gcc-help mailing list