> this out of memory failure is caused by inlining. Additionally it has
> reasons in growth of debugging sections produced (the same issue in
> fact).                        ...

Thanks for the info, Kai.
I was able to mitigate the GPFs compiling with -Os

-- 
Xavi

El 22/09/2010 12:22, Kai Tietz escribió:
> 2010/9/22 Ruben Van Boxem<vanboxem.ru...@gmail.com>:
>> 2010/9/22 Xavi<jara...@gmail.com>
>>>
>>>
>>>
>>> When I try to compile wxWidgets 2.8.10 as usual .-
>>>
>>> mingw32-make -f Makefile.gcc SHARED=1 UNICODE=1 BUILD=release MONOLITHIC=1
>>> g++ -shared -fPIC -o ..\..\lib\gcc_dll\wxmsw28u_gcc_custom.dll ...
>>> -mthreads -L..\..\lib\gcc_dll
>>> -Wl,--out-implib=..\..\lib\gcc_dll\libwxmsw28u.a ...
>>>
>>> I get the error .-
>>> ld.exe: out of memory allocating 32706688 bytes
>>>
>>
>> This is a known bug in gcc. I could apply the reversal patch (like TDM64 GCC
>> does), or make a x64 toolchain that builds 32-bit binaries. This last will
>> probably result in huge object files for wxWidgets. What happens if you try
>> to build x64 wxWidgets (if you have enough RAM, the link process should
>> succeed, but reading the mailing lists, could produce oversized
>> binaries...)? How big are the generated binaries?
>>
>>>
>>> or active debug .-
>>> mingw32-make -f Makefile.gcc SHARED=1 UNICODE=1 BUILD=debug MONOLITHIC=1
>>> gcc_mswuddll\monodll_laywin.o: could not read symbols: Memory exhausted
>>>
>>> With mingw-w32-bin_i686-mingw_20100914_sezero.zip runs fine.
>>
>> The problem is the abovementioned patch/bug in GCC 4.5+
>>
>>>
>>> ------------------------------------------------------------------
>>> But with this version mingw-w32-bin_i686-mingw_20100914_sezero.zip I have
>>> "mysterious" (for me :) GPFs in XP sp3.-
>>>
>>> Access Violation at location 77c0554a in module msvcrt.dll Reading from
>>> location 0000000d.
>>>
>>> Registers:
>>> eax=00411676 ebx=77c2f990 ecx=77c09bc6 edx=00000000 esi=00e5ffa4
>>> edi=00000000
>>> eip=77c0554a esp=00e5fb94 ebp=00000005 iopl=0         nv up ei pl zr na po
>>> nc
>>> cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000
>>> efl=00010246
>>>
>>> Call stack:
>>> 77C0554A  C:\WINDOWS\system32\msvcrt.dll:77C0554A  __NLG_Notify
>>>
>>> It also happens with gdb, simply turn on break assert .-
>>> GNU gdb (GDB) 7.2.50.20100914-cvs
>>> This GDB was configured as "i686-w64-mingw32".
>>> (gdb) break assert
>>
>> Can't help you there...
>>
>> I'm in the process of reviewing my builds, as they can't reporoduce
>> themselves, might just be libtool acting up (and have no consequences on
>> non-autotools projects). I'll see what I can do to address this issue as
>> well.
>>
>> My original plan was to provide unpatched builds, but it seems there are
>> more problems left than I thought...
>>
>> Ruben
>
> Hi Rubenvb,
>
> this out of memory failure is caused by inlining. Additionally it has
> reasons in growth of debugging sections produced (the same issue in
> fact). To solve this you can use binutils (on a 64-bit OS) build for
> host x64. So you can consume much more heap ;)
> The real solution for this will be a modification in c++ compiler, and
> on the other hand support of not double linking of debugging
> information related to linkonce functions. The latter could be handled
> in binutils (via .cfi).
>
> Regards,
> Kai
>

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to