Commit | Line | Data |
---|---|---|
6b99ee2e MK |
1 | /* Native support for SCO OpenServer 5. |
2 | Copyright 1996, 1998, 2002 Free Software Foundation, Inc. | |
c906108c SS |
3 | Re-written by J. Kean Johnston <jkj@sco.com>. |
4 | Originally written by Robert Lipe <robertl@dgii.com>, based on | |
5 | work by Ian Lance Taylor <ian@cygnus.com> and | |
6 | Martin Walker <maw@netcom.com>. | |
7 | ||
c5aa993b | 8 | This file is part of GDB. |
c906108c | 9 | |
c5aa993b JM |
10 | This program is free software; you can redistribute it and/or modify |
11 | it under the terms of the GNU General Public License as published by | |
12 | the Free Software Foundation; either version 2 of the License, or | |
13 | (at your option) any later version. | |
c906108c | 14 | |
c5aa993b JM |
15 | This program is distributed in the hope that it will be useful, |
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | GNU General Public License for more details. | |
c906108c | 19 | |
c5aa993b JM |
20 | You should have received a copy of the GNU General Public License |
21 | along with this program; if not, write to the Free Software | |
22 | Foundation, Inc., 59 Temple Place - Suite 330, | |
23 | Boston, MA 02111-1307, USA. */ | |
c906108c | 24 | |
6b99ee2e MK |
25 | #ifndef NM_I386SCO5_H |
26 | #define NM_I386SCO5_H | |
27 | ||
c906108c SS |
28 | /* Basically, its a lot like the older versions ... */ |
29 | #include "i386/nm-i386sco.h" | |
30 | ||
6b99ee2e | 31 | /* ... but it can do a lot of SVR4 type stuff too. */ |
6b99ee2e | 32 | #include "solib.h" /* Pick up shared library support. */ |
c906108c | 33 | |
0b717710 MK |
34 | /* SCO is unlike other SVR4 systems in that it has SVR4 style shared |
35 | libs, with a slight twist. We expect 3 traps (2 for the exec and | |
36 | one for the dynamic loader). After the third trap we insert the | |
37 | shared library breakpoints, then wait for the 4th trap. */ | |
38 | ||
39 | #undef START_INFERIOR_TRAPS_EXPECTED | |
40 | #define START_INFERIOR_TRAPS_EXPECTED 3 | |
41 | ||
6b99ee2e | 42 | /* SCO does not provide <sys/ptrace.h>. However, infptrace.c does not |
c906108c SS |
43 | have defaults for these values. */ |
44 | ||
45 | #define PTRACE_ATTACH 10 | |
46 | #define PTRACE_DETACH 11 | |
6b99ee2e MK |
47 | |
48 | /* Return the size of the user struct. */ | |
49 | ||
50 | #define KERNEL_U_SIZE kernel_u_size () | |
51 | extern int kernel_u_size (void); | |
52 | ||
6b99ee2e MK |
53 | /* Hardware-assisted breakpoints and watchpoints. */ |
54 | ||
55 | /* We can also do hardware watchpoints. */ | |
56 | #define TARGET_HAS_HARDWARE_WATCHPOINTS | |
57 | #define TARGET_CAN_USE_HARDWARE_WATCHPOINT(type, cnt, ot) 1 | |
58 | ||
59 | /* After a watchpoint trap, the PC points to the instruction which | |
60 | caused the trap. But we can continue over it without disabling the | |
61 | trap. */ | |
7df1a324 | 62 | #define HAVE_CONTINUABLE_WATCHPOINT 1 |
6b99ee2e MK |
63 | #define HAVE_STEPPABLE_WATCHPOINT |
64 | ||
65 | #define STOPPED_BY_WATCHPOINT(W) \ | |
66 | i386_stopped_by_watchpoint (PIDGET (inferior_ptid)) | |
67 | ||
68 | #define target_insert_watchpoint(addr, len, type) \ | |
69 | i386_insert_watchpoint (PIDGET (inferior_ptid), addr, len, type) | |
70 | ||
71 | #define target_remove_watchpoint(addr, len, type) \ | |
72 | i386_remove_watchpoint (PIDGET (inferior_ptid), addr, len) | |
73 | ||
74 | #endif /* nm-i386sco5.h */ |