From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pj1-x1042.google.com (mail-pj1-x1042.google.com [IPv6:2607:f8b0:4864:20::1042]) by sourceware.org (Postfix) with ESMTPS id 52099383F849 for ; Mon, 15 Jun 2020 15:13:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 52099383F849 Received: by mail-pj1-x1042.google.com with SMTP id s88so7273479pjb.5 for ; Mon, 15 Jun 2020 08:13:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=//sbToaagogXHYGf2qAi1wOs5gKrT7Bp7jknYz46F2U=; b=IW4/utuLJGtY+ZbVTkWEkTFSMtjnDmizzUHAJl5W5E6zU/j41EsLzrMS9oHyE/u1in amo/c/nXwlEu3/TBLbtr76I1P34qjaoYGRULXVniJuyLaz+VrwKRkKyO6IXfWEVTIGx0 6m+SElvgbC9nVKSJyJzDaW7D10BU075ok9wi07J0/BckIdIeeTftsLIVtauQUSE+P8nJ il8MaYXTums7256RSRMsS6KLM0liUQA92QMqRBOwksy01RbDr59FuUJZNOhV6mnAHkET oLBdF82IjaYTBiySZ0AfTIaXHPHmCw39gmZy2K9EcrL4gQv4lQ1W1aU8N2pYX1/wr4X0 4AiA== X-Gm-Message-State: AOAM530ltaTI0tcbcwgDQoNg5nfDDBOKmeNgTXZH0vxEmjFWt4pq+p01 /NIScHnE1DDl+dvq2QEWtJTzYi0N2Xvv/58R3Y/vjQcE X-Google-Smtp-Source: ABdhPJw/YXoiarMttKzXfMUA9XzBuqHRc9E4/UpbUdavm/YL7ayWJGcpJrOMeRWSidxaTUTjgcBYm6horrn70YM9eTM= X-Received: by 2002:a17:902:bc84:: with SMTP id bb4mr23797050plb.55.1592233992312; Mon, 15 Jun 2020 08:13:12 -0700 (PDT) MIME-Version: 1.0 References: <95d33ff4-2215-d9f1-2093-2f75bb48cd99@simark.ca> In-Reply-To: From: watashiwaher Date: Tue, 16 Jun 2020 00:13:01 +0900 Message-ID: Subject: Re: [PATCH] Fixing get_builder() function in dwarf2/read.c To: Simon Marchi Cc: gdb-patches@sourceware.org X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jun 2020 15:13:17 -0000 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=, type=, cu=, space=) 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=, 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=, 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=, 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=, cb_data=0x7ffcf6dca230) at /home/bo/binutils-gdb/gdb/symtab.c:2596 #21 0x000055ed04ce2244 in svr4_iterate_over_objfiles_in_search_order (gdbarch=, cb=0x55ed04d190c0 , 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 , 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 , 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 , 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=, 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=, data=) 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=, match_type=) 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=, default_line=, canonical=0x7ffcf6dcb1a0, select_mode=0x0, filter=) 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=, extra_string=0x0, parse_extra=1, tempflag=0, type_wanted=bp_breakpoint, ignore_count=0, pending_break_support=AUTO_BOOLEAN_AUTO, ops=0x55ed051b9960 , 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=, flag=, from_tty=1) at /home/bo/binutils-gdb/gdb/breakpoint.c:9401 #41 0x000055ed04aed12a in cmd_func (cmd=, args=, from_tty=) at /home/bo/binutils-gdb/gdb/cli/cli-decode.c:2113 #42 0x000055ed04d48223 in execute_command (p=, 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=) at /home/bo/binutils-gdb/gdb/event-top.c:193 #49 0x000055ed04b9c068 in stdin_event_handler (error=, 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=) at /home/bo/binutils-gdb/gdb/main.c:1253 #56 gdb_main (args=) at /home/bo/binutils-gdb/gdb/main.c:1268 #57 0x000055ed04a58970 in main (argc=, argv=) at /home/bo/binutils-gdb/gdb/gdb.c:32 On Tue, Jun 16, 2020 at 12:06 AM watashiwaher wrote: > Sure > > #0 dwarf2_cu::get_builder (this=) at > /home/bo/binutils-gdb/gdb/dwarf2/read.c:631 > #1 process_full_comp_unit (pretend_language=, > cu=) 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=) 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=, 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=, cb_data=0x7fff6a737bb0) at > /home/bo/binutils-gdb/gdb/symtab.c:2596 > #11 0x000055aa53fc25d4 in svr4_iterate_over_objfiles_in_search_order > (gdbarch=, cb=0x55aa53ff9450 > , > 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 > , 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 > , 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 , 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=, > 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=, data=) 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=, > match_type=) 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=, > default_line=, canonical=0x7fff6a738b20, > select_mode=0x0, filter=) 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=, > extra_string=0x0, parse_extra=1, tempflag=0, > type_wanted=bp_breakpoint, ignore_count=0, > pending_break_support=AUTO_BOOLEAN_AUTO, ops=0x55aa54499960 > , 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=, > flag=, from_tty=1) at > /home/bo/binutils-gdb/gdb/breakpoint.c:9401 > #31 0x000055aa53dc92ea in cmd_func (cmd=, args= out>, from_tty=) at > /home/bo/binutils-gdb/gdb/cli/cli-decode.c:2113 > #32 0x000055aa540285b3 in execute_command (p=, 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=) at /home/bo/binutils-gdb/gdb/event-top.c:193 > #39 0x000055aa53e7c3f8 in stdin_event_handler (error=, > 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=) at > /home/bo/binutils-gdb/gdb/main.c:1253 > #46 gdb_main (args=) at > /home/bo/binutils-gdb/gdb/main.c:1268 > #47 0x000055aa53d34b30 in main (argc=, argv= out>) at /home/bo/binutils-gdb/gdb/gdb.c:32 > > On Mon, Jun 15, 2020 at 11:58 PM Simon Marchi 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 >> >