/* Native debugging support for GNU/Linux (LWP layer).
- Copyright 2000, 2001, 2002, 2003, 2004, 2005
+ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GDB.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA. */
#include "target.h"
struct lwp_info *next;
};
+/* Attempt to initialize libthread_db. */
+void check_for_thread_db (void);
+
+/* Tell the thread_db layer what native target operations to use. */
+void thread_db_init (struct target_ops *);
/* Find process PID's pending signal set from /proc/pid/status. */
void linux_proc_pending_signals (int pid, sigset_t *pending, sigset_t *blocked, sigset_t *ignored);
/* linux-nat functions for handling fork events. */
-extern void linux_record_stopped_pid (int pid);
extern void linux_enable_event_reporting (ptid_t ptid);
-extern ptid_t linux_handle_extended_wait (int pid, int status,
- struct target_waitstatus *ourstatus);
+
+extern int lin_lwp_attach_lwp (ptid_t ptid, int verbose);
/* Iterator function for lin-lwp's lwp list. */
struct lwp_info *iterate_over_lwps (int (*callback) (struct lwp_info *,
void *),
void *data);
-/* Create a prototype generic Linux target. The client can override
- it with local methods. */
+/* Create a prototype generic GNU/Linux target. The client can
+ override it with local methods. */
struct target_ops * linux_target (void);
+
+/* Register the customized GNU/Linux target. This should be used
+ instead of calling add_target directly. */
+void linux_nat_add_target (struct target_ops *);
+
+/* Update linux-nat internal state when changing from one fork
+ to another. */
+void linux_nat_switch_fork (ptid_t new_ptid);