https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98863

--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
I set up ulimit -v 16GB and I attached gdb. Allocation failure happens here:

(gdb) p *current_pass
$1 = {
  <pass_data> = {
    type = RTL_PASS,
    name = 0x19f43ae "ree",

(gdb) bt
#0  xmalloc_failed (size=size@entry=65536) at
/home/marxin/Programming/gcc/libiberty/xmalloc.c:119
#1  0x00000000019ac968 in xmalloc (size=65536) at
/home/marxin/Programming/gcc/libiberty/xmalloc.c:149
#2  0x00000000019a3158 in call_chunkfun (size=<optimized out>, h=0x51b5240) at
/home/marxin/Programming/gcc/libiberty/obstack.c:94
#3  _obstack_newchunk (h=h@entry=0x51b5240, length=length@entry=40) at
/home/marxin/Programming/gcc/libiberty/obstack.c:206
#4  0x0000000000853cde in bitmap_element_allocate (head=0x5908d020,
head=0x5908d020) at /home/marxin/Programming/gcc/gcc/bitmap.c:123
#5  bitmap_list_insert_element_after (head=0x5908d020, elt=0x3d861a4f8,
indx=3548, node=<optimized out>) at
/home/marxin/Programming/gcc/gcc/bitmap.c:312
#6  0x0000000000855b34 in bitmap_set_range (count=<optimized out>, start=0,
head=0x5908d020) at /home/marxin/Programming/gcc/gcc/bitmap.c:1624
#7  bitmap_set_range (head=0x5908d020, start=0, count=<optimized out>) at
/home/marxin/Programming/gcc/gcc/bitmap.c:1577
#8  0x000000000090926f in df_mir_alloc (all_blocks=<optimized out>) at
/home/marxin/Programming/gcc/gcc/df-problems.c:1921
#9  0x0000000000901ef6 in df_analyze_problem (dflow=0x3ce62b0,
blocks_to_consider=0x445a888, postorder=0x4a821208, n_blocks=56609) at
/home/marxin/Programming/gcc/gcc/df-core.c:1162
#10 0x0000000000902e42 in df_analyze_1 () at
/home/marxin/Programming/gcc/gcc/df-core.c:1228
#11 0x00000000017bb663 in find_and_remove_re () at
/home/marxin/Programming/gcc/gcc/ree.c:1290
#12 rest_of_handle_ree () at /home/marxin/Programming/gcc/gcc/ree.c:1384
#13 (anonymous namespace)::pass_ree::execute (this=<optimized out>) at
/home/marxin/Programming/gcc/gcc/ree.c:1412
#14 0x0000000000c62a38 in execute_one_pass (pass=0x24e5d90) at
/home/marxin/Programming/gcc/gcc/passes.c:2567
#15 0x0000000000c63413 in execute_pass_list_1 (pass=0x24e5d90) at
/home/marxin/Programming/gcc/gcc/passes.c:2656
#16 0x0000000000c63425 in execute_pass_list_1 (pass=0x24e5c10) at
/home/marxin/Programming/gcc/gcc/passes.c:2657
#17 0x0000000000c63425 in execute_pass_list_1 (pass=0x24e4810) at
/home/marxin/Programming/gcc/gcc/passes.c:2657
#18 0x0000000000c63456 in execute_pass_list (fn=0x7ffff6b457e8, pass=<optimized
out>) at /home/marxin/Programming/gcc/gcc/passes.c:2667
#19 0x00000000008e2235 in cgraph_node::expand (this=0x7ffff71c8990) at
/home/marxin/Programming/gcc/gcc/context.h:48
#20 0x00000000008e389f in expand_all_functions () at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:1995
#21 symbol_table::compile (this=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2359
#22 symbol_table::compile (this=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2270
#23 0x000000000082d575 in lto_main () at
/home/marxin/Programming/gcc/gcc/lto/lto.c:653
#24 0x0000000000d3b83e in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.c:457
#25 0x0000000000801a80 in do_compile () at
/home/marxin/Programming/gcc/gcc/toplev.c:2193
#26 toplev::main (this=this@entry=0x7fffffffdd4e, argc=<optimized out>,
argc@entry=20, argv=<optimized out>, argv@entry=0x7fffffffde58) at
/home/marxin/Programming/gcc/gcc/toplev.c:2332
#27 0x0000000000805c35 in main (argc=20, argv=0x7fffffffde58) at
/home/marxin/Programming/gcc/gcc/main.c:39

Does it help?

Reply via email to