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