Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / gdb / gdb / config / alpha / nm-osf2.h
1 /* Native definitions for alpha running OSF/1-2.x, using procfs.
2    Copyright (C) 1995 Free Software Foundation, Inc.
3
4 This file is part of GDB.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
19
20 /* Get generic OSF/1 definitions.  */
21 #include "alpha/nm-osf.h"
22
23 /* OSF/1-2.x has optional /proc support, try to use it instead of ptrace.  */
24 #define USE_PROC_FS
25 #define HAVE_OPTIONAL_PROC_FS
26
27 /* OSF/1 doesn't provide the standard fault definitions, so don't use them.  */
28 #define FAULTED_USE_SIGINFO
29
30 /* Don't trace faults under OSF/1, rely on the posting of the appropriate
31    signal if fault tracing is disabled.
32    Tracing T_IFAULT under Alpha OSF/1 causes a `floating point enable'
33    fault from which we cannot continue (except by disabling the
34    tracing).
35    And as OSF/1 doesn't provide the standard fault definitions, the
36    mapping of faults to appropriate signals in procfs_wait is difficult.  */
37 #define PROCFS_DONT_TRACE_FAULTS
38
39 /* Work around some peculiarities in the OSF/1 procfs implementation.  */
40 #define PROCFS_SIGPEND_OFFSET
41 #define PROCFS_NEED_PIOCSSIG_FOR_KILL
42 #define PROCFS_DONT_PIOCSSIG_CURSIG
43
44 /* Return sizeof user struct to callers in less machine dependent routines */
45
46 #define KERNEL_U_SIZE kernel_u_size()
47 extern int kernel_u_size PARAMS ((void));
48
49 /* poll() doesn't seem to work properly for /proc in this version of the OS.
50    If we only specify POLLPRI, things hang.  It seems to get better when we set
51    POLLOUT, but that always returns POLLNVAL!!!  Also, POLLOUT causes problems
52    on other OSes.  */
53
54 #define LOSING_POLL