From patchwork Wed Aug 21 16:53:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom de Vries X-Patchwork-Id: 96250 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 2FD2E385DDC2 for ; Wed, 21 Aug 2024 16:52:47 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by sourceware.org (Postfix) with ESMTPS id 5730D385700F for ; Wed, 21 Aug 2024 16:52:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5730D385700F Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5730D385700F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=195.135.223.130 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724259140; cv=none; b=UqEBBiysJ7K0mwDrXGEj0lye41slwTJmEwpKkUBtpa4Yc+3v9/Ks820d9CQ7rFk0S//4WkCr8XcVM7dN1uEqtXQcUOi8Kw/Cw4lxntTWbTXMETH1e1gPPXhIp+BsPxy7Je4YUFG5sq+oM4NSBF4RGJZRmcXk1kl4nEzq6oDUvg0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1724259140; c=relaxed/simple; bh=c/YDYVFlbiPVhAlSQkXbrLWz2EDQDz1sWGZ3vOU/50Q=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-Id:MIME-Version; b=ViCWjnYxpzpFOnfNRT3PfZaLLyJ6ypHYmDqmJfYXpzKLZCNqxIpxr4Zy88TI/G9e/MvSsdf8OpaqKchSc9x3AtUU2Ew3R4Zsc7kUDaP2fgi3G8ipFuGZCVxhR1+vicSeFJVH8lHXmceIVUMKuj2nSWxP8tFbD8ECn0oXizYNtuA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 56FFB22290 for ; Wed, 21 Aug 2024 16:52:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1724259137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=FrNwRV/YJEygBDw4jNXct9667owCxdEXlHAVVTD3x7k=; b=NGEk44DIxUojfM7L22TBoAcCg2634nzROzbn8uEWJiScKIZ2JYOvn0vRpYWf0n0NNO0vW1 r05KqXHsM0p2UGWla/3TXUo6Rgipd9pEF2WZom669vxUnBRjHnckdjiJJrL/m/6Ya4MWHc lmsTjhiInHG3FMGa+EnoE+cRWsZ4+D0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1724259137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=FrNwRV/YJEygBDw4jNXct9667owCxdEXlHAVVTD3x7k=; b=66CutTSg84F1YjPgS7SUDa9vP6rW0gQX681GWv8+65jiiTGP+mZEH4qE5q4JTXWGB2Z3MD PgrTfFJT8MgbYkBA== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1724259137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=FrNwRV/YJEygBDw4jNXct9667owCxdEXlHAVVTD3x7k=; b=NGEk44DIxUojfM7L22TBoAcCg2634nzROzbn8uEWJiScKIZ2JYOvn0vRpYWf0n0NNO0vW1 r05KqXHsM0p2UGWla/3TXUo6Rgipd9pEF2WZom669vxUnBRjHnckdjiJJrL/m/6Ya4MWHc lmsTjhiInHG3FMGa+EnoE+cRWsZ4+D0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1724259137; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=FrNwRV/YJEygBDw4jNXct9667owCxdEXlHAVVTD3x7k=; b=66CutTSg84F1YjPgS7SUDa9vP6rW0gQX681GWv8+65jiiTGP+mZEH4qE5q4JTXWGB2Z3MD PgrTfFJT8MgbYkBA== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 40AFD13770 for ; Wed, 21 Aug 2024 16:52:17 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 9hlmDkEbxmYDYwAAD6G6ig (envelope-from ) for ; Wed, 21 Aug 2024 16:52:17 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 1/2] [gdb/python] Use GDB_PY_HANDLE_EXCEPTION more often Date: Wed, 21 Aug 2024 18:53:07 +0200 Message-Id: <20240821165308.11295-1-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 MIME-Version: 1.0 X-Spam-Level: X-Spamd-Result: default: False [-2.80 / 50.00]; BAYES_HAM(-3.00)[100.00%]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; R_MISSING_CHARSET(0.50)[]; NEURAL_HAM_SHORT(-0.20)[-0.993]; MIME_GOOD(-0.10)[text/plain]; FUZZY_BLOCKED(0.00)[rspamd.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ARC_NA(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:mid,imap1.dmz-prg2.suse.org:helo]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; RCVD_TLS_ALL(0.00)[] X-Spam-Score: -2.80 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 found a few more places where we can use GDB_PY_HANDLE_EXCEPTION. Tested on x86_64-linux. --- gdb/python/py-arch.c | 3 +-- gdb/python/py-breakpoint.c | 3 +-- gdb/python/py-connection.c | 3 +-- gdb/python/py-frame.c | 6 ++---- gdb/python/py-gdb-readline.c | 3 +-- gdb/python/py-mi.c | 3 +-- gdb/python/py-record-btrace.c | 3 +-- gdb/python/py-record.c | 7 ++----- gdb/python/py-stopevent.c | 3 +-- gdb/python/py-tui.c | 3 +-- gdb/python/py-value.c | 3 +-- gdb/python/python.c | 3 +-- 12 files changed, 14 insertions(+), 29 deletions(-) base-commit: 28c3bf55f0f9aca8619c6d01be34a02a887c5577 diff --git a/gdb/python/py-arch.c b/gdb/python/py-arch.c index c6f566221d8..178efab4cee 100644 --- a/gdb/python/py-arch.c +++ b/gdb/python/py-arch.c @@ -199,8 +199,7 @@ archpy_disassemble (PyObject *self, PyObject *args, PyObject *kw) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } gdbpy_ref<> pc_obj = gdb_py_object_from_ulongest (pc); diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c index e7dd47020c5..0bb7d44cfea 100644 --- a/gdb/python/py-breakpoint.c +++ b/gdb/python/py-breakpoint.c @@ -640,8 +640,7 @@ bppy_get_commands (PyObject *self, void *closure) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } return host_string_to_python_string (stb.c_str ()).release (); diff --git a/gdb/python/py-connection.c b/gdb/python/py-connection.c index dcca76b7867..79e27677442 100644 --- a/gdb/python/py-connection.c +++ b/gdb/python/py-connection.c @@ -431,8 +431,7 @@ connpy_send_packet (PyObject *self, PyObject *args, PyObject *kw) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return nullptr; + GDB_PY_HANDLE_EXCEPTION (except); } } diff --git a/gdb/python/py-frame.c b/gdb/python/py-frame.c index bbb42afb2ed..7f617fa5cea 100644 --- a/gdb/python/py-frame.c +++ b/gdb/python/py-frame.c @@ -389,8 +389,7 @@ frame_info_to_frame_object (const frame_info_ptr &frame) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } return (PyObject *) frame_obj.release (); @@ -538,8 +537,7 @@ frapy_read_var (PyObject *self, PyObject *args, PyObject *kw) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } if (!var) diff --git a/gdb/python/py-gdb-readline.c b/gdb/python/py-gdb-readline.c index 92287eea7c9..14a76b4fa13 100644 --- a/gdb/python/py-gdb-readline.c +++ b/gdb/python/py-gdb-readline.c @@ -59,8 +59,7 @@ gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout, /* This readline callback is called without the GIL held. */ gdbpy_gil gil; - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } /* Detect EOF (Ctrl-D). */ diff --git a/gdb/python/py-mi.c b/gdb/python/py-mi.c index bc95e86a456..0a636543f9a 100644 --- a/gdb/python/py-mi.c +++ b/gdb/python/py-mi.c @@ -168,8 +168,7 @@ gdbpy_execute_mi_command (PyObject *self, PyObject *args, PyObject *kw) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return nullptr; + GDB_PY_HANDLE_EXCEPTION (except); } return uiout.result ().release (); diff --git a/gdb/python/py-record-btrace.c b/gdb/python/py-record-btrace.c index 68b474cc1b4..30d0e8305db 100644 --- a/gdb/python/py-record-btrace.c +++ b/gdb/python/py-record-btrace.c @@ -318,8 +318,7 @@ recpy_bt_insn_decoded (PyObject *self, void *closure) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } return PyBytes_FromString (strfile.string ().c_str ()); diff --git a/gdb/python/py-record.c b/gdb/python/py-record.c index 2e0834c15ac..759bf3049cb 100644 --- a/gdb/python/py-record.c +++ b/gdb/python/py-record.c @@ -670,7 +670,6 @@ gdbpy_start_recording (PyObject *self, PyObject *args) { const char *method = NULL; const char *format = NULL; - PyObject *ret = NULL; if (!PyArg_ParseTuple (args, "|ss", &method, &format)) return NULL; @@ -678,14 +677,12 @@ gdbpy_start_recording (PyObject *self, PyObject *args) try { record_start (method, format, 0); - ret = gdbpy_current_recording (self, args); + return gdbpy_current_recording (self, args); } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); + GDB_PY_HANDLE_EXCEPTION (except); } - - return ret; } /* Implementation of gdb.current_recording (self) -> gdb.Record. */ diff --git a/gdb/python/py-stopevent.c b/gdb/python/py-stopevent.c index be26bc17f85..47f81bd6c9a 100644 --- a/gdb/python/py-stopevent.c +++ b/gdb/python/py-stopevent.c @@ -74,8 +74,7 @@ py_print_bpstat (bpstat *bs, enum gdb_signal stop_signal) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return nullptr; + GDB_PY_HANDLE_EXCEPTION (except); } gdbpy_ref<> dict = uiout.result (); diff --git a/gdb/python/py-tui.c b/gdb/python/py-tui.c index 984fa9b6b45..3bcd02da387 100644 --- a/gdb/python/py-tui.c +++ b/gdb/python/py-tui.c @@ -415,8 +415,7 @@ gdbpy_register_tui_window (PyObject *self, PyObject *args, PyObject *kw) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return nullptr; + GDB_PY_HANDLE_EXCEPTION (except); } Py_RETURN_NONE; diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c index 5c62ef681d4..14daa7d46df 100644 --- a/gdb/python/py-value.c +++ b/gdb/python/py-value.c @@ -2056,8 +2056,7 @@ convert_value_from_python (PyObject *obj) } catch (const gdb_exception &except) { - gdbpy_convert_exception (except); - return NULL; + GDB_PY_HANDLE_EXCEPTION (except); } return value; diff --git a/gdb/python/python.c b/gdb/python/python.c index 043c221b0d8..a2ce1f6545a 100644 --- a/gdb/python/python.c +++ b/gdb/python/python.c @@ -972,8 +972,7 @@ gdbpy_decode_line (PyObject *self, PyObject *args) catch (const gdb_exception &ex) { /* We know this will always throw. */ - gdbpy_convert_exception (ex); - return NULL; + GDB_PY_HANDLE_EXCEPTION (ex); } if (!sals.empty ())