summaryrefslogtreecommitdiff
path: root/gdbserver
diff options
context:
space:
mode:
Diffstat (limited to 'gdbserver')
-rw-r--r--gdbserver/ChangeLog15
-rw-r--r--gdbserver/linux-low.cc4
-rw-r--r--gdbserver/linux-low.h4
-rw-r--r--gdbserver/netbsd-low.cc8
-rw-r--r--gdbserver/netbsd-low.h2
-rw-r--r--gdbserver/target.cc7
-rw-r--r--gdbserver/target.h6
-rw-r--r--gdbserver/win32-low.cc2
-rw-r--r--gdbserver/win32-low.h2
9 files changed, 34 insertions, 16 deletions
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index 576c96e93b8..d47fcfd300a 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,18 @@
+2020-09-18 Tom Tromey <tromey@adacore.com>
+
+ * netbsd-low.h (class netbsd_process_target) <wait>: Update.
+ * netbsd-low.cc (netbsd_waitpid, netbsd_wait)
+ (netbsd_process_target::wait): Change type of target_options.
+ * win32-low.h (class win32_process_target) <wait>: Update.
+ * win32-low.cc (win32_process_target::wait): Update.
+ * target.h (class process_stratum_target) <wait>: Update.
+ (mywait): Update.
+ * target.cc (mywait, target_wait): Change type of "options".
+ * linux-low.h (class linux_process_target) <wait, wait_1>:
+ Update.
+ * linux-low.cc (linux_process_target::wait)
+ (linux_process_target::wait_1): Update.
+
2020-09-15 Tom Tromey <tromey@adacore.com>
* linux-x86-low.cc (xmltarget_i386_linux_no_xml)
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index e45493339d2..70d5521d442 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -2948,7 +2948,7 @@ linux_process_target::gdb_catch_this_syscall (lwp_info *event_child)
ptid_t
linux_process_target::wait_1 (ptid_t ptid, target_waitstatus *ourstatus,
- int target_options)
+ target_wait_flags target_options)
{
client_state &cs = get_client_state ();
int w;
@@ -3710,7 +3710,7 @@ async_file_mark (void)
ptid_t
linux_process_target::wait (ptid_t ptid,
target_waitstatus *ourstatus,
- int target_options)
+ target_wait_flags target_options)
{
ptid_t event_ptid;
diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h
index 0ef659fb0f0..56c353319c2 100644
--- a/gdbserver/linux-low.h
+++ b/gdbserver/linux-low.h
@@ -157,7 +157,7 @@ public:
void resume (thread_resume *resume_info, size_t n) override;
ptid_t wait (ptid_t ptid, target_waitstatus *status,
- int options) override;
+ target_wait_flags options) override;
void fetch_registers (regcache *regcache, int regno) override;
@@ -356,7 +356,7 @@ private:
/* Wait for process, returns status. */
ptid_t wait_1 (ptid_t ptid, target_waitstatus *ourstatus,
- int target_options);
+ target_wait_flags target_options);
/* Stop all lwps that aren't stopped yet, except EXCEPT, if not NULL.
If SUSPEND, then also increase the suspend count of every LWP,
diff --git a/gdbserver/netbsd-low.cc b/gdbserver/netbsd-low.cc
index 8b13b6741e9..3eb2c0f25f6 100644
--- a/gdbserver/netbsd-low.cc
+++ b/gdbserver/netbsd-low.cc
@@ -236,9 +236,11 @@ netbsd_store_waitstatus (struct target_waitstatus *ourstatus, int hoststatus)
/* Implement a safe wrapper around waitpid(). */
static pid_t
-netbsd_waitpid (ptid_t ptid, struct target_waitstatus *ourstatus, int options)
+netbsd_waitpid (ptid_t ptid, struct target_waitstatus *ourstatus,
+ target_wait_flags target_options)
{
int status;
+ int options = (target_options & TARGET_WNOHANG) ? WNOHANG : 0;
pid_t pid
= gdb::handle_eintr<int> (-1, ::waitpid, ptid.pid (), &status, options);
@@ -259,7 +261,7 @@ netbsd_waitpid (ptid_t ptid, struct target_waitstatus *ourstatus, int options)
static ptid_t
netbsd_wait (ptid_t ptid, struct target_waitstatus *ourstatus,
- int target_options)
+ target_wait_flags target_options)
{
pid_t pid = netbsd_waitpid (ptid, ourstatus, target_options);
ptid_t wptid = ptid_t (pid);
@@ -398,7 +400,7 @@ netbsd_wait (ptid_t ptid, struct target_waitstatus *ourstatus,
ptid_t
netbsd_process_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
- int target_options)
+ target_wait_flags target_options)
{
while (true)
{
diff --git a/gdbserver/netbsd-low.h b/gdbserver/netbsd-low.h
index 3d2ec345a41..96ad6d92474 100644
--- a/gdbserver/netbsd-low.h
+++ b/gdbserver/netbsd-low.h
@@ -76,7 +76,7 @@ public:
void resume (thread_resume *resume_info, size_t n) override;
ptid_t wait (ptid_t ptid, target_waitstatus *status,
- int options) override;
+ target_wait_flags options) override;
void fetch_registers (regcache *regcache, int regno) override;
diff --git a/gdbserver/target.cc b/gdbserver/target.cc
index 87f62a0b555..921d26fcf79 100644
--- a/gdbserver/target.cc
+++ b/gdbserver/target.cc
@@ -160,8 +160,8 @@ target_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
}
ptid_t
-mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
- int connected_wait)
+mywait (ptid_t ptid, struct target_waitstatus *ourstatus,
+ target_wait_flags options, int connected_wait)
{
ptid_t ret;
@@ -220,7 +220,8 @@ target_stop_and_wait (ptid_t ptid)
/* See target/target.h. */
ptid_t
-target_wait (ptid_t ptid, struct target_waitstatus *status, int options)
+target_wait (ptid_t ptid, struct target_waitstatus *status,
+ target_wait_flags options)
{
return the_target->wait (ptid, status, options);
}
diff --git a/gdbserver/target.h b/gdbserver/target.h
index 13f069f7729..c2245ebfe85 100644
--- a/gdbserver/target.h
+++ b/gdbserver/target.h
@@ -128,7 +128,7 @@ public:
no child stop to report, return is
null_ptid/TARGET_WAITKIND_IGNORE. */
virtual ptid_t wait (ptid_t ptid, target_waitstatus *status,
- int options) = 0;
+ target_wait_flags options) = 0;
/* Fetch registers from the inferior process.
@@ -663,8 +663,8 @@ target_read_btrace_conf (struct btrace_target_info *tinfo,
#define target_supports_software_single_step() \
the_target->supports_software_single_step ()
-ptid_t mywait (ptid_t ptid, struct target_waitstatus *ourstatus, int options,
- int connected_wait);
+ptid_t mywait (ptid_t ptid, struct target_waitstatus *ourstatus,
+ target_wait_flags options, int connected_wait);
/* Prepare to read or write memory from the inferior process. See the
corresponding process_stratum_target methods for more details. */
diff --git a/gdbserver/win32-low.cc b/gdbserver/win32-low.cc
index a11cc740925..9980986c739 100644
--- a/gdbserver/win32-low.cc
+++ b/gdbserver/win32-low.cc
@@ -1610,7 +1610,7 @@ get_child_debug_event (DWORD *continue_status,
Returns the signal which caused the process to stop. */
ptid_t
win32_process_target::wait (ptid_t ptid, target_waitstatus *ourstatus,
- int options)
+ target_wait_flags options)
{
if (cached_status.kind != TARGET_WAITKIND_IGNORE)
{
diff --git a/gdbserver/win32-low.h b/gdbserver/win32-low.h
index f3b44776ae1..d4ad5d83d29 100644
--- a/gdbserver/win32-low.h
+++ b/gdbserver/win32-low.h
@@ -116,7 +116,7 @@ public:
void resume (thread_resume *resume_info, size_t n) override;
ptid_t wait (ptid_t ptid, target_waitstatus *status,
- int options) override;
+ target_wait_flags options) override;
void fetch_registers (regcache *regcache, int regno) override;