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 C64573858D32 for ; Sat, 11 Feb 2023 08:30:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C64573858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gnu.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gnu.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 1pQlH5-00059M-LH; Sat, 11 Feb 2023 03:30:23 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=bpSzM52B8dg7FBW24HJEPmpzhYhCq6zVC4h8tCZb+o8=; b=rua+Uw9O+xoj ikkdIJzVNZXTi8NE5pcBMRUYsXkX0Z3qYZAzlI6lHfISBeTOF3MuYsEPR29SI1SLkLiZkyGiqSkA3 70Bs47kIotvBVL2xRjgLeUGA1ELw3C27V17ZCisj0fLVLgzmM+dwj12/k6G91q11jU6fAG6CyYe/n 05Os4Mp0r9XPlH+pgrfMhvuf5Opuh/crl8j9TOH4Q2kdVdpG2HGDfDI1EMSe9BEdsV7n6matZHIx2 V9v5srLO0QtqcXzZY3Qgr9bxFrPAktHRELm6tz1geNxB0big1ReuMH7uoXKbZaoRD/+kqTdk9guYi w+3t1D1i2ToY/SqS49iaAw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pQlGv-0004uL-NA; Sat, 11 Feb 2023 03:30:23 -0500 Date: Sat, 11 Feb 2023 10:29:43 +0200 Message-Id: <83mt5kk3k8.fsf@gnu.org> From: Eli Zaretskii To: Tom Tromey Cc: gdb-patches@sourceware.org, mark@klomp.org In-Reply-To: <87a61lgcor.fsf@tromey.com> (message from Tom Tromey on Fri, 10 Feb 2023 19:26:12 -0700) Subject: Re: [RFC] Deprecate stabs References: <20230119174156.654402-1-tom@tromey.com> <83r0vqo15g.fsf@gnu.org> <83y1pxmi7b.fsf@gnu.org> <87a61lgcor.fsf@tromey.com> X-Spam-Status: No, score=1.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_BARRACUDACENTRAL,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > From: Tom Tromey > Cc: Mark Wielaard , Eli Zaretskii , > tom@tromey.com > Date: Fri, 10 Feb 2023 19:26:12 -0700 > > >> stabs support was deprecated in GCC 12 [1] and has been removed in GCC > >> 13 [2], which is in pre-release state (stage 4) now. So the above plan > >> actually trails GCC by two releases. So I would actually recommend > >> adding a deprecation notice in GDB 13 and removal in GDB 14. > > Eli> I see no reason to rush with removal of features. Someone could still > Eli> be using them. And users don't necessarily upgrade to the latest > Eli> version of GCC as soon as it is released, they could go on using an > Eli> older version for some years. > > Eli> We should be friendlier to our users than MS and Google. > > I agree with all these principles, but they don't really apply to stabs. > > Stabs have been obsolete since before I began working on gdb. When I > worked at Red Hat, we'd occasionally stumble over some program using > them -- and this always turned out to be by mistake. That is, just user > ignorance, perhaps they read some web page from 1988 saying use -gstabs. You are probably thinking about using GDB on GNU/Linux. By contrast, on MS-Windows -gstabs was the only reasonable debug info type until GCC learned how to produce DWARF2 in PE-COFF images. I think GCC 3.x on Windows couldn't emit DWARF2 debug info. And don't get me started on go32 (a.k.a. DJGPP), where in some cases one still has to use -gcoff. > Similarly, when replying to bugs in bugzilla, more than once some crash > has turned out to be due to stabs being in use. I just tell those > people sorry, nobody works on stabs or even really understands the stabs > format or reader any more. And that is a perfectly valid response, IMO. But removing the support altogether means that it is unavailable even in those cases where it does not cause a crash. Which to me sounds too drastic. > If there is some person who really does use stabs, I don't think they'll > really be harmed by having to use GDB 13. This is based on the assumption that GDB 13 (or any other old version) can be built on any future system without trouble. But that is false, because systems are upgraded and make old versions fail to build, since no one takes care of adapting old versions to new libraries and changes in system calls. So the moment comes soon enough when using an old version of GDB on a contemporary system is no longer an option. > Finally, deprecation serves the purpose of announcing our intent. So will the announcement of the feature being deprecated and unmaintained. It just lets the feature die of natural causes instead of euthanasia. > Maybe someone will step up to maintain this code, in which case we > can keep it. In this scenario, I would be ok with treating it like > the un-maintained *-nat code -- we'll try to keep it building but > testing and fixing it is up to the maintainer. That's what I think we should do: leave the code unmaintained, but not remove it in its entirety. Thanks.