2002-03-01 David O'Brien <obrien@FreeBSD.org>
[external/binutils.git] / gdb / config / sparc / nm-fbsd.h
1 /* Native-dependent definitions for FreeBSD/sparc64.
2    Copyright 2002
3    Free Software Foundation, Inc.
4    Contributed by David E. O'Brien <obrien@FreeBSD.org>.
5
6    This file is part of GDB.
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
21
22 #ifndef NM_FBSD_H
23 #define NM_FBSD_H
24
25 /* Type of the third argument to the `ptrace' system call.  */
26 #define PTRACE_ARG3_TYPE caddr_t
27
28 /* Override copies of {fetch,store}_inferior_registers in `infptrace.c'.  */
29 #define FETCH_INFERIOR_REGISTERS
30
31 /* We can attach and detach.  */
32 #define ATTACH_DETACH
33 \f
34
35 /* Shared library support.  */
36
37 #define SVR4_SHARED_LIBS
38
39 #include "solib.h"              /* Support for shared libraries. */
40 #include "elf/common.h"         /* Additional ELF shared library info. */
41
42 /* Make things match up with what is expected in sparc-nat.c.  */
43
44 #define PTRACE_GETREGS   PT_GETREGS
45 #define PTRACE_SETREGS   PT_SETREGS
46 #define PTRACE_GETFPREGS PT_GETFPREGS
47 #define PTRACE_SETFPREGS PT_SETFPREGS
48
49 #define GDB_GREGSET_T   struct reg
50 #define GDB_FPREGSET_T  struct fpreg
51
52 #define regs            trapframe
53 #define r_g1            tf_global[1]
54 #define r_ps            tf_tstate
55 #define r_pc            tf_tpc
56 #define r_npc           tf_tnpc
57 #define r_y             tf_y
58
59 #define FPU_FSR_TYPE    unsigned long
60 #define fp_status       fpreg           /* our reg.h */
61 #define fpu             fpreg           /* our reg.h */
62 #define fpu_regs        fr_regs         /* one field of fpu_fr on Solaris */
63 #define fpu_fr          fr_regs         /* a union w/in struct fpu on Solaris */
64 #define fpu_fsr         fr_fsr
65 #define Fpu_fsr         fr_fsr
66
67 #endif /* NM_FBSD_H */