From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.120]) by sourceware.org (Postfix) with ESMTPS id A00EC3858D32 for ; Mon, 18 Sep 2023 16:48:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A00EC3858D32 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695055683; x=1726591683; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=xz0jHl5tishxcMcdEweuJyjUQjXvUoeWv2mOSnbrNlA=; b=k/h8HC+g6LRZuWsT33SYLjy/kA12d8UDHCYtOlCEqi8c5bnC7dvC8udl rv7H54O/COB9syD9a7coIDID3alzFXlKBUeIV8JAp0DTs597Jejzxe0IK mlTLOIQ8amtstLCmMdc7QDj/QnY8oVSArXvI9nXR5eR4dEKEaV9yoouhJ Vewsp86YD3JtzifhEkq67pcI32WdG/a9+KxYGeGzc9ZX899yzwLiC1Kn0 ONsinxRdtOxKlmedj0I8tbEUPKMBtX99mJ+1NMYAt1WktQWameJp6+v9O ng08c2P8DWqH/uKQvTgXTusLXB5ZbTtzBwgT+OraU+ix0Nd/v1aA9M7vv A==; X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="378621084" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="378621084" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 09:48:01 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10837"; a="861136994" X-IronPort-AV: E=Sophos;i="6.02,156,1688454000"; d="scan'208";a="861136994" Received: from abijaz-mobl2.ger.corp.intel.com (HELO localhost) ([10.252.37.223]) by fmsmga002-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2023 09:47:59 -0700 From: Abdul Basit Ijaz To: gdb-patches@sourceware.org Cc: pedro@palves.net, philippe.waroquiers@skynet.be, aburgess@redhat.com, tankut.baris.aktemur@intel.com, christina.schimpe@intel.com, abdul.b.ijaz@intel.com Subject: [PATCH v3 0/2] add annotation in 'info locals' command for variables shadowing case Date: Mon, 18 Sep 2023 18:47:36 +0200 Message-Id: <20230918164738.17082-1-abdul.b.ijaz@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE,TXREP 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: From: "Ijaz, Abdul B" Hi All, For the variable shadowing case, these V3 patches add the annotation "shadowed" and location information to the shadowed variables so that it is easier for the end user to identify which variable was shadowed. V2 of this series can be found at: https://sourceware.org/pipermail/gdb-patches/2021-December/184675.html Latest feedback for the changes: https://sourceware.org/pipermail/gdb-patches/2022-January/184822.html https://sourceware.org/pipermail/gdb-patches/2022-January/184819.html V1 series: https://sourceware.org/pipermail/gdb-patches/2021-July/181174.html Patch#1 updates "info locals" command and Path #2 is for the mi commands '-stack-list-locals' and '-stack-list-variables'. Changes since V2: * Update the way shadowed annotation as per the feedback and also now print the location info as well for such variables. * Add variable shadowing test for Ada language. * Rebase patches to current master. Please verify if "info locals" command output for shadowed variables looks fine now. Location information is added only to the shadowed variables and not by default. This change now prints "shadowed" only to the outermost scope variables and for the innermost variable, only the location is printed. GDB Testsuite is executed on Ubuntu22.04 OS using gcc64/gcc32/gdbserver-native/native-extended-gdbserver and there is no regression seen with this change. Also, to validate file_path handling on Windows command line, manually tested var_shadowing.c test just to confirm if file name extraction works fine on Windows for "info locals" command, which has also shown file name as expected. Thanks & Best Regards, Abdul Basit Ijaz, Abdul B (2): gdb: add annotation in 'info locals' command for variables shadowing case gdb: add shadowed field in '-stack-list-locals/variables' mi commands gdb/doc/gdb.texinfo | 26 ++++ gdb/mi/mi-cmd-stack.c | 73 ++++++++- gdb/printcmd.c | 14 +- gdb/stack.c | 67 ++++++++- gdb/stack.h | 3 +- gdb/testsuite/gdb.ada/var_shadowing.exp | 38 +++++ .../gdb.ada/var_shadowing/var_shadowing.adb | 30 ++++ gdb/testsuite/gdb.base/var-shadowing.c | 49 ++++++ gdb/testsuite/gdb.base/var-shadowing.exp | 90 +++++++++++ gdb/testsuite/gdb.base/var-shadowing2.c | 16 ++ gdb/testsuite/gdb.mi/mi-var-shadowing.c | 48 ++++++ gdb/testsuite/gdb.mi/mi-var-shadowing.exp | 141 ++++++++++++++++++ gdb/testsuite/gdb.rust/var_reuse.exp | 32 ++++ gdb/testsuite/gdb.rust/var_reuse.rs | 20 +++ gdb/tracepoint.c | 3 +- gdb/value.h | 4 +- 16 files changed, 639 insertions(+), 15 deletions(-) create mode 100644 gdb/testsuite/gdb.ada/var_shadowing.exp create mode 100644 gdb/testsuite/gdb.ada/var_shadowing/var_shadowing.adb create mode 100755 gdb/testsuite/gdb.base/var-shadowing.c create mode 100755 gdb/testsuite/gdb.base/var-shadowing.exp create mode 100644 gdb/testsuite/gdb.base/var-shadowing2.c create mode 100644 gdb/testsuite/gdb.mi/mi-var-shadowing.c create mode 100644 gdb/testsuite/gdb.mi/mi-var-shadowing.exp create mode 100755 gdb/testsuite/gdb.rust/var_reuse.exp create mode 100755 gdb/testsuite/gdb.rust/var_reuse.rs -- 2.34.1 Intel Deutschland GmbH Registered Address: Am Campeon 10, 85579 Neubiberg, Germany Tel: +49 89 99 8853-0, www.intel.de Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva Chairperson of the Supervisory Board: Nicole Lau Registered Office: Munich Commercial Register: Amtsgericht Muenchen HRB 186928