From patchwork Thu Jan 18 20:32:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 84377 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E21433858014 for ; Thu, 18 Jan 2024 20:34:55 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from omta038.useast.a.cloudfilter.net (omta038.useast.a.cloudfilter.net [44.202.169.37]) by sourceware.org (Postfix) with ESMTPS id 88F373858408 for ; Thu, 18 Jan 2024 20:32:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 88F373858408 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 88F373858408 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=44.202.169.37 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705609938; cv=none; b=pMPgDN5rBF4c81FrPaew7k0qvEU+STxhSM3JBTXoYrstA8czmR314sB+qah7Qkv2KnDaj3ac4Tri0O76azD+jR1C9LvZ8Xd1eym3nIaR9AWdrg23cZbrdiNk9XavRrkZcdDK+mDqU0UEudACeq5zaMycRZdygVQI6CzWeB1thFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705609938; c=relaxed/simple; bh=PV6xTph9+Yww3j/XhT7iObW4wt0SVlsIYqBR0xfrVAY=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=L3FHDtU7FYRUqnsX1i6Z59Fy2HvlbBPEmQ59gH0rSBqFLXX5b81UfBQZgQRJcZLHMNDVkviTw9bySA9u3sNL9YEUM6zdlfijR9UsTmNAWhDMqoP/zftIzSucm3zw15cDdCEnbTn6Oor5pLBynIlv7PkUovlN70HE+2I6Ogs+XDs= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-5006a.ext.cloudfilter.net ([10.0.29.179]) by cmsmtp with ESMTPS id QW09rPaNc9gG6QZ3brf5wg; Thu, 18 Jan 2024 20:32:11 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id QZ3arhZU4im6EQZ3arQziW; Thu, 18 Jan 2024 20:32:10 +0000 X-Authority-Analysis: v=2.4 cv=Qft1A+Xv c=1 sm=1 tr=0 ts=65a98aca a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10 a=dEuoMetlWLkA:10 a=Qbun_eYptAEA:10 a=r7Wzu623eIwutHv_wZcA:9 a=QEXdDO2ut3YA:10 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=y0BdliTsQEXA/j8EZ72MtMshRYY7+zfsOpV1SgTrzmg=; b=vVgqv08EL77gzmQj4WKUpK8Oqs 2L2uRRaozP6jTrbT7WZZnG3sFhDpsFVYYoby0gkxPYD0cIoz+F1NYHBkJkWAtWFPkBx8wqcWfm0dB BLDr7pTRgI93cX0Oi+66cnxfZ; Received: from 97-122-68-157.hlrn.qwest.net ([97.122.68.157]:50746 helo=[192.168.0.21]) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1rQZ3Z-002DCj-36 for gdb-patches@sourceware.org; Thu, 18 Jan 2024 13:32:09 -0700 From: Tom Tromey Date: Thu, 18 Jan 2024 13:32:09 -0700 Subject: [PATCH v2 11/30] Add two new symbol domains MIME-Version: 1.0 Message-Id: <20240118-submit-domain-hacks-2-v2-11-aecab29fa104@tromey.com> References: <20240118-submit-domain-hacks-2-v2-0-aecab29fa104@tromey.com> In-Reply-To: <20240118-submit-domain-hacks-2-v2-0-aecab29fa104@tromey.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.4 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.68.157 X-Source-L: No X-Exim-ID: 1rQZ3Z-002DCj-36 X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-68-157.hlrn.qwest.net ([192.168.0.21]) [97.122.68.157]:50746 X-Source-Auth: tom+tromey.com X-Email-Count: 13 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfGwV9hc8aw4AbPOsN3TNHDg8MPjOZpWIbOhvjwc8u/u4Nxaslc/TCskvnOJZ544hXcBnETWwaYabZk2mtQ1KP88r+ZfL52B/gmPH1PzaVG4KpRwH59od hfWKz2il58yjuRRsHswA3oG5Ow1Hvn8eb1JGPTk2r0w/xPuaOg3PIoxYd4JucqEAygswVTreb9X85R/Jow2vGecmGziVYaHhr5E= X-Spam-Status: No, score=-3022.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org This adds two new symbol domain constants, TYPE_DOMAIN and FUNCTION_DOMAIN. Historically, gdb was a C debugger, and the symbol tables continue to reflect this. In particular, symbol domains match the C language, with VAR_DOMAIN including variables, functions, and types. However, other languages have other approaches to namespacing. And, in any case, it is often useful for other parts of gdb to be able to distinguish between some domains at lookup time, without resorting to examining a symbol's location -- in some situations, this sort of filtering happens too late. Nothing uses these new domains yet, but the idea behind the patch is to separate symbols into more domains and then let the language-specific parts of gdb implement their semantics in terms of these categories. --- gdb/sym-domains.def | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gdb/sym-domains.def b/gdb/sym-domains.def index 251c66fa04b..cea25a5f5b3 100644 --- a/gdb/sym-domains.def +++ b/gdb/sym-domains.def @@ -45,3 +45,12 @@ DOMAIN (LABEL) /* Fortran common blocks. Their naming must be separate from VAR_DOMAIN. They also always use LOC_COMMON_BLOCK. */ DOMAIN (COMMON_BLOCK) + +/* TYPE_DOMAIN is for types and typedefs. Note that tags are not + found here, see STRUCT_DOMAIN above. */ + +DOMAIN (TYPE) + +/* FUNCTION_DOMAIN is for functions and methods. */ + +DOMAIN (FUNCTION)