From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8099 invoked by alias); 30 Nov 2012 15:09:13 -0000 Received: (qmail 8086 invoked by uid 22791); 30 Nov 2012 15:09:11 -0000 X-SWARE-Spam-Status: No, hits=-7.1 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mga02.intel.com (HELO mga02.intel.com) (134.134.136.20) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 30 Nov 2012 15:09:07 +0000 Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP; 30 Nov 2012 07:09:07 -0800 X-ExtLoop1: 1 Received: from irsmsx104.ger.corp.intel.com ([163.33.3.159]) by orsmga001.jf.intel.com with ESMTP; 30 Nov 2012 07:09:05 -0800 Received: from irsmsx152.ger.corp.intel.com (163.33.192.66) by IRSMSX104.ger.corp.intel.com (163.33.3.159) with Microsoft SMTP Server (TLS) id 14.1.355.2; Fri, 30 Nov 2012 15:09:03 +0000 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.95]) by IRSMSX152.ger.corp.intel.com ([169.254.6.36]) with mapi id 14.01.0355.002; Fri, 30 Nov 2012 15:09:03 +0000 From: "Metzger, Markus T" To: Tom Tromey CC: "gdb-patches@sourceware.org" , "markus.t.metzger@gmail.com" , "jan.kratochvil@redhat.com" , "palves@redhat.com" , "kettenis@gnu.org" Subject: RE: [patch v4 03/13] cli, btrace: add btrace cli Date: Fri, 30 Nov 2012 15:09:00 -0000 Message-ID: References: <1354013351-14791-1-git-send-email-markus.t.metzger@intel.com> <1354013351-14791-4-git-send-email-markus.t.metzger@intel.com> <87k3t6btlo.fsf@fleche.redhat.com> In-Reply-To: <87k3t6btlo.fsf@fleche.redhat.com> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-11/txt/msg00933.txt.bz2 > -----Original Message----- > From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-owner@sourcewa= re.org] On Behalf Of Tom Tromey > Sent: Tuesday, November 27, 2012 10:54 PM > To: Metzger, Markus T > Cc: gdb-patches@sourceware.org; markus.t.metzger@gmail.com; jan.kratochvi= l@redhat.com; palves@redhat.com; > kettenis@gnu.org > Subject: Re: [patch v4 03/13] cli, btrace: add btrace cli > Importance: High >=20 > >>>>> "Markus" =3D=3D markus t metzger write= s: >=20 > Markus> +/* Print the function containing the btrace list item @trace. */ > Markus> +static void > Markus> +do_btrace_list_function (struct btrace_block *trace) > Markus> +{ > Markus> + struct symbol *symbol =3D find_pc_function (trace->begin); > Markus> + > Markus> + ui_out_text (current_uiout, " in "); > Markus> + if (symbol) > Markus> + ui_out_field_string (current_uiout, "function", > Markus> + SYMBOL_PRINT_NAME (symbol)); > Markus> + else > Markus> + { > Markus> + struct minimal_symbol *msymbol =3D > Markus> + lookup_minimal_symbol_by_pc (trace->begin); > Markus> + > Markus> + if (msymbol) > Markus> + ui_out_field_string (current_uiout, "function", > Markus> + SYMBOL_PRINT_NAME (msymbol)); > Markus> + else > Markus> + ui_out_text (current_uiout, "??"); > Markus> + } > Markus> + > Markus> + ui_out_text (current_uiout, " ()"); >=20 > I think these parens will look strange if you try it with C++ code. > There, the argument types are part of the symbol name. Thanks. The easiest thing for me to do would be to only print "()" if lang !=3D lan= guage_cplus. Since the demangler prints the parameters right after the func= tion name, though, I would also remove the space before "()" for other lang= uages. The backtrace command uses cp_remove_params () to get the name for a C++ fu= nction. Since I do not have a frame and thus cannot print the parameters, I= think I should at least print the parameter types. I would thus print the = function name returned by cp_remove_params (), a space, and the parameter l= ist I obtained via strstr (demangled_name, "("). This should strip the retu= rn type but would leave qualifiers. Actually, I have never seen the return = type to be printed. What would you prefer? Thanks, Markus. Intel GmbH Dornacher Strasse 1 85622 Feldkirchen/Muenchen, Deutschland Sitz der Gesellschaft: Feldkirchen bei Muenchen Geschaeftsfuehrer: Christian Lamprechter, Hannes Schwaderer, Douglas Lusk Registergericht: Muenchen HRB 47456 Ust.-IdNr./VAT Registration No.: DE129385895 Citibank Frankfurt a.M. (BLZ 502 109 00) 600119052