Should --enable-checking=yes,rtl work on 32-bit hosts?

Daniel Santos daniel.santos@pobox.com
Wed Aug 16 00:51:00 GMT 2017


On 08/15/2017 06:18 AM, Richard Biener wrote:
> On Mon, Aug 14, 2017 at 5:23 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> For GCC 8, when --enable-checking=yes,rtl is used with x32 GCC,
>> I got
>>
>> cc1plus: out of memory allocating 56137200 bytes after a total of
>> 3139436544 bytes
>> make[5]: *** [Makefile:1104: insn-extract.o] Error 1
>> make[5]: *** Waiting for unfinished jobs....
>>
>> gcc-7-branch is OK.  Is this expected?
> I suppose not.  Who allocates all the memory?
>
> Richard.

Well I didn't dig into it too deeply, but below is a backtrace just
prior to the error.  I'm not at all intimate with gcc's memory
management, if gcc keeps track of how much each component has allocated.

(gdb) bt
#0  __GI___libc_malloc (bytes=56137200) at malloc.c:2905
#1  0x025bc8dc in xmalloc (size=56137200) at /home/daniel/proj/sys/gcc/head/libiberty/xmalloc.c:147
#2  0x0124ffa7 in (anonymous namespace)::pass_cprop_hardreg::execute (this=0x32b8e50, fun=0xd359d270) at /home/daniel/proj/sys/gcc/head/gcc/regcprop.c:1272
#3  0x011c9f23 in execute_one_pass (pass=<opt_pass* 0x32b8e50 "cprop_hardreg"(299)>) at /home/daniel/proj/sys/gcc/head/gcc/passes.c:2495
#4  0x011ca2ac in execute_pass_list_1 (pass=<opt_pass* 0x32b8e50 "cprop_hardreg"(299)>) at /home/daniel/proj/sys/gcc/head/gcc/passes.c:2584
#5  0x011ca2de in execute_pass_list_1 (pass=<opt_pass* 0x32b8a50 "*all-postreload"(-1)>) at /home/daniel/proj/sys/gcc/head/gcc/passes.c:2585
#6  0x011ca2de in execute_pass_list_1 (pass=<opt_pass* 0x32b7e50 "*rest_of_compilation"(-1)>) at /home/daniel/proj/sys/gcc/head/gcc/passes.c:2585
#7  0x011ca340 in execute_pass_list (fn=0xd359d270, pass=<opt_pass* 0x32b57c0 "fixup_cfg"(94)>) at /home/daniel/proj/sys/gcc/head/gcc/passes.c:2595
#8  0x00cb317b in cgraph_node::expand (this=<cgraph_node* 0xd359ce58 "insn_extract">) at /home/daniel/proj/sys/gcc/head/gcc/cgraphunit.c:2054 #9  0x00cb384b in expand_all_functions () at /home/daniel/proj/sys/gcc/head/gcc/cgraphunit.c:2190
#10 0x00cb4469 in symbol_table::compile (this=0xf64f60d8) at /home/daniel/proj/sys/gcc/head/gcc/cgraphunit.c:2542
#11 0x00cb46d4 in symbol_table::finalize_compilation_unit (this=0xf64f60d8) at /home/daniel/proj/sys/gcc/head/gcc/cgraphunit.c:2631
#12 0x013c7412 in compile_file () at /home/daniel/proj/sys/gcc/head/gcc/toplev.c:496
#13 0x013c9c51 in do_compile () at /home/daniel/proj/sys/gcc/head/gcc/toplev.c:2037
#14 0x013c9f76 in toplev::main (this=0xffffcb20, argc=77, argv=0xffffcc14) at /home/daniel/proj/sys/gcc/head/gcc/toplev.c:2171
#15 0x024fd468 in main (argc=77, argv=0xffffcc14) at /home/daniel/proj/sys/gcc/head/gcc/main.c:39


Thanks,
Daniel



More information about the Gcc mailing list