From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129219 invoked by alias); 2 May 2019 15:23:43 -0000 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 Received: (qmail 129206 invoked by uid 89); 2 May 2019 15:23:43 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: eggs.gnu.org Received: from eggs.gnu.org (HELO eggs.gnu.org) (209.51.188.92) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 02 May 2019 15:23:41 +0000 Received: from fencepost.gnu.org ([2001:470:142:3::e]:45592) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMDYi-0007St-3M; Thu, 02 May 2019 11:23:40 -0400 Received: from [176.228.60.248] (port=2064 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hMDYh-0006lc-Kr; Thu, 02 May 2019 11:23:39 -0400 Date: Thu, 02 May 2019 15:23:00 -0000 Message-Id: <83muk4q3rr.fsf@gnu.org> From: Eli Zaretskii To: Kevin Buettner CC: gdb-patches@sourceware.org, simark@simark.ca In-reply-to: <20190502003849.6759d177@f29-4.lan> (message from Kevin Buettner on Thu, 2 May 2019 00:38:49 -0700) Subject: Re: The 'cold' function attribute and GDB References: <83wojaovbp.fsf@gnu.org> <077aee8c-7bef-bad6-a6a1-e69f116cc18b@simark.ca> <20190501195113.69aea752@f30-4.lan> <20190502003849.6759d177@f29-4.lan> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-IsSubscribed: yes X-SW-Source: 2019-05/txt/msg00038.txt.bz2 > Date: Thu, 2 May 2019 00:38:49 -0700 > From: Kevin Buettner > Cc: gdb-patches@sourceware.org, Simon Marchi > > Can you show me what is printed for the following commands? > > disassemble print_vectorlike > x/3i print_vectorlike > b print_vectorlike > > For the disassemble command, I expect both ranges to be displayed. > The x and b commands should print insns / set a breakpoint on the entry > pc (which should NOT be the cold address) of the function. If one or more > of these things aren't happening, then something is going wrong > somewhere. Here: (gdb) disassemble /m print_vectorlike Dump of assembler code for function print_vectorlike: Address range 0x11d6521 to 0x11d81d6: 1367 { 0x011d6521 <+0>: push %ebp 0x011d6522 <+1>: mov %esp,%ebp 0x011d6524 <+3>: push %edi 0x011d6525 <+4>: push %esi 0x011d6526 <+5>: push %ebx 0x011d6527 <+6>: sub $0x7c,%esp [...] Address range 0x12e1ce5 to 0x12e1f3b: 1824 emacs_abort (); 0x012e1f36 <+593>: call 0x12e7b40 End of assembler dump. (gdb) x/3i print_vectorlike 0x11d6521 : push %ebp 0x11d6522 : mov %esp,%ebp 0x11d6524 : push %edi (gdb) break print_vectorlike Breakpoint 1 at 0x11d6521: file print.c, line 1367. Seems to be according to your expectations. Btw, if I use a source line number whose code is in the 'cold' area, then I see this: (gdb) break print.c:1824 Breakpoint 1 at 0x12e1f36: file print.c, line 1824. (gdb) info line print.c:1824 Line 1824 of "print.c" starts at address 0x12e1f36 and ends at 0x12e1f3b . Thanks.