[PATCH] Fixing get_builder() function in dwarf2/read.c

watashiwaher watashiwaher@gmail.com
Mon Jun 15 15:13:01 GMT 2020


Sorry. Previous one maybe not correct

This one is ok:
It is the example of "b main" command.

#0  0x000055ed04b7d710 in dwarf2_cu::get_builder (this=0x55ed06490ac0) at
/usr/include/c++/9/bits/unique_ptr.h:738
#1  new_symbol (die=<optimized out>, type=<optimized out>, cu=<optimized
out>, space=<optimized out>) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:21224
#2  0x000055ed04b87a95 in read_variable (cu=0x55ed05a2d4d0,
die=0x55ed05c435b0) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:13758
#3  process_die (die=0x55ed05c435b0, cu=0x55ed05a2d4d0) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:10193
#4  0x000055ed04b86050 in inherit_abstract_dies (die=0x55ed0618a940,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:13110
#5  0x000055ed04b864a3 in read_func_scope (die=0x55ed0618a940,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:13238
#6  0x000055ed04b87959 in process_die (die=0x55ed0618a940,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:10119
#7  0x000055ed04b8643b in read_func_scope (die=0x55ed0618a730,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:13233
#8  0x000055ed04b87959 in process_die (die=0x55ed0618a730,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:10119
#9  0x000055ed04b8a879 in read_file_scope (die=0x55ed0615f080,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:11095
#10 0x000055ed04b88972 in process_die (die=0x55ed0615f080,
cu=0x55ed05847200) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:10106
#11 0x000055ed04b8b683 in process_full_comp_unit
(pretend_language=<optimized out>, cu=0x55ed05847200) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:9876
#12 process_queue (per_objfile=0x55ed05823e80) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:9116
#13 dw2_do_instantiate_symtab (per_cu=<optimized out>,
per_objfile=per_objfile@entry=0x55ed05823e80,
skip_partial=skip_partial@entry=false) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:2401
#14 0x000055ed04b8d0d4 in dwarf2_psymtab::expand_psymtab
(this=0x55ed05a8f440, objfile=0x55ed0580c5f0) at
/home/bo/binutils-gdb/gdb/dwarf2/read.c:9145
#15 0x000055ed04b6deee in dwarf2_psymtab::read_symtab (this=0x55ed05a8f440,
objfile=0x55ed0580c5f0) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:8993
#16 0x000055ed04c96a66 in psymtab_to_symtab (objfile=0x55ed0580c5f0,
pst=0x55ed05a8f440) at /home/bo/binutils-gdb/gdb/psympriv.h:365
#17 0x000055ed04c99291 in psym_lookup_symbol (objfile=0x55ed0580c5f0,
block_index=<optimized out>, name=0x7ffcf6dca570 "main", domain=VAR_DOMAIN)
at /home/bo/binutils-gdb/gdb/psymtab.c:493
#18 0x000055ed04d18e9b in lookup_symbol_via_quick_fns (domain=VAR_DOMAIN,
name=0x7ffcf6dca570 "main", block_index=GLOBAL_BLOCK,
objfile=0x55ed0580c5f0) at /home/bo/binutils-gdb/gdb/symtab.c:2373
#19 lookup_symbol_in_objfile (objfile=0x55ed0580c5f0,
block_index=GLOBAL_BLOCK, name=0x7ffcf6dca570 "main", domain=VAR_DOMAIN) at
/home/bo/binutils-gdb/gdb/symtab.c:2523
#20 0x000055ed04d190e4 in lookup_symbol_global_or_static_iterator_cb
(objfile=<optimized out>, cb_data=0x7ffcf6dca230) at
/home/bo/binutils-gdb/gdb/symtab.c:2596
#21 0x000055ed04ce2244 in svr4_iterate_over_objfiles_in_search_order
(gdbarch=<optimized out>, cb=0x55ed04d190c0
<lookup_symbol_global_or_static_iterator_cb(objfile*, void*)>,
cb_data=0x7ffcf6dca230,
    current_objfile=0x0) at /home/bo/binutils-gdb/gdb/solib-svr4.c:3254
#22 0x000055ed04d1329e in lookup_global_or_static_symbol
(name=0x7ffcf6dca570 "main", block_index=GLOBAL_BLOCK, objfile=0x0,
domain=VAR_DOMAIN) at /home/bo/binutils-gdb/gdb/objfiles.h:550
#23 0x000055ed04d1890d in lookup_global_symbol (name=name@entry=0x7ffcf6dca570
"main", block=block@entry=0x0, domain=domain@entry=VAR_DOMAIN) at
/home/bo/binutils-gdb/gdb/symtab.c:2692
#24 0x000055ed04b1f428 in cp_lookup_bare_symbol
(langdef=langdef@entry=0x55ed051bae40
<cplus_language_defn>, name=name@entry=0x7ffcf6dca570 "main",
block=block@entry=0x0,
    domain=domain@entry=VAR_DOMAIN, search=1) at
/home/bo/binutils-gdb/gdb/cp-namespace.c:205
#25 0x000055ed04b1ffab in lookup_namespace_scope
(langdef=langdef@entry=0x55ed051bae40
<cplus_language_defn>, name=name@entry=0x7ffcf6dca570 "main",
block=block@entry=0x0,
    domain=domain@entry=VAR_DOMAIN, scope=scope@entry=0x55ed04f43bba "",
scope_len=scope_len@entry=0) at /home/bo/binutils-gdb/gdb/cp-namespace.c:719
#26 0x000055ed04b2003a in cp_lookup_symbol_nonlocal (langdef=0x55ed051bae40
<cplus_language_defn>, name=0x7ffcf6dca570 "main", block=0x0,
domain=VAR_DOMAIN)
    at /home/bo/binutils-gdb/gdb/cp-namespace.c:754
#27 0x000055ed04d18571 in lookup_symbol_aux (name=0x7ffcf6dca570 "main",
match_type=match_type@entry=symbol_name_match_type::FULL,
block=block@entry=0x0,
domain=domain@entry=VAR_DOMAIN,
    language=language@entry=language_cplus,
is_a_field_of_this=is_a_field_of_this@entry=0x0) at
/home/bo/binutils-gdb/gdb/symtab.c:2089
#28 0x000055ed04d186d4 in lookup_symbol_in_language (name=<optimized out>,
block=0x0, domain=VAR_DOMAIN, lang=language_cplus, is_a_field_of_this=0x0)
at /home/bo/binutils-gdb/gdb/symtab.c:1881
#29 0x000055ed04b249a1 in inspect_type (info=0x55ed05933110,
ret_comp=0x55ed05a141a0, finder=<optimized out>, data=<optimized out>) at
/home/bo/binutils-gdb/gdb/cp-support.c:160
#30 0x000055ed04b25031 in replace_typedefs (info=0x55ed05933110,
ret_comp=0x55ed05a141a0, finder=0x0, data=0x0) at
/home/bo/binutils-gdb/gdb/cp-support.c:544
#31 0x000055ed04b2479d in cp_canonicalize_string_full
(string=0x55ed05a18240 "main", finder=0x0, data=0x0) at
/home/bo/binutils-gdb/gdb/cp-support.c:595
#32 0x000055ed04b25456 in cp_canonicalize_string_no_typedefs
(string=string@entry=0x55ed05a18240 "main") at
/home/bo/binutils-gdb/gdb/cp-support.c:619
#33 0x000055ed04c13702 in find_linespec_symbols (state=0x7ffcf6dcae90,
file_symtabs=0x55ed05933180, lookup_name=0x55ed05a18240 "main",
name_match_type=symbol_name_match_type::WILD,
    symbols=0x7ffcf6dcaaf0, minsyms=0x7ffcf6dcab10) at
/home/bo/binutils-gdb/gdb/linespec.c:3897
#34 0x000055ed04c15756 in linespec_parse_basic (parser=0x7ffcf6dcae60) at
/home/bo/binutils-gdb/gdb/linespec.c:1866
#35 parse_linespec (parser=0x7ffcf6dcae60, arg=<optimized out>,
match_type=<optimized out>) at /home/bo/binutils-gdb/gdb/linespec.c:2655
#36 0x000055ed04c16554 in event_location_to_sals (parser=0x7ffcf6dcae60,
location=0x55ed0588ac90) at /home/bo/binutils-gdb/gdb/linespec.c:3150
#37 0x000055ed04c16b4c in decode_line_full
(location=location@entry=0x55ed0588ac90,
flags=flags@entry=1, search_pspace=search_pspace@entry=0x0,
default_symtab=<optimized out>,
    default_line=<optimized out>, canonical=0x7ffcf6dcb1a0,
select_mode=0x0, filter=<optimized out>) at
/home/bo/binutils-gdb/gdb/linespec.c:3229
#38 0x000055ed04aba98d in parse_breakpoint_sals (location=0x55ed0588ac90,
canonical=0x7ffcf6dcb1a0) at /home/bo/binutils-gdb/gdb/breakpoint.c:9027
#39 0x000055ed04ac0bc2 in create_breakpoint (gdbarch=0x55ed05810ba0,
location=0x55ed0588ac90, cond_string=0x0, thread=<optimized out>,
extra_string=0x0, parse_extra=1, tempflag=0,
    type_wanted=bp_breakpoint, ignore_count=0,
pending_break_support=AUTO_BOOLEAN_AUTO, ops=0x55ed051b9960
<bkpt_breakpoint_ops>, from_tty=1, enabled=1, internal=0, flags=0)
    at /home/bo/binutils-gdb/gdb/breakpoint.c:9243
#40 0x000055ed04ac110b in break_command_1 (arg=<optimized out>,
flag=<optimized out>, from_tty=1) at
/home/bo/binutils-gdb/gdb/breakpoint.c:9401
#41 0x000055ed04aed12a in cmd_func (cmd=<optimized out>, args=<optimized
out>, from_tty=<optimized out>) at
/home/bo/binutils-gdb/gdb/cli/cli-decode.c:2113
#42 0x000055ed04d48223 in execute_command (p=<optimized out>,
p@entry=0x55ed05748b20
"b main", from_tty=1) at /home/bo/binutils-gdb/gdb/top.c:655
#43 0x000055ed04b9c625 in command_handler (command=0x55ed05748b20 "b main")
at /home/bo/binutils-gdb/gdb/event-top.c:588
#44 0x000055ed04b9d501 in command_line_handler (rl=...) at
/home/bo/binutils-gdb/gdb/event-top.c:773
#45 0x000055ed04b9ce9c in gdb_rl_callback_handler (rl=0x55ed0588ac10 "b
main") at /usr/include/c++/9/bits/unique_ptr.h:153
#46 0x000055ed04db06e8 in rl_callback_read_char () at
/home/bo/binutils-gdb/readline/readline/callback.c:281
#47 0x000055ed04b9c146 in gdb_rl_callback_read_char_wrapper_noexcept () at
/home/bo/binutils-gdb/gdb/event-top.c:177
#48 0x000055ed04b9cd55 in gdb_rl_callback_read_char_wrapper
(client_data=<optimized out>) at /home/bo/binutils-gdb/gdb/event-top.c:193
#49 0x000055ed04b9c068 in stdin_event_handler (error=<optimized out>,
client_data=0x55ed05748890) at /home/bo/binutils-gdb/gdb/event-top.c:516
#50 0x000055ed04e77f96 in gdb_wait_for_event (block=block@entry=1) at
/home/bo/binutils-gdb/gdbsupport/event-loop.cc:673
#51 0x000055ed04e7820b in gdb_wait_for_event (block=1) at
/home/bo/binutils-gdb/gdbsupport/event-loop.cc:569
#52 gdb_do_one_event () at
/home/bo/binutils-gdb/gdbsupport/event-loop.cc:215
#53 0x000055ed04c40275 in start_event_loop () at
/home/bo/binutils-gdb/gdb/main.c:356
#54 captured_command_loop () at /home/bo/binutils-gdb/gdb/main.c:416
#55 0x000055ed04c421c5 in captured_main (data=<optimized out>) at
/home/bo/binutils-gdb/gdb/main.c:1253
#56 gdb_main (args=<optimized out>) at /home/bo/binutils-gdb/gdb/main.c:1268
#57 0x000055ed04a58970 in main (argc=<optimized out>, argv=<optimized out>)
at /home/bo/binutils-gdb/gdb/gdb.c:32

On Tue, Jun 16, 2020 at 12:06 AM watashiwaher <watashiwaher@gmail.com>
wrote:

> Sure
>
> #0  dwarf2_cu::get_builder (this=<optimized out>) at
> /home/bo/binutils-gdb/gdb/dwarf2/read.c:631
> #1  process_full_comp_unit (pretend_language=<optimized out>,
> cu=<optimized out>) at /home/bo/binutils-gdb/gdb/dwarf2/read.c:9933
> #2  process_queue (per_objfile=0x55aa54d7ae80) at
> /home/bo/binutils-gdb/gdb/dwarf2/read.c:9144
> #3  dw2_do_instantiate_symtab (per_cu=0x55aa54d81ff0,
> per_objfile=0x55aa54d7ae80, skip_partial=<optimized out>) at
> /home/bo/binutils-gdb/gdb/dwarf2/read.c:2429
> #4  0x000055aa53e6d184 in dwarf2_psymtab::expand_psymtab
> (this=0x55aa54fe6440, objfile=0x55aa54d635f0) at
> /home/bo/binutils-gdb/gdb/dwarf2/read.c:9173
> #5  0x000055aa53e4b58e in dwarf2_psymtab::read_symtab
> (this=0x55aa54fe6440, objfile=0x55aa54d635f0) at
> /home/bo/binutils-gdb/gdb/dwarf2/read.c:9021
> #6  0x000055aa53f76df6 in psymtab_to_symtab (objfile=0x55aa54d635f0,
> pst=0x55aa54fe6440) at /home/bo/binutils-gdb/gdb/psympriv.h:365
> #7  0x000055aa53f79621 in psym_lookup_symbol (objfile=0x55aa54d635f0,
> block_index=<optimized out>, name=0x7fff6a737ef0 "main", domain=VAR_DOMAIN)
> at /home/bo/binutils-gdb/gdb/psymtab.c:493
> #8  0x000055aa53ff922b in lookup_symbol_via_quick_fns (domain=VAR_DOMAIN,
> name=0x7fff6a737ef0 "main", block_index=GLOBAL_BLOCK,
> objfile=0x55aa54d635f0) at /home/bo/binutils-gdb/gdb/symtab.c:2373
> #9  lookup_symbol_in_objfile (objfile=0x55aa54d635f0,
> block_index=GLOBAL_BLOCK, name=0x7fff6a737ef0 "main", domain=VAR_DOMAIN) at
> /home/bo/binutils-gdb/gdb/symtab.c:2523
> #10 0x000055aa53ff9474 in lookup_symbol_global_or_static_iterator_cb
> (objfile=<optimized out>, cb_data=0x7fff6a737bb0) at
> /home/bo/binutils-gdb/gdb/symtab.c:2596
> #11 0x000055aa53fc25d4 in svr4_iterate_over_objfiles_in_search_order
> (gdbarch=<optimized out>, cb=0x55aa53ff9450
> <lookup_symbol_global_or_static_iterator_cb(objfile*, void*)>,
> cb_data=0x7fff6a737bb0,
>     current_objfile=0x0) at /home/bo/binutils-gdb/gdb/solib-svr4.c:3254
> #12 0x000055aa53ff362e in lookup_global_or_static_symbol
> (name=0x7fff6a737ef0 "main", block_index=GLOBAL_BLOCK, objfile=0x0,
> domain=VAR_DOMAIN) at /home/bo/binutils-gdb/gdb/objfiles.h:550
> #13 0x000055aa53ff8c9d in lookup_global_symbol (name=name@entry=0x7fff6a737ef0
> "main", block=block@entry=0x0, domain=domain@entry=VAR_DOMAIN) at
> /home/bo/binutils-gdb/gdb/symtab.c:2692
> #14 0x000055aa53dfb5e8 in cp_lookup_bare_symbol (langdef=langdef@entry=0x55aa5449ae40
> <cplus_language_defn>, name=name@entry=0x7fff6a737ef0 "main",
> block=block@entry=0x0,
>     domain=domain@entry=VAR_DOMAIN, search=1) at
> /home/bo/binutils-gdb/gdb/cp-namespace.c:205
> #15 0x000055aa53dfc16b in lookup_namespace_scope (langdef=langdef@entry=0x55aa5449ae40
> <cplus_language_defn>, name=name@entry=0x7fff6a737ef0 "main",
> block=block@entry=0x0,
>     domain=domain@entry=VAR_DOMAIN, scope=scope@entry=0x55aa54223bda "",
> scope_len=scope_len@entry=0) at
> /home/bo/binutils-gdb/gdb/cp-namespace.c:719
> #16 0x000055aa53dfc1fa in cp_lookup_symbol_nonlocal
> (langdef=0x55aa5449ae40 <cplus_language_defn>, name=0x7fff6a737ef0 "main",
> block=0x0, domain=VAR_DOMAIN)
>     at /home/bo/binutils-gdb/gdb/cp-namespace.c:754
> #17 0x000055aa53ff8901 in lookup_symbol_aux (name=0x7fff6a737ef0 "main",
> match_type=match_type@entry=symbol_name_match_type::FULL,
> block=block@entry=0x0, domain=domain@entry=VAR_DOMAIN,
>     language=language@entry=language_cplus,
> is_a_field_of_this=is_a_field_of_this@entry=0x0) at
> /home/bo/binutils-gdb/gdb/symtab.c:2089
> #18 0x000055aa53ff8a64 in lookup_symbol_in_language (name=<optimized out>,
> block=0x0, domain=VAR_DOMAIN, lang=language_cplus, is_a_field_of_this=0x0)
> at /home/bo/binutils-gdb/gdb/symtab.c:1881
> #19 0x000055aa53e00b61 in inspect_type (info=0x55aa54e8a110,
> ret_comp=0x55aa54f6b1a0, finder=<optimized out>, data=<optimized out>) at
> /home/bo/binutils-gdb/gdb/cp-support.c:160
> #20 0x000055aa53e011f1 in replace_typedefs (info=0x55aa54e8a110,
> ret_comp=0x55aa54f6b1a0, finder=0x0, data=0x0) at
> /home/bo/binutils-gdb/gdb/cp-support.c:544
> #21 0x000055aa53e0095d in cp_canonicalize_string_full
> (string=0x55aa54f6f240 "main", finder=0x0, data=0x0) at
> /home/bo/binutils-gdb/gdb/cp-support.c:595
> #22 0x000055aa53e01616 in cp_canonicalize_string_no_typedefs
> (string=string@entry=0x55aa54f6f240 "main") at
> /home/bo/binutils-gdb/gdb/cp-support.c:619
> #23 0x000055aa53ef3a92 in find_linespec_symbols (state=0x7fff6a738810,
> file_symtabs=0x55aa54e8a180, lookup_name=0x55aa54f6f240 "main",
> name_match_type=symbol_name_match_type::WILD,
>     symbols=0x7fff6a738470, minsyms=0x7fff6a738490) at
> /home/bo/binutils-gdb/gdb/linespec.c:3897
> #24 0x000055aa53ef5ae6 in linespec_parse_basic (parser=0x7fff6a7387e0) at
> /home/bo/binutils-gdb/gdb/linespec.c:1866
> #25 parse_linespec (parser=0x7fff6a7387e0, arg=<optimized out>,
> match_type=<optimized out>) at /home/bo/binutils-gdb/gdb/linespec.c:2655
> #26 0x000055aa53ef68e4 in event_location_to_sals (parser=0x7fff6a7387e0,
> location=0x55aa54de1c90) at /home/bo/binutils-gdb/gdb/linespec.c:3150
> #27 0x000055aa53ef6edc in decode_line_full (location=location@entry=0x55aa54de1c90,
> flags=flags@entry=1, search_pspace=search_pspace@entry=0x0,
> default_symtab=<optimized out>,
>     default_line=<optimized out>, canonical=0x7fff6a738b20,
> select_mode=0x0, filter=<optimized out>) at
> /home/bo/binutils-gdb/gdb/linespec.c:3229
> #28 0x000055aa53d96b4d in parse_breakpoint_sals (location=0x55aa54de1c90,
> canonical=0x7fff6a738b20) at /home/bo/binutils-gdb/gdb/breakpoint.c:9027
> #29 0x000055aa53d9cd82 in create_breakpoint (gdbarch=0x55aa54d67ba0,
> location=0x55aa54de1c90, cond_string=0x0, thread=<optimized out>,
> extra_string=0x0, parse_extra=1, tempflag=0,
>     type_wanted=bp_breakpoint, ignore_count=0,
> pending_break_support=AUTO_BOOLEAN_AUTO, ops=0x55aa54499960
> <bkpt_breakpoint_ops>, from_tty=1, enabled=1, internal=0, flags=0)
>     at /home/bo/binutils-gdb/gdb/breakpoint.c:9243
> #30 0x000055aa53d9d2cb in break_command_1 (arg=<optimized out>,
> flag=<optimized out>, from_tty=1) at
> /home/bo/binutils-gdb/gdb/breakpoint.c:9401
> #31 0x000055aa53dc92ea in cmd_func (cmd=<optimized out>, args=<optimized
> out>, from_tty=<optimized out>) at
> /home/bo/binutils-gdb/gdb/cli/cli-decode.c:2113
> #32 0x000055aa540285b3 in execute_command (p=<optimized out>, p@entry=0x55aa54c9fb20
> "b main", from_tty=1) at /home/bo/binutils-gdb/gdb/top.c:655
> #33 0x000055aa53e7c9b5 in command_handler (command=0x55aa54c9fb20 "b
> main") at /home/bo/binutils-gdb/gdb/event-top.c:588
> #34 0x000055aa53e7d891 in command_line_handler (rl=...) at
> /home/bo/binutils-gdb/gdb/event-top.c:773
> #35 0x000055aa53e7d22c in gdb_rl_callback_handler (rl=0x55aa54de1c10 "b
> main") at /usr/include/c++/9/bits/unique_ptr.h:153
> #36 0x000055aa54090a78 in rl_callback_read_char () at
> /home/bo/binutils-gdb/readline/readline/callback.c:281
> #37 0x000055aa53e7c4d6 in gdb_rl_callback_read_char_wrapper_noexcept () at
> /home/bo/binutils-gdb/gdb/event-top.c:177
> #38 0x000055aa53e7d0e5 in gdb_rl_callback_read_char_wrapper
> (client_data=<optimized out>) at /home/bo/binutils-gdb/gdb/event-top.c:193
> #39 0x000055aa53e7c3f8 in stdin_event_handler (error=<optimized out>,
> client_data=0x55aa54c9f890) at /home/bo/binutils-gdb/gdb/event-top.c:516
> #40 0x000055aa54158326 in gdb_wait_for_event (block=block@entry=1) at
> /home/bo/binutils-gdb/gdbsupport/event-loop.cc:673
> #41 0x000055aa5415859b in gdb_wait_for_event (block=1) at
> /home/bo/binutils-gdb/gdbsupport/event-loop.cc:569
> #42 gdb_do_one_event () at
> /home/bo/binutils-gdb/gdbsupport/event-loop.cc:215
> #43 0x000055aa53f20605 in start_event_loop () at
> /home/bo/binutils-gdb/gdb/main.c:356
> #44 captured_command_loop () at /home/bo/binutils-gdb/gdb/main.c:416
> #45 0x000055aa53f22555 in captured_main (data=<optimized out>) at
> /home/bo/binutils-gdb/gdb/main.c:1253
> #46 gdb_main (args=<optimized out>) at
> /home/bo/binutils-gdb/gdb/main.c:1268
> #47 0x000055aa53d34b30 in main (argc=<optimized out>, argv=<optimized
> out>) at /home/bo/binutils-gdb/gdb/gdb.c:32
>
> On Mon, Jun 15, 2020 at 11:58 PM Simon Marchi <simark@simark.ca> wrote:
>
>> On 2020-06-14 1:07 p.m., watashiwaher wrote:
>> > It is a shame. But it seems I can't. Also I am not so strong in dwarf2.
>> > The binary was so huge and so private, that I was so dumb to understand
>> what actually inside binary got wrong :(
>> > All I just noticed, it is that get_builder() calls itself recursively,
>> in such manner:
>> > ptr1 -> ptr2 -> ptr1 -> ptr2 -> ...
>> > And tho I made a small patch that:
>> > 1) eliminate recursion
>> > 2) uses tortoise algorithm to break out of loop
>> > All I can say, that I really had a halt in this function due to the
>> recursion, because I debugged that halt in GDB...
>>
>> Could you at least provide a backtrace of GDB in this endless loop?  Then
>> we
>> can maybe understand what got it that way and build a reproducer from
>> that.
>>
>> Simon
>>
>


More information about the Gdb-patches mailing list