X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fconfig%2Fnm-linux.h;h=fc784e3e833b583ecb6f7ad1a7a410bfa242e057;hb=c1299d67f5e87927ba19ac99524d238905b9c406;hp=9b225827c54990bac98a051992d0b6e61053da05;hpb=ed9a39ebf9f55562c7c582155f6721c3e685ce91;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/config/nm-linux.h b/gdb/config/nm-linux.h index 9b225827c5..fc784e3e83 100644 --- a/gdb/config/nm-linux.h +++ b/gdb/config/nm-linux.h @@ -1,6 +1,6 @@ -/* Native support for GNU/Linux, for GDB, the GNU debugger. - Copyright (C) 1999 - Free Software Foundation, Inc. +/* Native support for GNU/Linux. + + Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of GDB. @@ -19,43 +19,56 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* Linux is svr4ish but not that much */ +struct target_ops; + +/* GNU/Linux is SVR4-ish but its /proc file system isn't. */ #undef USE_PROC_FS -/* Tell gdb that we can attach and detach other processes */ -#define ATTACH_DETACH +/* Since we're building a native debugger, we can include + to find the range of real-time signals. */ + +#include + +#ifdef __SIGRTMIN +#define REALTIME_LO __SIGRTMIN +#define REALTIME_HI (__SIGRTMAX + 1) +#endif -/* We define this if link.h is available, because with ELF we use SVR4 style - shared libraries. */ +/* We define this if link.h is available, because with ELF we use SVR4 + style shared libraries. */ #ifdef HAVE_LINK_H -#define SVR4_SHARED_LIBS -#include "solib.h" /* Support for shared libraries. */ +#include "solib.h" /* Support for shared libraries. */ #endif + -/* Support for the glibc linuxthreads package. */ +/* Override child_wait in `inftarg.c'. */ +struct target_waitstatus; +extern ptid_t child_wait (ptid_t ptid, struct target_waitstatus *ourstatus); +#define CHILD_WAIT -struct objfile; +extern void lin_lwp_attach_lwp (ptid_t ptid, int verbose); +#define ATTACH_LWP(ptid, verbose) lin_lwp_attach_lwp ((ptid), (verbose)) -/* Hook to look at new objfiles (shared libraries) */ -extern void -linuxthreads_new_objfile PARAMS ((struct objfile *objfile)); +extern void lin_thread_get_thread_signals (sigset_t *mask); +#define GET_THREAD_SIGNALS(mask) lin_thread_get_thread_signals (mask) -/* Method to print a human-readable thread description */ -extern char * -linuxthreads_pid_to_str PARAMS ((int pid)); +/* Use elf_gregset_t and elf_fpregset_t, rather than + gregset_t and fpregset_t. */ -extern int -linuxthreads_prepare_to_proceed PARAMS ((int step)); -#define PREPARE_TO_PROCEED(select_it) linuxthreads_prepare_to_proceed (1) +#define GDB_GREGSET_T elf_gregset_t +#define GDB_FPREGSET_T elf_fpregset_t -/* Defined to make stepping-over-breakpoints be thread-atomic. */ -#define USE_THREAD_STEP_NEEDED 1 +/* Override child_pid_to_exec_file in 'inftarg.c'. */ +#define CHILD_PID_TO_EXEC_FILE -/* Macros to extract process id and thread id from a composite pid/tid. - Allocate lower 19 bits for process id, next 12 bits for thread id, and - one bit for a flag to indicate a user thread vs. a kernel thread. */ -#define PIDGET(PID) (((PID) & 0xffff)) -#define TIDGET(PID) (((PID) & 0x7fffffff) >> 16) -#define MERGEPID(PID, TID) (((PID) & 0xffff) | ((TID) << 16)) +#define CHILD_INSERT_FORK_CATCHPOINT +#define CHILD_INSERT_VFORK_CATCHPOINT +#define CHILD_INSERT_EXEC_CATCHPOINT +#define CHILD_POST_STARTUP_INFERIOR +#define CHILD_POST_ATTACH +#define CHILD_FOLLOW_FORK +#define DEPRECATED_KILL_INFERIOR +#define NATIVE_XFER_AUXV procfs_xfer_auxv +#include "auxv.h" /* Declares it. */