From: Peter Schauer Date: Thu, 12 Jan 1995 18:14:01 +0000 (+0000) Subject: Add procfs support for Alpha OSF/1-2.x. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=cc62225cc82886b3230cc8ec7d8c24035a18f167;hp=2592eef89b7f3a9fca571688566e2bc9dc7c1d6a;p=deliverable%2Fbinutils-gdb.git Add procfs support for Alpha OSF/1-2.x. * config/alpha/nm-osf.h: Renamed from nm-alpha.h, generic OSF/1 native support. * config/alpha/alpha-osf1.mh (NAT_FILE): Changed accordingly. (MUNCH_DEFINE): Removed. * config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h: New files for procfs support. --- diff --git a/gdb/config/alpha/.Sanitize b/gdb/config/alpha/.Sanitize index c3d59f7509..d4d8bef9db 100644 --- a/gdb/config/alpha/.Sanitize +++ b/gdb/config/alpha/.Sanitize @@ -23,9 +23,11 @@ Things-to-keep: alpha-osf1.mh alpha-osf1.mt +alpha-osf2.mh alpha-nw.mt gdbserve.mt -nm-alpha.h +nm-osf.h +nm-osf2.h tm-alpha.h tm-alphanw.h xm-alpha.h diff --git a/gdb/config/alpha/alpha-osf2.mh b/gdb/config/alpha/alpha-osf2.mh new file mode 100644 index 0000000000..352a5f7cde --- /dev/null +++ b/gdb/config/alpha/alpha-osf2.mh @@ -0,0 +1,8 @@ +# Host: Little-endian Alpha running OSF/1-2.x und higher using procfs +XDEPFILES= +XM_FILE= xm-alpha.h +NAT_FILE= nm-osf2.h +NATDEPFILES= infptrace.o inftarg.o corelow.o alpha-nat.o fork-child.o osfsolib.o procfs.o + +MMALLOC = +MMALLOC_DISABLE = -DNO_MMALLOC diff --git a/gdb/config/alpha/nm-alpha.h b/gdb/config/alpha/nm-alpha.h deleted file mode 100644 index 033af3ba8b..0000000000 --- a/gdb/config/alpha/nm-alpha.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Native definitions for alpha running OSF/1. - Copyright (C) 1993 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 2 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, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* Figure out where the longjmp will land. We expect that we have just entered - longjmp and haven't yet setup the stack frame, so the args are still in the - argument regs. A0_REGNUM points at the jmp_buf structure from which we - extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. - This routine returns true on success */ - -#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) -extern int -get_longjmp_target PARAMS ((CORE_ADDR *)); - -/* ptrace register ``addresses'' are absolute. */ - -#define U_REGS_OFFSET 0 - -/* FIXME: Shouldn't the default definition in inferior.h be int* ? */ - -#define PTRACE_ARG3_TYPE int* - -/* ptrace transfers longs, the ptrace man page is lying. */ - -#define PTRACE_XFER_TYPE long - -/* The alpha does not step over a breakpoint, the manpage is lying again. */ - -#define CANNOT_STEP_BREAKPOINT - -/* OSF/1 has shared libraries. */ - -#define GDB_TARGET_HAS_SHARED_LIBS - -/* Support for shared libraries. */ - -#include "solib.h" diff --git a/gdb/config/alpha/nm-osf.h b/gdb/config/alpha/nm-osf.h new file mode 100644 index 0000000000..7dffde76cc --- /dev/null +++ b/gdb/config/alpha/nm-osf.h @@ -0,0 +1,52 @@ +/* Native definitions for alpha running OSF/1. + Copyright (C) 1993, 1994 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 2 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, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* Figure out where the longjmp will land. We expect that we have just entered + longjmp and haven't yet setup the stack frame, so the args are still in the + argument regs. A0_REGNUM points at the jmp_buf structure from which we + extract the pc (JB_PC) that we will land at. The pc is copied into ADDR. + This routine returns true on success */ + +#define GET_LONGJMP_TARGET(ADDR) get_longjmp_target(ADDR) +extern int +get_longjmp_target PARAMS ((CORE_ADDR *)); + +/* ptrace register ``addresses'' are absolute. */ + +#define U_REGS_OFFSET 0 + +/* FIXME: Shouldn't the default definition in inferior.h be int* ? */ + +#define PTRACE_ARG3_TYPE int* + +/* ptrace transfers longs, the ptrace man page is lying. */ + +#define PTRACE_XFER_TYPE long + +/* The alpha does not step over a breakpoint, the manpage is lying again. */ + +#define CANNOT_STEP_BREAKPOINT + +/* OSF/1 has shared libraries. */ + +#define GDB_TARGET_HAS_SHARED_LIBS + +/* Support for shared libraries. */ + +#include "solib.h" diff --git a/gdb/config/alpha/nm-osf2.h b/gdb/config/alpha/nm-osf2.h new file mode 100644 index 0000000000..68d1456064 --- /dev/null +++ b/gdb/config/alpha/nm-osf2.h @@ -0,0 +1,34 @@ +/* Native definitions for alpha running OSF/1-2.x and higher, using procfs. + Copyright (C) 1995 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 2 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, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + +/* Get generic OSF/1 definitions. */ +#include "alpha/nm-osf.h" + +/* OSF/1-2.x has optional /proc support, try to use it instead of ptrace. */ +#define USE_PROC_FS +#define HAVE_OPTIONAL_PROC_FS + +/* OSF/1 doesn't provide the standard fault definitions, so don't use them. */ +#define FAULTED_USE_SIGINFO + +/* Work around some peculiarities in the OSF/1 procfs implementation. */ +#define PROCFS_DONT_TRACE_IFAULT +#define PROCFS_SIGPEND_OFFSET +#define PROCFS_NEED_PIOCSSIG_FOR_KILL +#define PROCFS_DONT_PIOCSSIG_CURSIG