From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id D45F73858C83 for ; Tue, 16 May 2023 16:30:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D45F73858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linaro.org Received: by mail-wr1-x429.google.com with SMTP id ffacd0b85a97d-307c040797bso4950114f8f.3 for ; Tue, 16 May 2023 09:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684254648; x=1686846648; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=yYZZW3l8q9DaVnv2lwM9Qi3fxveQNC7e95LTO8T7pgE=; b=OJPvP7rgWVyvr7IeOXFEbC74y2RIgDO61l3SRQGsPoqKX8tKRLQh3fhJZxv9mmeoj8 kCVteIBYH/5BP9di7CPj+9OFMhRseEDHP7wB6W2UvGndNq4PCA2x3IUxKUc9lEyxI74B /h758Y6CDVQ9DvcB7G6hJYFIDWgoCZ3iJjI1Jn6yovpaFrDr1oSkKvDMxYMIY69TOpQk 4rzUeVMDsZA10RDqxXQ46hzxCkLtZsb+T6hHGDQuv4eeXfHPWMwo482oaOLsrpTXLSfv ERYLXSu0u1wn+AsVSideIDyZvcMcIV6kLWW5casWnm8waEa2tYeiomvHF+EILcdIG5To ymrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684254648; x=1686846648; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yYZZW3l8q9DaVnv2lwM9Qi3fxveQNC7e95LTO8T7pgE=; b=NCnO9bTk3ay2gUiQkJl+nSKqrAZH8a+pcR0lmKmIEEfnzoetR8J60Zi2EaE/mbObrv wOUuIP2UyGTJPj/J5iraA07cGrWorG9F5DHTIYC+Vs9a9TlaJpujNESnVsQDR+ae/Tc+ AWu89u0px/Z6gmTDv/qqDiPAEy30MTpTNH5ED8Fe9ZprJhe8sGT7PUaFopDWaqpVbWUW Gt1SDGe9VwWWnu1UJuCSoNICuTScql4mzH/yq1nb5TSGwUssh6OSIGwagfCWsNyIS+PB MBV3Bx5qHbk2ZOdhL3TJOvN95hukUiGoXicGFJrBSJaWvkWXw6gWdV7GOAGPfU8E7Kld wIzQ== X-Gm-Message-State: AC+VfDxLt8o1XaIANNWHiyKRd+1BzjJJNlEfPLQ+Ayf2OsXK7Th6mzca SZ/G7xVJnq2FO8JcWKxGue1nv+mC+3QxBmnu8a0= X-Google-Smtp-Source: ACHHUZ4lDIkPT1DRb2q2MZCvwfjLgS0shyHemP9fThqoOtN2RkBTJYV/kpXop1Ws3flMj3NBRrNK4A== X-Received: by 2002:adf:e605:0:b0:304:6fef:f375 with SMTP id p5-20020adfe605000000b003046feff375mr26183961wrm.70.1684254647403; Tue, 16 May 2023 09:30:47 -0700 (PDT) Received: from whitegate.warwick.linaro.com ([130.43.161.185]) by smtp.gmail.com with ESMTPSA id z17-20020adff1d1000000b0030922ba6d0csm3094597wro.45.2023.05.16.09.30.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 May 2023 09:30:46 -0700 (PDT) From: Richard Bunt To: gdb-patches@sourceware.org Cc: Richard Bunt Subject: [PATCH v2] gdb: Remove redundant frame switching Date: Tue, 16 May 2023 17:30:31 +0100 Message-Id: <20230516163031.2821834-1-richard.bunt@linaro.org> X-Mailer: git-send-email 2.32.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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 List-Id: 547ce8f00b fixed an issue where dynamic types were not being resolved correctly prior to printing a value. The same issue was discovered when printing the value using mi-mode, which was not covered by the fix. Porting the fix to the mi-mode code path resolved the issue. However, it was discovered that a later patch series, ending 2fc3b8a4cb8, independently fixed the issue in both the cli- and mi-mode code paths, making the original fix unneeded. This commit removes this extra frame switch and adds test coverage for the mi-mode scenario to protect against any future divergence in this area. GDB built with GCC 11. No test suite regressions detected. Compilers: GCC 12.1.0, ACfL 22.1, Intel 22.1; Platforms: x86_64, aarch64. --- gdb/stack.c | 6 ------ gdb/testsuite/gdb.fortran/mixed-lang-stack.exp | 12 ++++++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/gdb/stack.c b/gdb/stack.c index b1b25aa1c7e..e941eb639df 100644 --- a/gdb/stack.c +++ b/gdb/stack.c @@ -742,12 +742,6 @@ print_frame_args (const frame_print_options &fp_opts, = (print_names && fp_opts.print_frame_arguments != print_frame_arguments_none); - /* Temporarily change the selected frame to the given FRAME. - This allows routines that rely on the selected frame instead - of being given a frame as parameter to use the correct frame. */ - scoped_restore_selected_frame restore_selected_frame; - select_frame (frame); - if (func) { const struct block *b = func->value_block (); diff --git a/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp b/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp index 6ab3f8adeba..5fc36f7b95b 100644 --- a/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp +++ b/gdb/testsuite/gdb.fortran/mixed-lang-stack.exp @@ -92,6 +92,18 @@ proc run_tests { lang } { } } + # Check backtrace arguments in MI mode. + set mi_a "\{name=\"a\",value=\"1\"\}" + set mi_b "\{name=\"b\",value=\"2\"\}" + set mi_c "\{name=\"c\",value=\"3\"\}" + set mi_d "\{name=\"d\",value=\"\\(4,5\\)\"\}" + set mi_e "\{name=\"e\",value=\"$e_arg\"\}" + set mi_g "\{name=\"g\",value=\"\\( a = 1.5, b = 2.5 \\)\"\}" + # Hidden argument name changes depending on compiler. + set mi_hidden "\{name=\"\[^\r\n\]+\",value=\"6\"\}" + gdb_test "interpreter-exec mi '-stack-list-arguments --no-frame-filters --all-values 7 7'" \ + "\\^done,stack-args=\\\[frame=\{level=\"7\",args=\\\[$mi_a,$mi_b,$mi_c,$mi_d,$mi_e,$mi_g,$mi_hidden\\\]\}\\\]" + # Check the language for frame #0. gdb_test "info frame" "source language fortran\..*" \ "info frame in frame #0" -- 2.32.0