From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2464 invoked by alias); 29 Aug 2016 04:12:08 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 2332 invoked by uid 89); 29 Aug 2016 04:12:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=sergio, Sergio, Junior, junior X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 29 Aug 2016 04:12:02 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7A536CD676 for ; Mon, 29 Aug 2016 04:12:01 +0000 (UTC) Received: from psique.yyz.redhat.com (unused-10-15-17-51.yyz.redhat.com [10.15.17.51]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u7T4BxHA017393; Mon, 29 Aug 2016 00:12:00 -0400 From: Sergio Durigan Junior To: GDB Patches Cc: Sergio Durigan Junior Subject: [PATCH 2/2] Share target_wait prototype between GDB and gdbserver Date: Mon, 29 Aug 2016 04:12:00 -0000 Message-Id: <1472443911-29056-3-git-send-email-sergiodj@redhat.com> In-Reply-To: <1472443911-29056-1-git-send-email-sergiodj@redhat.com> References: <1472443911-29056-1-git-send-email-sergiodj@redhat.com> X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00287.txt.bz2 This commit moves the target_wait prototype from the GDB-specific target.h header to the common target/target.h header. Then, it creates a compatible implementation of target_wait on gdbserver using the_target->wait, and adjusts the (only) caller (mywait function). Pretty straightforward, no regressions introduced. gdb/gdbserver/ChangeLog: 2016-08-29 Sergio Durigan Junior * target.c (mywait): Call target_wait instead of the_target->wait. (target_wait): New function. gdb/ChangeLog: 2016-08-29 Sergio Durigan Junior * target.c (target_wait): Mention that the function's prototype can be found at target/target.h. * target.h (target_wait): Move prototype from here... * target/target.h (target_wait): ... to here. --- gdb/gdbserver/target.c | 10 +++++++++- gdb/target.c | 2 ++ gdb/target.h | 12 ------------ gdb/target/target.h | 12 ++++++++++++ 4 files changed, 23 insertions(+), 13 deletions(-) diff --git a/gdb/gdbserver/target.c b/gdb/gdbserver/target.c index 8435dc2..053629c 100644 --- a/gdb/gdbserver/target.c +++ b/gdb/gdbserver/target.c @@ -211,7 +211,7 @@ mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options, if (connected_wait) server_waiting = 1; - ret = (*the_target->wait) (ptid, ourstatus, options); + ret = target_wait (ptid, ourstatus, options); /* We don't expose _LOADED events to gdbserver core. See the `dlls_changed' global. */ @@ -258,6 +258,14 @@ target_stop_and_wait (ptid_t ptid) /* See target/target.h. */ +ptid_t +target_wait (ptid_t ptid, struct target_waitstatus *status, int options) +{ + return (*the_target->wait) (ptid, status, options); +} + +/* See target/target.h. */ + void target_continue_no_signal (ptid_t ptid) { diff --git a/gdb/target.c b/gdb/target.c index 87c9681..bca25bd 100644 --- a/gdb/target.c +++ b/gdb/target.c @@ -2283,6 +2283,8 @@ target_disconnect (const char *args, int from_tty) current_target.to_disconnect (¤t_target, args, from_tty); } +/* See target/target.h. */ + ptid_t target_wait (ptid_t ptid, struct target_waitstatus *status, int options) { diff --git a/gdb/target.h b/gdb/target.h index 9506e04..2af405a 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1341,18 +1341,6 @@ extern void target_disconnect (const char *, int); extern void target_resume (ptid_t ptid, int step, enum gdb_signal signal); -/* Wait for process pid to do something. PTID = -1 to wait for any - pid to do something. Return pid of child, or -1 in case of error; - store status through argument pointer STATUS. Note that it is - _NOT_ OK to throw_exception() out of target_wait() without popping - the debugging target from the stack; GDB isn't prepared to get back - to the prompt with a debugging target but without the frame cache, - stop_pc, etc., set up. OPTIONS is a bitwise OR of TARGET_W* - options. */ - -extern ptid_t target_wait (ptid_t ptid, struct target_waitstatus *status, - int options); - /* The default target_ops::to_wait implementation. */ extern ptid_t default_target_wait (struct target_ops *ops, diff --git a/gdb/target/target.h b/gdb/target/target.h index 1bfa1b0..a95fbe4 100644 --- a/gdb/target/target.h +++ b/gdb/target/target.h @@ -76,4 +76,16 @@ extern void target_continue_no_signal (ptid_t ptid); extern void target_continue (ptid_t ptid, enum gdb_signal signal); +/* Wait for process pid to do something. PTID = -1 to wait for any + pid to do something. Return pid of child, or -1 in case of error; + store status through argument pointer STATUS. Note that it is + _NOT_ OK to throw_exception() out of target_wait() without popping + the debugging target from the stack; GDB isn't prepared to get back + to the prompt with a debugging target but without the frame cache, + stop_pc, etc., set up. OPTIONS is a bitwise OR of TARGET_W* + options. */ + +extern ptid_t target_wait (ptid_t ptid, struct target_waitstatus *status, + int options); + #endif /* TARGET_COMMON_H */ -- 2.4.3