From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 835D73858D20 for ; Mon, 11 Mar 2024 20:17:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 835D73858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 835D73858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710188251; cv=none; b=WV3ugKCa3rUpjXG728a+/XG8F/heW8qMrMe3xV1pGasrsbE2oY3v4bnkPTjwl5S1NnXoW6Bf0yQHMkMqXuHvy4Lhzm87dzGb+4j/ZSmvc9ZZdss4aQfIy5+CSxR/gzskim6VE6iskcuCmbK0uydyeaI6/WzB5p+eFExzfQlVxQk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1710188251; c=relaxed/simple; bh=T7ELCAuS/L53ISsPNyTr0lyINfbz9yetaeu5UhUF2mw=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=Cdhl2a2b4vMEG0Bb+cgBOlE9XjA1aivGIpIhMpky473dLVjipz/zhBUydpdwFBVpb61X/t/CAcjFJvQCredGFrXIq5J7vUH8YVR7rHohYUDtSMBHRYSq+VPbQwfUQNvR24LUqwv4ZunS8JUhTWznIWqmuED/caZwWpZFb87Ckdo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rjm5N-0003PK-Uy for gdb@sourceware.org; Mon, 11 Mar 2024 16:17:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:In-Reply-To:Date:To:From: Subject; bh=6mlbyDkdBufQflIWsxcMLWa62dwLilh97I2UhA4/ojk=; b=sNOfpkmdtwrAmADGV EIU96DPvUEIi3xnUMS0DgGaEnDcVaNUIzwjlqjmg2iLb1UEXCCnlfygVusQtEdrWLI3mtDdtnn0yr ZRATWxzXqg4EZ+FIGgTvGbhIV+6tszdbFEY7thi8vsc+jtm5khLvceND45kxlY6DsTWtmtrZ7GxQN ghbEnzTncHrsw1lGcVHZucjQ42REqwtLgkBVraE/fJhllHkwNuZinooaTrgK1xCQMjKMV6XSwCoB+ JDaCd8Wm3+3CpcsB8y0hMeVe5yK+7oFOhBQ1BRmEnRmfBynM1AyUWPQ6ArFCGWj6YRh0bzeO3EFYQ CgN4BAga8fdr4cW+Q==; Message-ID: <5bda356936aebae24db2bfc2d091d61224de5890.camel@gnu.org> Subject: Re: GDB 13.2: breakpoint at wrong line after unrelated change From: Paul Smith Reply-To: psmith@gnu.org To: gdb@sourceware.org Date: Mon, 11 Mar 2024 16:17:24 -0400 In-Reply-To: <06c7a0d1-6ba7-440a-a21a-616ed05cb5b0@simark.ca> References: <7c064cc544bfe453a250ca58b4d5ebd97919178d.camel@gnu.org> <4c3f986c-a562-4506-b382-c754678abcff@simark.ca> <7fcf12fbd4a106af488168d0e740e0d8ca9b3022.camel@gnu.org> <06c7a0d1-6ba7-440a-a21a-616ed05cb5b0@simark.ca> Autocrypt: addr=psmith@gnu.org; prefer-encrypt=mutual; keydata=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 Organization: GNU's Not UNIX! Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.50.4 (by Flathub.org) MIME-Version: 1.0 X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Mon, 2024-03-11 at 15:50 -0400, Simon Marchi wrote: > > FYI I'm switching to the fmt library (if you're familiar with that) >=20 > Yes, I love it, we should use it in GDB :). It's very nice for portable programming, but I really hope that GCC will add __attribute__ support for it like they have for printf() formatting. The errors generated are incomprehensible (basically you get pages of error messages and the only useful thing is you get a filename and linenumber to look at) and it has one significant failing: it will throw a compile error if you have _too few_ arguments for the formatting string, or the argument can't be formatted, but it is completely silent if you have _too many_ arguments for the formatting string. In the abstract this makes sense since unlike with varargs it's quite possible to have extra arguments that are not formatted... but in real life I expect that capability is virtually never used, and the lack of this warning makes porting very tricky (if you forget to switch a "%s" to a "{}", the compiler will not warn you). > If you never call it, if never generates code, so it kinda make sense > that it doesn't change anything. Yes agreed. > > If I have some invocation of criticalError() somewhere in the > > translation unit, I get this problem.=C2=A0 I haven't checked moving it > > around to see if it needs to be invoked before/after the "problem" > > method in the TU to get this behavior. Just to try it I put only one invocation near the start of the TU, then only one invocation near the end of the TU. I got the problem in both cases, so that's kind of odd. Maybe. > Ok, so clearly GDB failed to analyze the prologue.=C2=A0 Which is weird > because the two functions are identical (modulo the addresses). Yes! Very weird. > To get to the bottom of this, you (or someone else) would need to > debug GDB itself. OK. I will look into this but it may take a few days. The first thing I'll do is build the latest release of GDB and see if it makes a difference. I'm hopeful that the problem is in GDB not GCC or binutils since those are harder to change, but we'll see. Thanks for the conversation Simon I'll let you know where I get, with the goal of filing a bug if I can repro with the latest code and can get some idea of what's going on.