Implement CLOCK_MONOTONIC using getnanouptime(), which in DragonFly is
[dragonfly.git] / contrib / gdb / gdb / config / i386 / nm-fbsd.h
1 /* Native-dependent definitions for Intel 386 running BSD Unix, for GDB.
2    Copyright 1986, 1987, 1989, 1992, 1996 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 #ifndef NM_FREEBSD_H
21 #define NM_FREEBSD_H
22
23 /* Be shared lib aware */
24 #include "solib.h"
25
26 /* This is the amount to subtract from u.u_ar0
27    to get the offset in the core file of the register values.  */
28
29 #include <machine/vmparam.h>
30 #define KERNEL_U_ADDR USRSTACK
31
32 #define REGISTER_U_ADDR(addr, blockend, regno) \
33         (addr) = i386_register_u_addr ((blockend),(regno));
34
35 extern int
36 i386_register_u_addr PARAMS ((int, int));
37
38 #define PTRACE_ARG3_TYPE char*
39
40 /* make structure definitions match up with those expected in solib.c */
41 #define link_object     sod
42 #define lo_name         sod_name
43 #define lo_library      sod_library
44 #define lo_unused       sod_reserved
45 #define lo_major        sod_major
46 #define lo_minor        sod_minor
47 #define lo_next         sod_next
48
49 #define link_map        so_map
50 #define lm_addr         som_addr
51 #define lm_name         som_path
52 #define lm_next         som_next
53 #define lm_lop          som_sod
54 #define lm_lob          som_sodbase
55 #define lm_rwt          som_write
56 #define lm_ld           som_dynamic
57 #define lm_lpd          som_spd
58
59 #define link_dynamic_2  section_dispatch_table
60 #define ld_loaded       sdt_loaded
61 #define ld_need         sdt_sods
62 #define ld_rules        sdt_filler1
63 #define ld_got          sdt_got
64 #define ld_plt          sdt_plt
65 #define ld_rel          sdt_rel
66 #define ld_hash         sdt_hash
67 #define ld_stab         sdt_nzlist
68 #define ld_stab_hash    sdt_filler2
69 #define ld_buckets      sdt_buckets
70 #define ld_symbols      sdt_strings
71 #define ld_symb_size    sdt_str_sz
72 #define ld_text         sdt_text_sz
73 #define ld_plt_sz       sdt_plt_sz
74
75 #define rtc_symb        rt_symbol
76 #define rtc_sp          rt_sp
77 #define rtc_next        rt_next
78
79 #define ld_debug        so_debug
80 #define ldd_version     dd_version
81 #define ldd_in_debugger dd_in_debugger
82 #define ldd_sym_loaded  dd_sym_loaded
83 #define ldd_bp_addr     dd_bpt_addr
84 #define ldd_bp_inst     dd_bpt_shadow
85 #define ldd_cp          dd_cc
86
87 #define link_dynamic    _dynamic
88 #define ld_version      d_version
89 #define ldd             d_debug
90 #define ld_un           d_un
91 #define ld_2            d_sdt
92
93 /* Return sizeof user struct to callers in less machine dependent routines */
94
95 #define KERNEL_U_SIZE kernel_u_size()
96 extern int kernel_u_size PARAMS ((void));
97
98 #endif /* NM_FREEBSD_H */