http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58256

--- Comment #8 from Chen Gang <gang.chen at asianux dot com> ---
For gcc-4.9.0, I got summary trace for it (call stack for cc1, how many the
related loopings during calling flow), hope it may be a little useful. (I will
do the same thing for gcc-4.8.0, and compare them).

And it seems: gdb can not print the variables' value when "g++ -g -Wall
-static-libstdc++ -static-libgcc" which is effect with cc1 and xgcc.

If can let gdb print the vaiables' value, life will be a little easier (don't
need dump the related variables' values mannually).

Welcome any additional suggestions or completions.

(gdb) bt
#0  maybe_record_trace_start(rtx_def*, rtx_def*) () at
../../gcc-4.9.0/gcc/dwarf2cfi.c:2184
#1  0x00000000006da82b in scan_trace(dw_trace_info*) () at
../../gcc-4.9.0/gcc/dwarf2cfi.c:2399
#2  0x00000000006dadeb in create_cfi_notes() () at
../../gcc-4.9.0/gcc/dwarf2cfi.c:2557
#3  0x00000000006db8e5 in execute_dwarf2_frame() () at
../../gcc-4.9.0/gcc/dwarf2cfi.c:2912
#4  0x00000000006dc5e3 in (anonymous namespace)::pass_dwarf2_frame::execute()
() at ../../gcc-4.9.0/gcc/dwarf2cfi.c:3408
#5  0x0000000000989d20 in execute_one_pass(opt_pass*) () at
../../gcc-4.9.0/gcc/passes.c:2201
#6  0x0000000000989f41 in execute_pass_list(opt_pass*) () at
../../gcc-4.9.0/gcc/passes.c:2257
#7  0x0000000000989f72 in execute_pass_list(opt_pass*) () at
../../gcc-4.9.0/gcc/passes.c:2258
#8  0x0000000000989f72 in execute_pass_list(opt_pass*) () at
../../gcc-4.9.0/gcc/passes.c:2258
#9  0x000000000068cbbd in expand_function(cgraph_node*) () at
../../gcc-4.9.0/gcc/cgraphunit.c:1723
#10 0x000000000068d085 in expand_all_functions() () at
../../gcc-4.9.0/gcc/cgraphunit.c:1828
#11 0x000000000068d9e9 in compile() () at ../../gcc-4.9.0/gcc/cgraphunit.c:2165
#12 0x000000000068db62 in finalize_compilation_unit() () at
../../gcc-4.9.0/gcc/cgraphunit.c:2242
#13 0x00000000005225ac in c_write_global_declarations() () at
../../gcc-4.9.0/gcc/c/c-decl.c:10125
#14 0x0000000000a4c25b in compile_file() () at ../../gcc-4.9.0/gcc/toplev.c:560
#15 0x0000000000a4e22e in do_compile() () at ../../gcc-4.9.0/gcc/toplev.c:1891
#16 0x0000000000a4e3a3 in toplev_main(int, char**) () at
../../gcc-4.9.0/gcc/toplev.c:1969
#17 0x0000000000e5b390 in main ()


(gdb) r -Os -mint32 -mh -fomit-frame-pointer -g /tmp/ana/namei/namei.c
Starting program: /android/src/build-gcc-h8300g/gcc/xgcc -Os -mint32 -mh
-fomit-frame-pointer -g /tmp/ana/namei/namei.c

gchen_tag: progname: xgcc, string: cc1

Detaching after fork from child process 8965.

gchen_tag: execute_pass_list: level: 1, count: 0.

gchen_tag: execute_pass_list: level: 1, count: 1.

gchen_tag: execute_pass_list: level: 1, count: 2.

gchen_tag: execute_pass_list: level: 1, count: 3.

gchen_tag: execute_pass_list: level: 1, count: 4.

gchen_tag: execute_pass_list: level: 1, count: 5.

gchen_tag: execute_pass_list: level: 1, count: 6.

gchen_tag: execute_pass_list: level: 1, count: 7.

gchen_tag: execute_pass_list: level: 1, count: 8.

gchen_tag: execute_pass_list: level: 1, count: 9.

gchen_tag: execute_pass_list: level: 1, count: 10.

gchen_tag: execute_pass_list: level: 1, count: 11.

gchen_tag: execute_pass_list: level: 1, count: 12.

gchen_tag: execute_pass_list: level: 1, count: 0.

gchen_tag: execute_pass_list: level: 1, count: 1.

gchen_tag: execute_pass_list: level: 1, count: 2.

gchen_tag: execute_pass_list: level: 1, count: 3.

gchen_tag: execute_pass_list: level: 1, count: 4.

gchen_tag: execute_pass_list: level: 1, count: 5.

gchen_tag: execute_pass_list: level: 1, count: 6.

gchen_tag: execute_pass_list: level: 2, count: 0.

gchen_tag: execute_pass_list: level: 2, count: 1.

gchen_tag: execute_pass_list: level: 2, count: 2.

gchen_tag: execute_pass_list: level: 2, count: 3.

gchen_tag: execute_pass_list: level: 2, count: 4.

gchen_tag: execute_pass_list: level: 2, count: 5.

gchen_tag: execute_pass_list: level: 2, count: 6.

gchen_tag: execute_pass_list: level: 2, count: 7.

gchen_tag: execute_pass_list: level: 2, count: 8.

gchen_tag: execute_pass_list: level: 2, count: 9.

gchen_tag: execute_pass_list: level: 2, count: 10.

gchen_tag: execute_pass_list: level: 2, count: 11.

gchen_tag: execute_pass_list: level: 2, count: 12.

gchen_tag: execute_pass_list: level: 2, count: 13.

gchen_tag: execute_pass_list: level: 2, count: 14.

gchen_tag: execute_pass_list: level: 2, count: 15.

gchen_tag: execute_pass_list: level: 2, count: 16.

gchen_tag: execute_pass_list: level: 1, count: 7.

gchen_tag: execute_pass_list: level: 1, count: 8.

gchen_tag: execute_pass_list: level: 1, count: 9.

gchen_tag: execute_pass_list: level: 1, count: 10.

gchen_tag: execute_pass_list: level: 1, count: 0.

gchen_tag: execute_pass_list: level: 2, count: 0.

gchen_tag: execute_pass_list: level: 2, count: 1.

gchen_tag: execute_pass_list: level: 2, count: 2.

gchen_tag: execute_pass_list: level: 2, count: 3.

gchen_tag: execute_pass_list: level: 2, count: 4.

gchen_tag: execute_pass_list: level: 2, count: 5.

gchen_tag: execute_pass_list: level: 2, count: 6.

gchen_tag: execute_pass_list: level: 2, count: 7.

gchen_tag: execute_pass_list: level: 2, count: 8.

gchen_tag: execute_pass_list: level: 2, count: 9.

gchen_tag: execute_pass_list: level: 2, count: 10.

gchen_tag: execute_pass_list: level: 2, count: 11.

gchen_tag: execute_pass_list: level: 2, count: 12.

gchen_tag: execute_pass_list: level: 2, count: 13.

gchen_tag: execute_pass_list: level: 2, count: 14.

gchen_tag: execute_pass_list: level: 2, count: 15.

gchen_tag: execute_pass_list: level: 2, count: 16.

gchen_tag: execute_pass_list: level: 2, count: 17.

gchen_tag: execute_pass_list: level: 2, count: 18.

gchen_tag: execute_pass_list: level: 2, count: 19.

gchen_tag: execute_pass_list: level: 2, count: 20.

gchen_tag: execute_pass_list: level: 2, count: 21.

gchen_tag: execute_pass_list: level: 2, count: 22.

gchen_tag: execute_pass_list: level: 2, count: 23.

gchen_tag: execute_pass_list: level: 2, count: 24.

gchen_tag: execute_pass_list: level: 2, count: 25.

gchen_tag: execute_pass_list: level: 2, count: 26.

gchen_tag: execute_pass_list: level: 2, count: 27.

gchen_tag: execute_pass_list: level: 2, count: 28.

gchen_tag: execute_pass_list: level: 2, count: 29.

gchen_tag: execute_pass_list: level: 2, count: 30.

gchen_tag: execute_pass_list: level: 2, count: 31.

gchen_tag: execute_pass_list: level: 2, count: 32.

gchen_tag: execute_pass_list: level: 2, count: 33.

gchen_tag: execute_pass_list: level: 2, count: 34.

gchen_tag: execute_pass_list: level: 2, count: 35.

gchen_tag: execute_pass_list: level: 2, count: 36.

gchen_tag: execute_pass_list: level: 2, count: 37.

gchen_tag: execute_pass_list: level: 2, count: 38.

gchen_tag: execute_pass_list: level: 2, count: 39.

gchen_tag: execute_pass_list: level: 2, count: 40.

gchen_tag: execute_pass_list: level: 2, count: 41.

gchen_tag: execute_pass_list: level: 2, count: 42.

gchen_tag: execute_pass_list: level: 3, count: 0.

gchen_tag: execute_pass_list: level: 3, count: 1.

gchen_tag: execute_pass_list: level: 3, count: 2.

gchen_tag: execute_pass_list: level: 3, count: 3.

gchen_tag: execute_pass_list: level: 3, count: 4.

gchen_tag: execute_pass_list: level: 3, count: 5.

gchen_tag: execute_pass_list: level: 3, count: 6.

gchen_tag: execute_pass_list: level: 3, count: 7.

gchen_tag: execute_pass_list: level: 3, count: 8.

gchen_tag: execute_pass_list: level: 3, count: 9.

gchen_tag: execute_pass_list: level: 3, count: 10.

gchen_tag: execute_pass_list: level: 3, count: 11.

gchen_tag: execute_pass_list: level: 3, count: 12.

gchen_tag: execute_pass_list: level: 3, count: 13.

gchen_tag: execute_pass_list: level: 3, count: 14.

gchen_tag: execute_pass_list: level: 3, count: 15.

gchen_tag: execute_pass_list: level: 3, count: 16.

gchen_tag: execute_pass_list: level: 3, count: 17.

gchen_tag: execute_pass_list: level: 3, count: 18.

gchen_tag: execute_pass_list: level: 3, count: 19.

gchen_tag: execute_pass_list: level: 3, count: 20.

gchen_tag: execute_pass_list: level: 3, count: 21.

gchen_tag: execute_pass_list: level: 2, count: 43.

gchen_tag: execute_pass_list: level: 2, count: 44.

gchen_tag: execute_pass_list: level: 2, count: 45.

gchen_tag: execute_pass_list: level: 2, count: 46.

gchen_tag: execute_pass_list: level: 2, count: 47.

gchen_tag: execute_pass_list: level: 2, count: 48.

gchen_tag: execute_pass_list: level: 2, count: 49.

gchen_tag: execute_pass_list: level: 2, count: 50.

gchen_tag: execute_pass_list: level: 2, count: 51.

gchen_tag: execute_pass_list: level: 2, count: 52.

gchen_tag: execute_pass_list: level: 2, count: 53.

gchen_tag: execute_pass_list: level: 2, count: 54.

gchen_tag: execute_pass_list: level: 2, count: 55.

gchen_tag: execute_pass_list: level: 2, count: 56.

gchen_tag: execute_pass_list: level: 2, count: 57.

gchen_tag: execute_pass_list: level: 2, count: 58.

gchen_tag: execute_pass_list: level: 2, count: 59.

gchen_tag: execute_pass_list: level: 2, count: 60.

gchen_tag: execute_pass_list: level: 2, count: 61.

gchen_tag: execute_pass_list: level: 2, count: 62.

gchen_tag: execute_pass_list: level: 2, count: 63.

gchen_tag: execute_pass_list: level: 1, count: 1.

gchen_tag: execute_pass_list: level: 1, count: 2.

gchen_tag: execute_pass_list: level: 1, count: 3.

gchen_tag: execute_pass_list: level: 1, count: 4.

gchen_tag: execute_pass_list: level: 1, count: 5.

gchen_tag: execute_pass_list: level: 1, count: 6.

gchen_tag: execute_pass_list: level: 1, count: 7.

gchen_tag: execute_pass_list: level: 1, count: 8.

gchen_tag: execute_pass_list: level: 1, count: 9.

gchen_tag: execute_pass_list: level: 1, count: 10.

gchen_tag: execute_pass_list: level: 1, count: 11.

gchen_tag: execute_pass_list: level: 1, count: 12.

gchen_tag: execute_pass_list: level: 1, count: 13.

gchen_tag: execute_pass_list: level: 1, count: 14.

gchen_tag: execute_pass_list: level: 1, count: 15.

gchen_tag: execute_pass_list: level: 2, count: 0.

gchen_tag: execute_pass_list: level: 2, count: 1.

gchen_tag: execute_pass_list: level: 2, count: 2.

gchen_tag: execute_pass_list: level: 2, count: 3.

gchen_tag: execute_pass_list: level: 2, count: 4.

gchen_tag: execute_pass_list: level: 2, count: 5.

gchen_tag: execute_pass_list: level: 2, count: 6.

gchen_tag: execute_pass_list: level: 2, count: 7.

gchen_tag: execute_pass_list: level: 2, count: 8.

gchen_tag: execute_pass_list: level: 2, count: 9.

gchen_tag: execute_pass_list: level: 2, count: 10.

gchen_tag: execute_pass_list: level: 2, count: 11.

gchen_tag: execute_pass_list: level: 2, count: 12.

gchen_tag: execute_pass_list: level: 2, count: 13.

gchen_tag: execute_pass_list: level: 2, count: 14.

gchen_tag: execute_pass_list: level: 3, count: 0.

gchen_tag: execute_pass_list: level: 3, count: 1.

gchen_tag: execute_pass_list: level: 3, count: 2.

gchen_tag: execute_pass_list: level: 3, count: 3.

gchen_tag: execute_pass_list: level: 3, count: 4.

gchen_tag: execute_pass_list: level: 3, count: 5.

gchen_tag: execute_pass_list: level: 2, count: 15.

gchen_tag: execute_pass_list: level: 2, count: 16.

gchen_tag: execute_pass_list: level: 2, count: 17.

gchen_tag: execute_pass_list: level: 2, count: 18.

gchen_tag: execute_pass_list: level: 2, count: 19.

gchen_tag: execute_pass_list: level: 2, count: 20.

gchen_tag: execute_pass_list: level: 2, count: 21.

gchen_tag: execute_pass_list: level: 2, count: 22.

gchen_tag: execute_pass_list: level: 2, count: 23.

gchen_tag: execute_pass_list: level: 2, count: 24.

gchen_tag: execute_pass_list: level: 2, count: 25.

gchen_tag: execute_pass_list: level: 2, count: 26.

gchen_tag: execute_pass_list: level: 2, count: 27.

gchen_tag: execute_pass_list: level: 2, count: 28.

gchen_tag: execute_pass_list: level: 2, count: 29.

gchen_tag: execute_pass_list: level: 2, count: 30.

gchen_tag: execute_pass_list: level: 2, count: 31.

gchen_tag: execute_pass_list: level: 2, count: 32.

gchen_tag: execute_pass_list: level: 2, count: 33.

gchen_tag: execute_pass_list: level: 2, count: 34.

gchen_tag: execute_pass_list: level: 2, count: 35.

gchen_tag: execute_pass_list: level: 2, count: 36.

gchen_tag: execute_pass_list: level: 2, count: 37.

gchen_tag: execute_pass_list: level: 2, count: 38.

gchen_tag: execute_pass_list: level: 3, count: 0.

gchen_tag: execute_pass_list: level: 3, count: 1.

gchen_tag: execute_pass_list: level: 3, count: 2.

gchen_tag: execute_pass_list: level: 3, count: 3.

gchen_tag: execute_pass_list: level: 3, count: 4.

gchen_tag: execute_pass_list: level: 3, count: 5.

gchen_tag: execute_pass_list: level: 3, count: 6.

gchen_tag: execute_pass_list: level: 3, count: 7.

gchen_tag: execute_pass_list: level: 3, count: 8.

gchen_tag: execute_pass_list: level: 3, count: 9.

gchen_tag: execute_pass_list: level: 3, count: 10.

gchen_tag: execute_pass_list: level: 3, count: 11.

gchen_tag: execute_pass_list: level: 3, count: 12.

gchen_tag: execute_pass_list: level: 3, count: 13.

gchen_tag: execute_pass_list: level: 3, count: 14.

gchen_tag: execute_pass_list: level: 3, count: 15.

gchen_tag: execute_pass_list: level: 3, count: 16.

gchen_tag: execute_pass_list: level: 3, count: 17.

gchen_tag: execute_pass_list: level: 3, count: 18.

gchen_tag: execute_pass_list: level: 3, count: 19.

gchen_tag: execute_pass_list: level: 3, count: 20.

gchen_tag: execute_pass_list: level: 3, count: 21.

gchen_tag: execute_pass_list: level: 3, count: 22.

gchen_tag: execute_pass_list: level: 3, count: 23.

gchen_tag: execute_pass_list: level: 3, count: 24.

gchen_tag: execute_pass_list: level: 3, count: 25.

gchen_tag: execute_pass_list: level: 3, count: 26.

gchen_tag: execute_pass_list: level: 3, count: 27.

gchen_tag: execute_pass_list: level: 3, count: 28.

gchen_tag: execute_pass_list: level: 3, count: 29.

gchen_tag: execute_pass_list: level: 3, count: 30.

gchen_tag: execute_pass_list: level: 3, count: 31.

gchen_tag: can brreak in execute_pass_list.

gchen_tag: call maybe_record_trace_start: idx = 7

gchen_tag: scan_trace in create_cfi_notes count = 0

gchen_tag: scan_trace in create_cfi_notes count = 1

gchen_tag: call maybe_record_trace_start: idx = 3

gchen_tag: scan_trace in create_cfi_notes count = 2

gchen_tag: scan_trace in create_cfi_notes count = 3

gchen_tag: scan_trace in create_cfi_notes count = 4

gchen_tag: call maybe_record_trace_start: idx = 2

gchen_tag: scan_trace in create_cfi_notes count = 5

gchen_tag: scan_trace break.

gchen_tag: call maybe_record_trace_start: idx = 6

gchen_tag: scan_trace in create_cfi_notes count = 6

gchen_tag: call maybe_record_trace_start: idx = 18

gchen_tag: call maybe_record_trace_start need break.
/tmp/ana/namei/namei.c: In function 'SYSC_mknodat':
/tmp/ana/namei/namei.c:40:1: internal compiler error: in
maybe_record_trace_start, at dwarf2cfi.c:2218
 }
 ^
0x6da1a4 maybe_record_trace_start
    ../../gcc-4.9.0/gcc/dwarf2cfi.c:2218
0x6da82a scan_trace
    ../../gcc-4.9.0/gcc/dwarf2cfi.c:2399
0x6dadea create_cfi_notes
    ../../gcc-4.9.0/gcc/dwarf2cfi.c:2557
0x6db8e4 execute_dwarf2_frame
    ../../gcc-4.9.0/gcc/dwarf2cfi.c:2912
0x6dc5e2 execute
    ../../gcc-4.9.0/gcc/dwarf2cfi.c:3408
Please submit a full bug report,

Reply via email to