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 Thanks, Daniel