From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from alt-proxy28.mail.unifiedlayer.com (alt-proxy28.mail.unifiedlayer.com [74.220.216.123]) by sourceware.org (Postfix) with ESMTPS id 40AB83857C7A for ; Tue, 18 Jan 2022 19:40:24 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 40AB83857C7A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw11.mail.unifiedlayer.com (unknown [10.0.90.126]) by progateway1.mail.pro1.eigbox.com (Postfix) with ESMTP id B1E411003B6E2 for ; Tue, 18 Jan 2022 19:40:23 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id 9uL9nus7Rwm8i9uL9ntQff; Tue, 18 Jan 2022 19:40:23 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=DpSTREz+ c=1 sm=1 tr=0 ts=61e717a7 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=DghFqjY3_ZEA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=EVabvPPXzWwvDwYel_0A:9 a=0bXxn9q0MV6snEgNplNhOjQmxlI=:19 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: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=Y8Zf2k4focs8f5Iaq89grWSlOm1jkuWtmHxp7GzbR0M=; b=a40e6ZHPouaXjVMXk+y4uLEwaK lDYBYkht+pAscqxporiemILNRJe9QRvCHDT4+7b3QjRl7dh0I708L/MQz9LzYC6P6hbNF52OMZ2AE sRqcH/I25s9OdLeGLoOW+Yi9I; Received: from 75-166-134-30.hlrn.qwest.net ([75.166.134.30]:40588 helo=prentzel.Home) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1n9uL8-0015df-2v; Tue, 18 Jan 2022 12:40:22 -0700 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 33/36] Remove breakpoint ops initialization Date: Tue, 18 Jan 2022 12:40:04 -0700 Message-Id: <20220118194007.2853108-34-tom@tromey.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20220118194007.2853108-1-tom@tromey.com> References: <20220118194007.2853108-1-tom@tromey.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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: 75.166.134.30 X-Source-L: No X-Exim-ID: 1n9uL8-0015df-2v X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-134-30.hlrn.qwest.net (prentzel.Home) [75.166.134.30]:40588 X-Source-Auth: tom+tromey.com X-Email-Count: 34 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3031.3 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 autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Jan 2022 19:40:25 -0000 initialize_breakpoint_ops does not do much any more, so remove it in favor of statically-initialize objects. --- gdb/breakpoint.c | 70 +++++++++++++++++++++--------------------------- gdb/breakpoint.h | 2 -- 2 files changed, 31 insertions(+), 41 deletions(-) diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 89893d48b20..3e1883dc3cc 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -234,11 +234,34 @@ static bool is_masked_watchpoint (const struct breakpoint *b); static int strace_marker_p (struct breakpoint *b); +static void bkpt_probe_create_sals_from_location + (struct event_location *location, + struct linespec_result *canonical, + enum bptype type_wanted); +static void tracepoint_probe_create_sals_from_location + (struct event_location *location, + struct linespec_result *canonical, + enum bptype type_wanted); + +struct breakpoint_ops base_breakpoint_ops = +{ + create_sals_from_location_default, + create_breakpoints_sal_default, +}; + /* Breakpoints set on probes. */ -static struct breakpoint_ops bkpt_probe_breakpoint_ops; +static struct breakpoint_ops bkpt_probe_breakpoint_ops = +{ + bkpt_probe_create_sals_from_location, + create_breakpoints_sal_default, +}; /* Tracepoints set on probes. */ -static struct breakpoint_ops tracepoint_probe_breakpoint_ops; +static struct breakpoint_ops tracepoint_probe_breakpoint_ops = +{ + tracepoint_probe_create_sals_from_location, + create_breakpoints_sal_default, +}; /* The structure to be used in regular breakpoints. */ struct ordinary_breakpoint : public base_breakpoint @@ -11619,12 +11642,6 @@ breakpoint::decode_location (struct event_location *location, internal_error_pure_virtual_called (); } -struct breakpoint_ops base_breakpoint_ops = -{ - create_sals_from_location_default, - create_breakpoints_sal_default, -}; - /* Default breakpoint_ops methods. */ void @@ -12240,7 +12257,12 @@ static_marker_tracepoint::decode_location (struct event_location *location, error (_("marker %s not found"), static_trace_marker_id.c_str ()); } -static struct breakpoint_ops strace_marker_breakpoint_ops; +/* Static tracepoints with marker (`-m'). */ +static struct breakpoint_ops strace_marker_breakpoint_ops = +{ + strace_marker_create_sals_from_location, + strace_marker_create_breakpoints_sal, +}; static int strace_marker_p (struct breakpoint *b) @@ -14356,34 +14378,6 @@ breakpoint_free_objfile (struct objfile *objfile) loc->symtab = NULL; } -void -initialize_breakpoint_ops (void) -{ - static int initialized = 0; - - struct breakpoint_ops *ops; - - if (initialized) - return; - initialized = 1; - - /* Probe breakpoints. */ - ops = &bkpt_probe_breakpoint_ops; - *ops = base_breakpoint_ops; - ops->create_sals_from_location = bkpt_probe_create_sals_from_location; - - /* Probe tracepoints. */ - ops = &tracepoint_probe_breakpoint_ops; - *ops = base_breakpoint_ops; - ops->create_sals_from_location = tracepoint_probe_create_sals_from_location; - - /* Static tracepoints with marker (`-m'). */ - ops = &strace_marker_breakpoint_ops; - *ops = base_breakpoint_ops; - ops->create_sals_from_location = strace_marker_create_sals_from_location; - ops->create_breakpoints_sal = strace_marker_create_breakpoints_sal; -} - /* Chain containing all defined "enable breakpoint" subcommands. */ static struct cmd_list_element *enablebreaklist = NULL; @@ -14398,8 +14392,6 @@ _initialize_breakpoint () { struct cmd_list_element *c; - initialize_breakpoint_ops (); - gdb::observers::solib_unloaded.attach (disable_breakpoints_in_unloaded_shlib, "breakpoint"); gdb::observers::free_objfile.attach (disable_breakpoints_in_freed_objfile, diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h index 1c9d9159806..71b0acdc399 100644 --- a/gdb/breakpoint.h +++ b/gdb/breakpoint.h @@ -1382,8 +1382,6 @@ extern void tbreak_command (const char *, int); extern struct breakpoint_ops base_breakpoint_ops; -extern void initialize_breakpoint_ops (void); - /* Arguments to pass as context to some catch command handlers. */ #define CATCH_PERMANENT ((void *) (uintptr_t) 0) #define CATCH_TEMPORARY ((void *) (uintptr_t) 1) -- 2.31.1