On Tue, Aug 15, 2017 at 5:43 PM, Daniel Santos <daniel.san...@pobox.com> wrote: > On 08/15/2017 06:18 AM, Richard Biener wrote: >> On Mon, Aug 14, 2017 at 5:23 PM, H.J. Lu <hjl.to...@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 >
I opened: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81869 -- H.J.