From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8628 invoked by alias); 2 May 2019 16:43:51 -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 8568 invoked by uid 89); 2 May 2019 16:43:50 -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=HX-Languages-Length:1102 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 16:43:49 +0000 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47420) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMEoE-0006sE-4M; Thu, 02 May 2019 12:43:47 -0400 Received: from [176.228.60.248] (port=3015 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hMEoD-0000BG-6f; Thu, 02 May 2019 12:43:45 -0400 Date: Thu, 02 May 2019 16:43:00 -0000 Message-Id: <83d0l0q02c.fsf@gnu.org> From: Eli Zaretskii To: Kevin Buettner CC: gdb-patches@sourceware.org, simark@simark.ca In-reply-to: <20190502085623.35fa3ebe@f29-4.lan> (message from Kevin Buettner on Thu, 2 May 2019 08:56:23 -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> <83muk4q3rr.fsf@gnu.org> <20190502085623.35fa3ebe@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/msg00044.txt.bz2 > Date: Thu, 2 May 2019 08:56:23 -0700 > From: Kevin Buettner > Cc: gdb-patches@sourceware.org, simark@simark.ca > > > (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 . > > I'm not especially surprised that GDB chose a nearby minimal symbol to > print here. I am surprised at the rather large offsets from that > symbol, however. In the example that I studied last year, I think > that the first offset was 0. In the full disassembly of print_vectorlike, there are many jumps to print_vectorlike.cold.65, with different offsets. The smallest offset is indeed zero. So it looks like print_vectorlike.cold.65 is a heap of all the "cold paths" in print_vectorlike, all of which eventually lead to emacs_abort. The direct call to that is just one such path. Let me know if you need help with building the master branch of Emacs.