1/* Native support for GNU/Linux.
2
3   Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
4
5   This file is part of GDB.
6
7   This program is free software; you can redistribute it and/or modify
8   it under the terms of the GNU General Public License as published by
9   the Free Software Foundation; either version 2 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 59 Temple Place - Suite 330,
20   Boston, MA 02111-1307, USA.  */
21
22struct target_ops;
23
24/* GNU/Linux is SVR4-ish but its /proc file system isn't.  */
25#undef USE_PROC_FS
26
27/* Since we're building a native debugger, we can include <signal.h>
28   to find the range of real-time signals.  */
29
30#include <signal.h>
31
32#ifdef __SIGRTMIN
33#define REALTIME_LO	__SIGRTMIN
34#define REALTIME_HI	(__SIGRTMAX + 1)
35#endif
36
37/* We define this if link.h is available, because with ELF we use SVR4
38   style shared libraries.  */
39
40#ifdef HAVE_LINK_H
41#include "solib.h"             /* Support for shared libraries.  */
42#endif
43
44
45/* Override child_wait in `inftarg.c'.  */
46struct target_waitstatus;
47extern ptid_t child_wait (ptid_t ptid, struct target_waitstatus *ourstatus);
48#define CHILD_WAIT
49
50extern void lin_lwp_attach_lwp (ptid_t ptid, int verbose);
51#define ATTACH_LWP(ptid, verbose) lin_lwp_attach_lwp ((ptid), (verbose))
52
53extern void lin_thread_get_thread_signals (sigset_t *mask);
54#define GET_THREAD_SIGNALS(mask) lin_thread_get_thread_signals (mask)
55
56/* Use elf_gregset_t and elf_fpregset_t, rather than
57   gregset_t and fpregset_t.  */
58
59#define GDB_GREGSET_T  elf_gregset_t
60#define GDB_FPREGSET_T elf_fpregset_t
61
62/* Override child_pid_to_exec_file in 'inftarg.c'.  */
63#define CHILD_PID_TO_EXEC_FILE
64
65#define CHILD_INSERT_FORK_CATCHPOINT
66#define CHILD_INSERT_VFORK_CATCHPOINT
67#define CHILD_INSERT_EXEC_CATCHPOINT
68#define CHILD_POST_STARTUP_INFERIOR
69#define CHILD_POST_ATTACH
70#define CHILD_FOLLOW_FORK
71#define DEPRECATED_KILL_INFERIOR
72
73#define NATIVE_XFER_AUXV	procfs_xfer_auxv
74#include "auxv.h"		/* Declares it. */
75