From 919adfe8409211c726c1d05b47ca59890ee648f1 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sun, 15 Dec 2019 07:37:06 -0700 Subject: Move gdbserver to top level This patch moves gdbserver to the top level. This patch is as close to a pure move as possible -- gdbserver still builds its own variant of gnulib and gdbsupport. Changing this will be done in a separate patch. [v2] Note that, per Simon's review comment, this patch changes the tree so that gdbserver is not built for or1k or score. This makes sense, because there is apparently not actually a gdbserver port here. [v3] This version of the patch also splits out some configury into a new file, gdbserver/configure.host, so that the top-level configure script can simply rely on it in order to decide whether gdbserver should be built. [v4] This version adds documentation and removes some unnecessary top-level dependencies. [v5] Update docs to mention "make all-gdbserver" and change how top-level configure decides whether to build gdbserver, switching to a single, shared script. Tested by the buildbot. ChangeLog 2020-02-07 Tom Tromey Pedro Alves * src-release.sh (GDB_SUPPORT_DIRS): Add gdbserver. * gdbserver: New directory, moved from gdb/gdbserver. * configure.ac (host_tools): Add gdbserver. Only build gdbserver on certain systems. * Makefile.in, configure: Rebuild. * Makefile.def (host_modules, dependencies): Add gdbserver. * MAINTAINERS: Add gdbserver. gdb/ChangeLog 2020-02-07 Tom Tromey * README: Update gdbserver documentation. * gdbserver: Move to top level. * configure.tgt (build_gdbserver): Remove. * configure.ac: Remove --enable-gdbserver. * configure: Rebuild. * Makefile.in (distclean): Don't mention gdbserver. Change-Id: I826b7565b54604711dc7a11edea0499cd51ff39e --- gdb/gdbserver/inferiors.h | 147 ---------------------------------------------- 1 file changed, 147 deletions(-) delete mode 100644 gdb/gdbserver/inferiors.h (limited to 'gdb/gdbserver/inferiors.h') diff --git a/gdb/gdbserver/inferiors.h b/gdb/gdbserver/inferiors.h deleted file mode 100644 index 4e24b2c..0000000 --- a/gdb/gdbserver/inferiors.h +++ /dev/null @@ -1,147 +0,0 @@ -/* Inferior process information for the remote server for GDB. - Copyright (C) 1993-2020 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . */ - -#ifndef GDBSERVER_INFERIORS_H -#define GDBSERVER_INFERIORS_H - -#include "gdbsupport/gdb_vecs.h" -#include - -struct thread_info; -struct regcache; -struct target_desc; -struct sym_cache; -struct breakpoint; -struct raw_breakpoint; -struct fast_tracepoint_jump; -struct process_info_private; - -struct process_info -{ - process_info (int pid_, int attached_) - : pid (pid_), attached (attached_) - {} - - /* This process' pid. */ - int pid; - - /* Nonzero if this child process was attached rather than - spawned. */ - int attached; - - /* True if GDB asked us to detach from this process, but we remained - attached anyway. */ - int gdb_detached = 0; - - /* The symbol cache. */ - struct sym_cache *symbol_cache = NULL; - - /* The list of memory breakpoints. */ - struct breakpoint *breakpoints = NULL; - - /* The list of raw memory breakpoints. */ - struct raw_breakpoint *raw_breakpoints = NULL; - - /* The list of installed fast tracepoints. */ - struct fast_tracepoint_jump *fast_tracepoint_jumps = NULL; - - /* The list of syscalls to report, or just a single element, ANY_SYSCALL, - for unfiltered syscall reporting. */ - std::vector syscalls_to_catch; - - const struct target_desc *tdesc = NULL; - - /* Private target data. */ - struct process_info_private *priv = NULL; -}; - -/* Get the pid of PROC. */ - -static inline int -pid_of (const process_info *proc) -{ - return proc->pid; -} - -/* Return a pointer to the process that corresponds to the current - thread (current_thread). It is an error to call this if there is - no current thread selected. */ - -struct process_info *current_process (void); -struct process_info *get_thread_process (const struct thread_info *); - -extern std::list all_processes; - -/* Invoke FUNC for each process. */ - -template -static void -for_each_process (Func func) -{ - std::list::iterator next, cur = all_processes.begin (); - - while (cur != all_processes.end ()) - { - next = cur; - next++; - func (*cur); - cur = next; - } -} - -/* Find the first process for which FUNC returns true. Return NULL if no - process satisfying FUNC is found. */ - -template -static process_info * -find_process (Func func) -{ - std::list::iterator next, cur = all_processes.begin (); - - while (cur != all_processes.end ()) - { - next = cur; - next++; - - if (func (*cur)) - return *cur; - - cur = next; - } - - return NULL; -} - -extern struct thread_info *current_thread; - -/* Return the first process in the processes list. */ -struct process_info *get_first_process (void); - -struct process_info *add_process (int pid, int attached); -void remove_process (struct process_info *process); -struct process_info *find_process_pid (int pid); -int have_started_inferiors_p (void); -int have_attached_inferiors_p (void); - -void clear_inferiors (void); - -void *thread_target_data (struct thread_info *); -struct regcache *thread_regcache_data (struct thread_info *); -void set_thread_regcache_data (struct thread_info *, struct regcache *); - -#endif /* GDBSERVER_INFERIORS_H */ -- cgit v1.1