nm-fbsd.h revision 19370
1/* Native-dependent definitions for Intel 386 running BSD Unix, for GDB.
2   Copyright 1986, 1987, 1989, 1992, 1996 Free Software Foundation, Inc.
3
4This file is part of GDB.
5
6This program is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program; if not, write to the Free Software
18Foundation, 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 FLOAT_INFO extern i386_float_info (); \
33						  i386_float_info ()
34
35#define REGISTER_U_ADDR(addr, blockend, regno) \
36	(addr) = i386_register_u_addr ((blockend),(regno));
37
38extern int
39i386_register_u_addr PARAMS ((int, int));
40
41#define PTRACE_ARG3_TYPE char*
42
43/* make structure definitions match up with those expected in solib.c */
44#define link_object	sod
45#define lo_name		sod_name
46#define lo_library	sod_library
47#define lo_unused	sod_reserved
48#define lo_major	sod_major
49#define lo_minor	sod_minor
50#define lo_next		sod_next
51
52#define link_map	so_map
53#define lm_addr		som_addr
54#define lm_name		som_path
55#define lm_next		som_next
56#define lm_lop		som_sod
57#define lm_lob		som_sodbase
58#define lm_rwt		som_write
59#define lm_ld		som_dynamic
60#define lm_lpd		som_spd
61
62#define link_dynamic_2	section_dispatch_table
63#define ld_loaded	sdt_loaded
64#define ld_need		sdt_sods
65#define ld_rules	sdt_filler1
66#define ld_got		sdt_got
67#define ld_plt		sdt_plt
68#define ld_rel		sdt_rel
69#define ld_hash		sdt_hash
70#define ld_stab		sdt_nzlist
71#define ld_stab_hash	sdt_filler2
72#define ld_buckets	sdt_buckets
73#define ld_symbols	sdt_strings
74#define ld_symb_size	sdt_str_sz
75#define ld_text		sdt_text_sz
76#define ld_plt_sz	sdt_plt_sz
77
78#define rtc_symb	rt_symbol
79#define rtc_sp		rt_sp
80#define rtc_next	rt_next
81
82#define ld_debug	so_debug
83#define ldd_version	dd_version
84#define ldd_in_debugger	dd_in_debugger
85#define ldd_sym_loaded	dd_sym_loaded
86#define ldd_bp_addr	dd_bpt_addr
87#define ldd_bp_inst	dd_bpt_shadow
88#define ldd_cp		dd_cc
89
90#define link_dynamic	_dynamic
91#define ld_version	d_version
92#define ldd		d_debug
93#define ld_un		d_un
94#define ld_2		d_sdt
95
96/* Return sizeof user struct to callers in less machine dependent routines */
97
98#define KERNEL_U_SIZE kernel_u_size()
99extern int kernel_u_size PARAMS ((void));
100
101#endif /* NM_FREEBSD_H */
102