From patchwork Tue Nov 14 09:41:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aktemur, Tankut Baris" X-Patchwork-Id: 79809 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 EDAAB385828E for ; Tue, 14 Nov 2023 09:41:51 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 2FFB43858D20 for ; Tue, 14 Nov 2023 09:41:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2FFB43858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 2FFB43858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.55.52.88 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954899; cv=none; b=lx3yBYPjXE1gGHoPCN9Q+iIYVD8izwHfp1ZQFznh+Xzjstapk1k015QYdzKIH70BPpt/yT+kPx+Ds21VKMFz1v2xNPdm3+hu03gu8v3VyvNdNO/viXGBL5bQnGWAuPOFj5ZnhYie3f24eXkKyBjDNt6Xg/3ezd7+OrgziO0yPLI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954899; c=relaxed/simple; bh=1vhXDzFUyl1p2jkdAr/y3FjEJFhU6uA8okDYe5kY2+k=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=jHKV8xyh2JtYsDTW5RwlmNc40ijc9vV0ivgTuL9cssjH4tjzxkaDScX3hxcsnj4N1LcmUMvrJR/S8bDxo0FXuGGydzUBwx+GrtlzNX9uSnr60GZ7af6OzHo4nJz0BUpm8qUAS2AZo9AZL+hEkxW7CzowNTZHAm+odmL5LtUVicg= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699954897; x=1731490897; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=1vhXDzFUyl1p2jkdAr/y3FjEJFhU6uA8okDYe5kY2+k=; b=nL970r7+VCuEf06sw9SHgCdXkeOZewWcyutIQLXpNE6a5XK7412bkUGd Yc5AQV6+L13n3Xy/uFftShCZYfIPLmzcgT23sogvLhfDmMYuHIH2fjFKe v+L47h9gqam/CUbc4Q1Re/Nr1oKdvxm+z61Ub4jx65YFYE5rtKrLBZsm1 bvcZU8JasDGlQZTNoBKeuawKqZ/z7NPRd02xVNPBddrmgtyVmYd6T8VcM nOA5PoQXsCxYaR9zTQnChAsqaDwaVf1us3CfmQrqHAIagTG3SFJ2Ez/xa DcnZKoE2nPMysJKu4+L5aySBr/ydioAIlzRyLnylw6Kt8o4YjlrCYcIPw w==; X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="421719207" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="421719207" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:34 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="1096028444" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="1096028444" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:33 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Subject: [PATCH 1/3] gdb: regenerate target-delegates.c Date: Tue, 14 Nov 2023 10:41:20 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-Spam-Status: No, score=-9.0 required=5.0 tests=AC_FROM_MANY_DOTS, BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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 I ran './make-target-delegates.py' and there as one minor difference, where an older style declaration is converted to a newer initialization style. Add this change. --- gdb/target-delegates.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c index c5540c366e4..a27b66df100 100644 --- a/gdb/target-delegates.c +++ b/gdb/target-delegates.c @@ -2291,9 +2291,9 @@ dummy_target::supports_set_thread_options (gdb_thread_options arg0) bool debug_target::supports_set_thread_options (gdb_thread_options arg0) { - bool result; gdb_printf (gdb_stdlog, "-> %s->supports_set_thread_options (...)\n", this->beneath ()->shortname ()); - result = this->beneath ()->supports_set_thread_options (arg0); + bool result + = this->beneath ()->supports_set_thread_options (arg0); gdb_printf (gdb_stdlog, "<- %s->supports_set_thread_options (", this->beneath ()->shortname ()); target_debug_print_gdb_thread_options (arg0); gdb_puts (") = ", gdb_stdlog); From patchwork Tue Nov 14 09:41:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aktemur, Tankut Baris" X-Patchwork-Id: 79810 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 A5D4D385841C for ; Tue, 14 Nov 2023 09:42:06 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 3F2923858425 for ; Tue, 14 Nov 2023 09:41:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3F2923858425 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3F2923858425 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.55.52.88 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954912; cv=none; b=Gs2XZYc96lkPslYFxcF9qL5SZJkZFSmW5eGL3YBVwuderAQK1Nxp+mmD9LarOdHD/viOI8dy2jU6csz1VEq5oLaHw2BeexNb03s10na3H1H2pOBR7XHaUyAZtyugdDUNOZHVX3bbBmiaoXCB8tsxNM5m3Xs4C9lY31E6FD5q8EU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954912; c=relaxed/simple; bh=l7tHL4W+BUh4o58QsNB8nSTguNQAHoidd/6JjPJdy3o=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=wBauNznrmnil85vQ7nm75DctqPESWUImQYgwaVPI6jLrH4JJ57F2wvAS1ayj2d2Jym2Prakdc8dJwn4fB6jGIZ2JIf3yC39kqggbBbOl1m6bd2Gjvn+gNT1X0KwiFock0rdPI8znFueM3D6mAHxtZxnl1NuuCthagtg5FfFMlDE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699954911; x=1731490911; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=l7tHL4W+BUh4o58QsNB8nSTguNQAHoidd/6JjPJdy3o=; b=Wwh/7Tei1ELUaWWwrxYpRaVoDd8mcipm+CXDNj0nVE9AZ6JG/BBu11p0 JZ6/n8Iau19MLhj7Rdj7eHR/pZM59PomvTo5HE+eJuaGkmTE8TyK5PnTi xkklhQdpjFZ3l83tb7dj8wh38f743YOsSgepY2TYKEYvGelqZ3exewheI 223iUTEW5SoJxudDd1nfJtZgvqd/IysVOo8zGUI8XVgsFwN3HFXl6Ep7k 4QPY+IXjHzOrOZqqDKw4GKOvuiSG/+040JvkuDOPaHwOzay9X9nkDZQSB Vbr1TRSKAaRa4zvcUJ70++E6/i/AkQ11lBJvAZT40BC32QRMO1x9jGmXY Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="421719240" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="421719240" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:50 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="1096028465" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="1096028465" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:45 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Subject: [PATCH 2/3] gdb: refactor make-target-delegates.py's ARGTYPES Date: Tue, 14 Nov 2023 10:41:21 +0100 Message-Id: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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 Refactor the ARGTYPES regular expression in make-target-delegates.py to eliminate '.*' for better control on what is matched. This will be helpful in the next patch where we recognize default argument values. Also, simplify the "E" match group, for which the optional SYMBOL becomes redundant because that case can be matched by the "T" group. After applying this patch, running './make-target-delegates.py' does not change anything in 'target-delegates.c'. --- gdb/make-target-delegates.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gdb/make-target-delegates.py b/gdb/make-target-delegates.py index 5bbe7c0b930..fd5f436a43d 100755 --- a/gdb/make-target-delegates.py +++ b/gdb/make-target-delegates.py @@ -73,17 +73,18 @@ METHOD = re.compile( + METHOD_TRAILER ) +# Space-separated symbols. +CP_SYMBOLS = CP_SYMBOL + r"(\s+" + CP_SYMBOL + r")*" + # Regular expression used to dissect argument types. ARGTYPES = re.compile( "^(" + r"(?Penum\s+" + SYMBOL - + r"\s*)(" - + SYMBOL - + ")?" - + r"|(?P.*(enum\s+)?" - + SYMBOL - + r".*(\s|\*|&))" + + r")" + + r"|(?P" + + CP_SYMBOLS + + r"(\s|\*|&)+)" + SYMBOL + ")$" ) From patchwork Tue Nov 14 09:41:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Aktemur, Tankut Baris" X-Patchwork-Id: 79811 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 D99453858C52 for ; Tue, 14 Nov 2023 09:42:10 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 64A6A385C6DA for ; Tue, 14 Nov 2023 09:41:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 64A6A385C6DA Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 64A6A385C6DA Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=192.55.52.88 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954916; cv=none; b=QRLOiFrh3iIUewZLmM5DPkJJKUT73Ew7Z88cpyKYgnoAE2ALE2YTFDOkHfNpu/1KL1s63SAsZ0M7Yn7LS4iSRoXLC2JXCL8+aetbLTLWh3FwkSSYAlsx7kQeyWoaZF0qVin7f91Az11ZeHHq/5E4VKGtMOUqCkkNPYPlNJJxYYU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699954916; c=relaxed/simple; bh=7owyy4VkVpzXhImYt+l+3itu2/IZ9NK98s/UL/lpM60=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=PtK2nrxMK1bp66S63ijOpHPUQ+SaHgS+57McAOgM1gtdRawrAlusXHis3Sx5hD8vp2yIFeU6KbVHLSFy9kpILDfhanuCo9QROuyyjyHLTV9lkFZ21/3N/P1tE6hDgCkS3haPUNNIyDzkEkQfzI6Rktugbohq2HXaYIEifNkSIsQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699954914; x=1731490914; h=from:to:subject:date:message-id:in-reply-to:references: mime-version:content-transfer-encoding; bh=7owyy4VkVpzXhImYt+l+3itu2/IZ9NK98s/UL/lpM60=; b=dtBZFApQobW5DsWE+Y45WpPEwSnCE6iRkycSW4EbHiAzsuuCBYxTQCo7 StREFmP/UOkfTrQtEVy/R5Wh+3mt4+NQtSPghYxTs7YLLeQS/Xjw0Yze3 AcFQ/xzSKbOK4Ww+EaWCLhFkB6zqZNy0bdFq7kr7GRn2WaIqsRAzXDh+7 L38N1DKrA/2zLzRqxs1htv+Vi6n09Y6T55UcYdM5qOI2j7yNGM4CH9/bX SoSKAjoEH2PNLqIwVe+wMD262FebfxZo4sW3+3+6Xf7oX283PmDzancs6 3UkNjQlakB/tKjZ0gCSNNaYxiIjHkysBcE456aZ/p0NaK7CoiwIbbuZja g==; X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="421719248" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="421719248" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="1096028473" X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; d="scan'208";a="1096028473" Received: from gkldtt-dev-004.igk.intel.com (HELO localhost) ([10.123.221.202]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 01:41:51 -0800 From: Tankut Baris Aktemur To: gdb-patches@sourceware.org Subject: [PATCH 3/3] gdb: handle default argument in make-target-delegates.py Date: Tue, 14 Nov 2023 10:41:22 +0100 Message-Id: <476f2068afadd0d56827493eb014a90b41eea887.1699953637.git.tankut.baris.aktemur@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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 The regular expression to dissect argument types in make-target-delegates.py does not recognize default argument values. For example, in target.h, we have virtual void rcmd (const char *command, struct ui_file *output) TARGET_DEFAULT_FUNC (default_rcmd); virtual const char *pid_to_exec_file (int pid) TARGET_DEFAULT_RETURN (NULL); Suppose we change these to the following where we define default values for the arguments. The example for the default argument of "pid" is deliberately chosen to contain a space character. virtual void rcmd (const char *command=0, struct ui_file *output = nullptr) TARGET_DEFAULT_FUNC (default_rcmd); virtual const char *pid_to_exec_file (int pid=sizeof n) TARGET_DEFAULT_RETURN (NULL); After generating the target-delegates.c file via make-target-delegates.py we obtain invalid code: void rcmd (const char *command=0 arg0, struct ui_file *output = nullptr arg1) override; const char *pid_to_exec_file (int pid=sizeof n arg0) override; ... void debug_target::rcmd (const char *command=0 arg0, struct ui_file *output = nullptr arg1) { ... target_debug_print_const_char_pcommand=0 (arg0); ... target_debug_print_struct_ui_file_poutput_=_nullptr (arg1); } ... const char * debug_target::pid_to_exec_file (int pid=sizeof n arg0) { ... target_debug_print_int_pid=sizeof_n (arg0); ... } When the fix in this patch is applied, the default argument values are correctly detected and we obtain the same generated result for target-delegates.c, which is void rcmd (const char *arg0, struct ui_file *arg1) override; const char *pid_to_exec_file (int arg0) override; ... void debug_target::rcmd (const char *arg0, struct ui_file *arg1) { ... target_debug_print_const_char_p (arg0); ... target_debug_print_struct_ui_file_p (arg1); } ... const char * debug_target::pid_to_exec_file (int arg0) { ... target_debug_print_int (arg0); ... } Currently, target.h does not contain any arguments with default values. The goal of this patch is to address potential future and downstream cases; we (Intel) have cases with default argument values. --- gdb/make-target-delegates.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdb/make-target-delegates.py b/gdb/make-target-delegates.py index fd5f436a43d..2758f900c9b 100755 --- a/gdb/make-target-delegates.py +++ b/gdb/make-target-delegates.py @@ -76,6 +76,8 @@ METHOD = re.compile( # Space-separated symbols. CP_SYMBOLS = CP_SYMBOL + r"(\s+" + CP_SYMBOL + r")*" +DEFAULT_ARG_VALUE = r"(\s*\=\s*[^\s].*)?" + # Regular expression used to dissect argument types. ARGTYPES = re.compile( "^(" @@ -86,6 +88,7 @@ ARGTYPES = re.compile( + CP_SYMBOLS + r"(\s|\*|&)+)" + SYMBOL + + DEFAULT_ARG_VALUE + ")$" )