1 /* Native definitions for alpha running OSF/1-2.x, using procfs. 2 Copyright 1995, 1996, 2000 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, 19 Boston, MA 02111-1307, USA. */ 20 21 /* Get generic OSF/1 definitions. */ 22 #include "alpha/nm-osf.h" 23 24 /* OSF/1-2.x has optional /proc support, try to use it instead of ptrace. */ 25 #define USE_PROC_FS 26 #define HAVE_OPTIONAL_PROC_FS 27 28 /* Don't trace faults under OSF/1, rely on the posting of the appropriate 29 signal if fault tracing is disabled. 30 Tracing T_IFAULT under Alpha OSF/1 causes a `floating point enable' 31 fault from which we cannot continue (except by disabling the 32 tracing). 33 And as OSF/1 doesn't provide the standard fault definitions, the 34 mapping of faults to appropriate signals in procfs_wait is difficult. */ 35 #define PROCFS_DONT_TRACE_FAULTS 36 37 /* Work around some peculiarities in the OSF/1 procfs implementation. */ 38 #define PROCFS_SIGPEND_OFFSET 39 #define PROCFS_NEED_PIOCSSIG_FOR_KILL 40 #define PROCFS_DONT_PIOCSSIG_CURSIG 41 42 /* Return sizeof user struct to callers in less machine dependent routines */ 43 44 #define KERNEL_U_SIZE kernel_u_size() 45 extern int kernel_u_size (void); 46 47 /* poll() doesn't seem to work properly for /proc in this version of the OS. 48 If we only specify POLLPRI, things hang. It seems to get better when we set 49 POLLOUT, but that always returns POLLNVAL!!! Also, POLLOUT causes problems 50 on other OSes. */ 51 52 #define LOSING_POLL 53