From patchwork Sat Dec 10 16:23:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hannes Domani X-Patchwork-Id: 61755 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 41D643844689 for ; Sat, 10 Dec 2022 16:23:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 41D643844689 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1670689389; bh=Y7pms7mXlY5MqYvvtzMnPeRle45K+1/SZP5TGISO9+A=; h=To:Subject:Date:References:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=IO6QFYA/Vge/P1kCwJacan2ArDu5q6+jJrEYBZsewL2ryQqNjEURhTRez7MqjJKxE rhtJiOc/dLarOZbWYHgeD/wCp9P9/2SPZ355fh4X00mlnPRtijBKkooU3sMms1lvpo LS5nH6WY2ru69CGCHYb/NussOAoK6T5aagU3b5pM= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from sonic303-20.consmr.mail.ir2.yahoo.com (sonic303-20.consmr.mail.ir2.yahoo.com [77.238.178.201]) by sourceware.org (Postfix) with ESMTPS id B901D3844B36 for ; Sat, 10 Dec 2022 16:22:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B901D3844B36 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1670689337; bh=VSt+uoL+0r+Sc4OzFz2XhzSCp6X6Ourf0J0KwsGzd5m=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=k6T5JjAw70y92T+4dumiR+rIR8K6tx2SVzMwVAQJkXsThGV/YlhmI4zYNDUWiFAHVi58Ufo+imlzn/TUacpilYJpHEZwKkjFns2pWERLTKWfXtcH+qYlJ3q7WN7dIfKxBLrOBBHey6qlxHed+k1PZ2mSoCQISatmo81QLuFXqh5b3Z5RFDLZfE6sFPmw1/OXjOvU4OabfTzAPucgBZOa21DyTo82mZA+u7k9AisU+8eeML3KCBN2uetjZsLGi8kYEhSY5N4pEO/X924HhEZfTzJKkA3vvQ+oJvRs92yNVJh8+LDftlzZVynFdI5BZ99k6HxNFbiqOJnvsy+Y3yssEw== X-YMail-OSG: eJpl6LwVM1kEtB_cjGelrWUhDjgIeKAUor7Bg71UAiISuba8BOEYNBWUDnyUVCq 18hKYtCPJ5g1PTuNAjSZs40v8VdMbu24led812d6luyHCMqgqNy7u2dZ5oRNQzFfCqikatNlPc9C MpOjR1fKlcJK8XKACCH7PUBsJsW3oG__AJ8HE_un0x2BwsQKlC41K3cN3HDbO7lKmHNQ0f5Qvlp6 I_sLmJGHI0YZsA5fbJJr6boDOx6K921S7zQ6Azp_XBOJJoc5kVUmsNv3LWbYt4tOUWhnXC3qnqWW I6gG5gqtfQfKMcDH8toLn.Fo3oOLwOK.g5Ez.Z0YjxCpMKT5UlGg7gz_2.UnQy0Eb5u5w66H9mql se1gdk093Bx958NaA70kAupQGQOv4BML6sZxHoB_VaZuHH92OPL3X34OsxrILwigtugWQRmce6SS XOuEWBgKCusivomsWD6bWCHKeuQ5kk.UfP74bNilha1dTp3zNjDt6yE8niXGNJqE5taG5NlDeb.y O3B6T7__ZRvshELzYdlEO7UOwbiYpVsHNyyP7xIXSsn1LOuV43blKvKXvhu0b9LvD7sLtHrjNfSY zTW_6fpgiiOh57YIv.qtAQZsVFr9eg9g9xgvvASZ.zW6prUby7GLAQdc.InbpjZTZBKYSwH1bQrU A_DuD2b3rBXfqrVmGL4MFkgTKPy.sl.jCG5xSDnGhqfcBliE3l1CMJ8ONmpwNF7E6P2eXzbul.Yt _cAfAi80Jtz0txRHLyEwrNCEyhU9WGabGldL2p807VEn6HKlmrrmFfA9ld3f0JWBXh1NCNrilEWd PvTHj3WWNY7KKLeW9ROqoSEIFj1ldjj.W4nJYxBUbmMaBMlN7LxyV5mKpxpE1Cl2SxcAh3D8B_.S D0S_.o5KDQ2e1HTH.azArTmXkJPbFgQZKILw8QY26Cl3q7tAHvBzW9wTE65r3H._MPD1VQKaqW92 ckRdnahi8XZCzVAWx2lCM2w8FPdwpQY.aN4mHlh2zemE6J7wE2sMr44edtoeZm_reYvSHig9k70w rG2QPXZtG8SxvdjJk4ilnPmWv1vOCq1MKoYt09c3ByoZEUGY0Kr9CPrfAp6lblHfbiC0F1HzNdnt U4hvIs2uiEz.hl6usm.fhX8jFtRgMxr_FAY8Lt5W96IhTNqBMo7lOclkBja6HGOO5iQWlbZvmsve gveerqSqPYwl3CZuVgpe5o8CAt65z2rq47ZdxQ91k4jSrZFAS1sC_uxut3lyzN0qGthFuwJB2_Jy kIKXRIlEZ49aHUFANbKL88.3VnNQkdp6pZNx5biCDkCK29etrundUAdVRlV9Wdz_0V8rOtoHaZzd yaCspGbhS.aXJ.0lpKyNqYlvIW0ypVtmsktZM2hVSOR3_cTqJMjYV7QFkhhydxv5BI0JpF6XW58. 11w_AF9sWKA_PQeHH8wVlQaim9OeaAOUZyykYwVkXx55tXoyGLPxEQtrOn4fMZiqUniXzZIKJ1PE Tq8fiKnA3DGBtvvulW.zACPfTBoutiG9dd7NM3LiB8lVpqGvDIPm_OGEJ8PQbSA0oKRx3yv.39Yo I5bxyo.sEMg.M71cHnCg3yOefGAU4o3eA5QNVw7RtKdWN5f.f3iWMw5c2oB9IWqMFbwSbNuWkLgw I0D.qUvAmxsZ7ySSKMJ7wgz3H5qqn9MEZ9S2cjqBSQ34i.BkFLfvrrXgUYH9vSKizfyPOtbPd.tY 8rdac8qYfvDayMRGFV0b8Bw01t8egqrgyqhwgQAwVMpN06l9WfxLmEbed.u25dahTJ_QTFA0B5tw VX9y_toyKtT5HtNaQKjPFGYoQw_eHhYPFklXIBMgD_yGYAoxlIPeC9ilNG481nP20V1Mbb3.CliD lK5gMu8.pHfJgZRWH2i8UEHjJ6RFBaKtSIz2yAPVHp2a5pexNSMH.DgqYIZtkPZFkyCVqBaGOac_ tYwyPnEXWIzoWvK6_jPk94gdXncMUXQF3QWgQ___1SNhhQE_jMyt7GgFBYWvqsxjstOmgUXHEQEa ZBp0yvFqhaCqRD.bBJ32h00i5r.uG4O8PLp3VmlZG6upzMwitsfH22QWQVxFNXxcRTOBgr74Ygi4 uKNd5of33JYGBsO6U9V6kGeBCDYAGYYjW_B35efs8AHv127BnR5A0W7h2fH47ckCP.kFbb2LGOJJ 6zYPdZ0bdrCkrEsW57_YTxaVAy05ZFI4MBq.ScNsH6ROlgJuKfYuU0ezCewelyVL36CfHrbaWuWn Aorbzu24dEuReCrGaecft4mvQwQ-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ir2.yahoo.com with HTTP; Sat, 10 Dec 2022 16:22:17 +0000 Received: by hermes--production-ir2-5795fc58c8-xpjmk (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 3d85437d5a35860ed1c98bc98c221dd7; Sat, 10 Dec 2022 16:22:11 +0000 (UTC) To: gdb-patches@sourceware.org Subject: [PATCH 1/3] Change thread_fsm::return_value to thread_fsm::print_return_values Date: Sat, 10 Dec 2022 17:23:24 +0100 Message-Id: <20221210162326.854-1-ssbssa@yahoo.de> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 X-Antivirus: Avast (VPS 221210-4, 12/10/2022), Outbound message X-Antivirus-Status: Clean References: <20221210162326.854-1-ssbssa.ref@yahoo.de> X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, 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 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-Patchwork-Original-From: Hannes Domani via Gdb-patches From: Hannes Domani Reply-To: Hannes Domani Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" A later patch implements print_return_values also for step_command_fsm, to print the return values of all stepped-over functions. This keeps all of the return value printing code in infrun.c, so print_return_value could be made static. --- gdb/infcmd.c | 12 ++++++------ gdb/infrun.c | 11 ++--------- gdb/infrun.h | 7 ------- gdb/thread-fsm.h | 6 ++---- 4 files changed, 10 insertions(+), 26 deletions(-) diff --git a/gdb/infcmd.c b/gdb/infcmd.c index a27d3577b3a..a5fcf2f8ea5 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -1575,7 +1575,7 @@ print_return_value_1 (struct ui_out *uiout, struct return_value_info *rv) RV points at an object representing the captured return value/type and its position in the value history. */ -void +static void print_return_value (struct ui_out *uiout, struct return_value_info *rv) { if (rv->type == nullptr @@ -1623,7 +1623,7 @@ struct finish_command_fsm : public thread_fsm bool should_stop (struct thread_info *thread) override; void clean_up (struct thread_info *thread) override; - struct return_value_info *return_value () override; + void print_return_values (struct ui_out *uiout) override; enum async_reply_reason do_async_reply_reason () override; }; @@ -1684,13 +1684,13 @@ finish_command_fsm::clean_up (struct thread_info *thread) delete_longjmp_breakpoint (thread->global_num); } -/* Implementation of the 'return_value' FSM method for the finish +/* Implementation of the 'print_return_values' FSM method for the finish commands. */ -struct return_value_info * -finish_command_fsm::return_value () +void +finish_command_fsm::print_return_values (struct ui_out *uiout) { - return &return_value_info; + print_return_value (uiout, &return_value_info); } /* Implementation of the 'async_reply_reason' FSM method for the diff --git a/gdb/infrun.c b/gdb/infrun.c index c67458b30b6..e8ef3677245 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -8490,15 +8490,8 @@ print_stop_event (struct ui_out *uiout, bool displays) } tp = inferior_thread (); - if (tp->thread_fsm () != nullptr - && tp->thread_fsm ()->finished_p ()) - { - struct return_value_info *rv; - - rv = tp->thread_fsm ()->return_value (); - if (rv != nullptr) - print_return_value (uiout, rv); - } + if (tp->thread_fsm () != nullptr) + tp->thread_fsm ()->print_return_values (uiout); } /* See infrun.h. */ diff --git a/gdb/infrun.h b/gdb/infrun.h index c711b9b21cc..79323bcc65f 100644 --- a/gdb/infrun.h +++ b/gdb/infrun.h @@ -225,13 +225,6 @@ extern void print_exited_reason (struct ui_out *uiout, int exitstatus); inferior has stopped. */ extern void print_no_history_reason (struct ui_out *uiout); -/* Print the result of a function at the end of a 'finish' command. - RV points at an object representing the captured return value/type - and its position in the value history. */ - -extern void print_return_value (struct ui_out *uiout, - struct return_value_info *rv); - /* Print current location without a level number, if we have changed functions or hit a breakpoint. Print source line if we have one. If the execution command captured a return value, print it. If diff --git a/gdb/thread-fsm.h b/gdb/thread-fsm.h index 96f37ac9414..575b9a5e48f 100644 --- a/gdb/thread-fsm.h +++ b/gdb/thread-fsm.h @@ -58,11 +58,9 @@ struct thread_fsm function's return value here. */ virtual bool should_stop (struct thread_info *thread) = 0; - /* If this FSM saved a function's return value, you can use this - method to retrieve it. Otherwise, this returns NULL. */ - virtual struct return_value_info *return_value () + /* Print return values saved by this FSM. */ + virtual void print_return_values (struct ui_out *uiout) { - return nullptr; } enum async_reply_reason async_reply_reason ()