]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/gdb/gdb/config/i386/nm-obsd.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / gdb / gdb / config / i386 / nm-obsd.h
1 /* Native-dependent definitions for OpenBSD/i386.
2
3    Copyright 2001, 2004 Free Software Foundation, Inc.
4
5    This file is part of GDB.
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 59 Temple Place - Suite 330,
20    Boston, MA 02111-1307, USA.  */
21
22 #ifndef NM_OBSD_H
23 #define NM_OBSD_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 /* Support for the user struct.  */
36
37 /* Return the size of the user struct.  */
38
39 #define KERNEL_U_SIZE kernel_u_size ()
40 extern int kernel_u_size (void);
41
42 /* This is the amount to subtract from u.u_ar0
43    to get the offset in the core file of the register values.  */
44
45 #include <machine/vmparam.h>
46 #define KERNEL_U_ADDR USRSTACK
47
48 #define REGISTER_U_ADDR(addr, blockend, regno) \
49   (addr) = register_u_addr ((blockend), (regno))
50 extern CORE_ADDR register_u_addr (CORE_ADDR blockend, int regno);
51 \f
52
53 /* Shared library support.  */
54
55 #include "solib.h"
56
57 /* Make structure definitions match up with those expected in
58    `solib-sunos.c'.  */
59
60 #define link_object     sod
61 #define lo_name         sod_name
62 #define lo_library      sod_library
63 #define lo_unused       sod_reserved
64 #define lo_major        sod_major
65 #define lo_minor        sod_minor
66 #define lo_next         sod_next
67
68 #define link_map        so_map
69 #define lm_addr         som_addr
70 #define lm_name         som_path
71 #define lm_next         som_next
72 #define lm_lop          som_sod
73 #define lm_lob          som_sodbase
74 #define lm_rwt          som_write
75 #define lm_ld           som_dynamic
76 #define lm_lpd          som_spd
77
78 #define link_dynamic_2  section_dispatch_table
79 #define ld_loaded       sdt_loaded
80 #define ld_need         sdt_sods
81 #define ld_rules        sdt_filler1
82 #define ld_got          sdt_got
83 #define ld_plt          sdt_plt
84 #define ld_rel          sdt_rel
85 #define ld_hash         sdt_hash
86 #define ld_stab         sdt_nzlist
87 #define ld_stab_hash    sdt_filler2
88 #define ld_buckets      sdt_buckets
89 #define ld_symbols      sdt_strings
90 #define ld_symb_size    sdt_str_sz
91 #define ld_text         sdt_text_sz
92 #define ld_plt_sz       sdt_plt_sz
93
94 #define rtc_symb        rt_symbol
95 #define rtc_sp          rt_sp
96 #define rtc_next        rt_next
97
98 #define ld_debug        so_debug
99 #define ldd_version     dd_version
100 #define ldd_in_debugger dd_in_debugger
101 #define ldd_sym_loaded  dd_sym_loaded
102 #define ldd_bp_addr     dd_bpt_addr
103 #define ldd_bp_inst     dd_bpt_shadow
104 #define ldd_cp          dd_cc
105
106 #define link_dynamic    _dynamic
107 #define ld_version      d_version
108 #define ldd             d_debug
109 #define ld_un           d_un
110 #define ld_2            d_sdt
111
112 #endif /* nm-obsd.h */