Commit Graph

35 Commits

Author SHA1 Message Date
Richard Henderson 98a8e1e505 * alpha-tdep.c (alpha_supply_int_regs, alpha_fill_int_regs): New.
(alpha_supply_fp_regs, alpha_fill_fp_regs): New.
        * alpha-tdep.h: Declare them.

        * alpha-nat.c (fetch_osf_core_registers): Constify core_reg_mapping.
        Remove zerobuf.  Don't error on UNIQUE.
        (fetch_elf_core_registers): Use alpha_supply_{int,fp}_regs.
        (ALPHA_REGSET_UNIQUE): Provide default.
        (supply_gregset): Use alpha_supply_int_regs.
        (fill_gregset): Use alpha_fill_int_regs.
        (supply_fpregset): Use alpha_supply_fp_regs.
        (fill_fpregset): Use alpha_fill_fp_regs.
        * alphabsd-tdep.c (NUM_GREGS, NUM_FPREGS): Remove.
        (alphabsd_supply_reg): Use alpha_supply_int_regs.
        (alphabsd_fill_reg): Use alpha_fill_int_regs.
        (alphabsd_supply_fpreg): Use alpha_supply_fp_regs.
        (alphabsd_fill_fpreg): Use alpha_fill_fp_regs.
        * config/alpha/nm-linux.h (ALPHA_REGSET_UNIQUE): New.
2003-06-02 20:57:16 +00:00
Richard Henderson 44d8858367 * alpha-tdep.h (ALPHA_FP_REGNUM): Remove.
* alpha-tdep.c (alpha_register_name): Remove vfp entry.
        (alpha_cannot_fetch_register): Remove ALPHA_FP_REGNUM.
        (alpha_cannot_store_register): Likewise.
        * alphabsd-nat.c (fetch_inferior_registers): Don't set FP_REGNUM.
        * alpha-nat.c (supply_gregset): Likewise.
        * alphanbsd-tdep.c (fetch_core_registers): Likewise.
2003-06-01 21:46:37 +00:00
Richard Henderson 5ab8487279 * alpha-nat.c (fetch_osf_core_registers): Use ALPHA_REGISTER_SIZE
instead of ALPHA_MAX_REGISTER_RAW_SIZE.
        (supply_gregset): Likewise.
        * alpha-tdep.c (alpha_store_return_value): Likewise.
        (alpha_get_longjmp_target): Likewise.
        (alpha_register_name): Constify array.
        (alpha_gdbarch_init): Remove deprecated_fp_regnum,
        deprecated_register_size, deprecated_register_bytes,
        deprecated_max_register_raw_size, deprecated_max_register_virtual_size.
        * alpha-tdep.h (ALPHA_MAX_REGISTER_RAW_SIZE): Remove.
        (ALPHA_MAX_REGISTER_VIRTUAL_SIZE): Remove.
2003-06-01 18:44:13 +00:00
Andrew Cagney 0ba6dca974 2003-04-28 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh (DEPRECATED_TARGET_READ_FP): Replace TARGET_READ_FP.
	(DEPRECATED_FP_REGNUM): Replace FP_REGNUM.
	* gdbarch.h, gdbarch.c: Re-generate.
	* infcall.c (call_function_by_hand): Use DEPRECATED_FP_REGNUM,
	DEPRECATED_TARGET_READ_FP, or "sp" to create the dummy frame ID.
	* inferior.h (deprecated_read_fp): Rename read_fp.
	(generic_target_read_fp): Delete declaration.
	* regcache.c (generic_target_read_fp): Delete function.
	(deprecated_read_fp): Replace read_fp, use
	DEPRECATED_TARGET_READ_FP or DEPRECATED_FP_REGNUM.
	* d10v-tdep.c (d10v_read_fp): Delete function.
	(d10v_gdbarch_init): Do not set deprecated_read_fp.

	* sparc-tdep.c (sparc_gdbarch_init): Do not set
	deprecated_target_read_fp to generic_target_read_fp.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
	* frv-tdep.c (frv_gdbarch_init): Ditto.

	* xstormy16-tdep.c (xstormy16_gdbarch_init): Set
	deprecated_fp_regnum.
	* x86-64-tdep.c (x86_64_init_abi): Ditto.
	* vax-tdep.c (vax_gdbarch_init): Ditto.
	* v850-tdep.c (v850_gdbarch_init): Ditto.
	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* s390-tdep.c (s390_gdbarch_init): Ditto.
	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
	* mcore-tdep.c (mcore_gdbarch_init): Ditto.
	* m68k-tdep.c (m68k_gdbarch_init): Ditto.
	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
	* i386-tdep.c (i386_gdbarch_init): Ditto.
	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
	* h8300-tdep.c (h8300_gdbarch_init): Ditto.
	* frv-tdep.c (frv_gdbarch_init): Ditto.
	* cris-tdep.c (cris_gdbarch_init): Ditto.
	* avr-tdep.c (avr_gdbarch_init): Ditto.
	* arm-tdep.c (arm_gdbarch_init): Ditto.
	* alpha-tdep.c (alpha_gdbarch_init): Ditto.

	* x86-64-tdep.c (x86_64_init_abi): Set deprecated_target_read_fp.
	* v850-tdep.c (v850_gdbarch_init): Ditto.
	* sparc-tdep.c (sparc_gdbarch_init): Ditto.
	* sh-tdep.c (sh_gdbarch_init): Ditto.
	* s390-tdep.c (s390_gdbarch_init): Ditto.
	* rs6000-tdep.c (rs6000_gdbarch_init): Ditto.
	* mn10300-tdep.c (mn10300_gdbarch_init): Ditto.
	* mips-tdep.c (mips_gdbarch_init): Ditto.
	* m68hc11-tdep.c (m68hc11_gdbarch_init): Ditto.
	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
	* hppa-tdep.c (hppa_gdbarch_init): Ditto.
	* frv-tdep.c (frv_gdbarch_init): Ditto.
	* avr-tdep.c (avr_gdbarch_init): Ditto.
	* arm-tdep.c (arm_gdbarch_init): Ditto.

	* vax-tdep.c (vax_frame_init_saved_regs): Replace FP_REGNUM with
	DEPRECATED_FP_REGNUM.
	(vax_push_dummy_frame, vax_pop_frame): Ditto.
	* std-regs.c (value_of_builtin_frame_fp_reg): Ditto.
	* sparc-tdep.c (sparc_init_extra_frame_info): Ditto.
	(sparc_push_dummy_frame, sparc64_read_fp): Ditto.
	(sparc32_register_virtual_type): Ditto.
	* sh-tdep.c (sh64_frame_chain): Ditto.
	(sh64_get_saved_register, sh64_pop_frame): Ditto.
	(sh_nofp_frame_init_saved_regs): Ditto.
	(sh64_nofp_frame_init_saved_regs): Ditto.
	(sh_fp_frame_init_saved_regs): Ditto.
	* remote-mips.c (mips_wait, mips_fetch_registers): Ditto.
	* remote-e7000.c (fetch_regs_from_dump): Ditto.
	* procfs.c (procfs_fetch_registers): Ditto.
	(procfs_store_registers): Ditto.
	* ns32knbsd-nat.c (fetch_inferior_registers): Ditto.
	(store_inferior_registers, fetch_core_registers): Ditto.
	(fetch_kcore_registers, clear_regs): Ditto.
	* ns32k-tdep.c (ns32k_frame_init_saved_regs): Ditto.
	(ns32k_push_dummy_frame, ns32k_pop_frame): Ditto.
	* nlm/i386.h (DEPRECATED_FP_REGNUM): Ditto.
	* nlm/i386.c (do_status): Ditto.
	* mipsv4-nat.c (supply_gregset): Ditto.
	* mips-tdep.c: Ditto for comments.
	* mips-nat.c (fetch_inferior_registers): Ditto.
	(store_inferior_registers, fetch_core_registers): Ditto.
	* m68k-tdep.c (m68k_push_dummy_frame): Ditto.
	(m68k_pop_frame, m68k_frame_init_saved_regs): Ditto.
	* i386-tdep.c (i386_frame_init_saved_regs): Ditto.
	(i386_do_pop_frame, i386_register_type): Ditto.
	* hppa-tdep.c (hppa_frame_chain): Ditto.
	(hppa_push_dummy_frame, find_dummy_frame_regs): Ditto.
	(hppa_pop_frame, hppa_read_fp): Ditto.
	(skip_prologue_hard_way, hppa_frame_find_saved_regs): Ditto.
	* cris-tdep.c (cris_examine, cris_pop_frame): Ditto.
	* config/vax/nm-vax.h (REGISTER_U_ADDR): Ditto.
	* config/sparc/tm-sparc.h (DEPRECATED_FP_REGNUM): Ditto.
	* config/sparc/tm-sp64.h (DEPRECATED_FP_REGNUM): Ditto.
	* config/s390/tm-s390.h (DEPRECATED_FP_REGNUM): Ditto.
	* config/pa/tm-hppa64.h (DEPRECATED_FP_REGNUM): Ditto.
	* config/ia64/tm-ia64.h (DEPRECATED_FP_REGNUM): Ditto.
	* blockframe.c: Ditto for comments.
	* arch-utils.h: Ditto for comments.
	* arch-utils.c (legacy_virtual_frame_pointer): Ditto.
	* alphanbsd-tdep.c (fetch_core_registers): Ditto.
	* alphabsd-nat.c (fetch_inferior_registers): Ditto.
	* alpha-tdep.h: Ditto for comments.
	* alpha-tdep.c (alpha_cannot_fetch_register): Ditto.
	(alpha_cannot_store_register): Ditto.
	(alpha_push_dummy_frame): Ditto.
	* alpha-nat.c (supply_gregset): Ditto.

	* config/sparc/tm-sp64.h (DEPRECATED_TARGET_READ_FP): Update.
	* config/pa/tm-hppa64.h (DEPRECATED_TARGET_READ_FP): Update.
	* config/sparc/tm-sparc.h: Update comment.

	* hppa-tdep.c (hppa_init_extra_frame_info): Use
	deprecated_read_fp instead of TARGET_READ_FP.
	(hppa_init_extra_frame_info, hppa_frame_chain): Ditto.
	(hppa_push_dummy_frame, hppa_read_fp): Ditto.
	* sparc-tdep.c (sparc_init_extra_frame_info): Use
	deprecated_read_fp instead of read_fp.
	* s390-tdep.c (s390_push_arguments): Ditto.
	* ia64-tdep.c (ia64_gdbarch_init): Ditto.
	* frame.h: Ditto in comments.
	* frame.c (legacy_get_prev_frame): Ditto.
	* dummy-frame.c (dummy_frame_this_id): Ditto.
	* arm-tdep.c (arm_init_extra_frame_info): Ditto.

2003-04-28  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Replace
	read_fp, TARGET_READ_FP and FP_REGNUM, with deprecated_read_fp,
	DEPRECATED_TARGET_READ_FP and DEPRECATED_REGNUM.
2003-04-29 01:49:49 +00:00
Richard Henderson 87d1b352c8 * alpha-nat.c (REGISTER_PTRACE_ADDR): Merge into ...
(register_addr): ... here.  Support ALPHA_UNIQUE_REGNUM.
	(fetch_elf_core_registers): Support ALPHA_UNIQUE_REGNUM.
	* alpha-tdep.c (alpha_register_name): Add "unique".
	* alpha-tdep.h (ALPHA_NUM_REGS): Increment.
	(ALPHA_UNIQUE_REGNUM): New.
	* config/alpha/nm-linux.h (ALPHA_UNIQUE_PTRACE_ADDR): New.
2003-01-31 18:28:25 +00:00
Elena Zannoni e162d11b84 2002-12-06 Elena Zannoni <ezannoni@redhat.com>
* ia64-linux-nat.c: Include gdb_string.h.
	* alpha-nat.c: Ditto.
	* ia64-linux-nat.c: Ditto.
2002-12-06 16:59:05 +00:00
Andrew Cagney 524d7c188c 2002-11-14 Andrew Cagney <ac131313@redhat.com>
* regcache.h (deprecated_registers): Rename registers.
	* a68v-nat.c, alpha-nat.c, arch-utils.c, core-sol2.c: Update.
	* hp300ux-nat.c, hppab-nat.c, hppah-nat.c: Update.
	* hppam3-nat.c, hpux-thread.c, i386gnu-nat.c: Update.
	* ia64-aix-nat.c, ia64-linux-nat.c, ia64-tdep.c: Update.
	* irix4-nat.c, irix5-nat.c, lynx-nat.c, m68k-tdep.c: Update.
	* m68knbsd-nat.c, mips-linux-tdep.c, mipsm3-nat.c: Update.
	* mipsv4-nat.c, ns32knbsd-nat.c, ppc-bdm.c: Update.
	* ppc-sysv-tdep.c, ptx4-nat.c, regcache.c, remote-es.c: Update.
	* remote-sds.c, remote-vx68.c, remote-vxmips.c: Update.
	* remote-vxsparc.c, rs6000-tdep.c, sol-thread.c: Update.
	* sparc-nat.c, sparc-tdep.c, sun3-nat.c, symm-nat.c: Update.
	* v850ice.c: Update.
2002-11-14 20:37:29 +00:00
Andrew Cagney 8262ee2317 2002-11-06 Andrew Cagney <ac131313@redhat.com>
* regcache.h (deprecated_register_valid): Rename register_valid.
	* regcache.c: Update.
	* ia64-aix-nat.c: Update.
	* i386gnu-nat.c: Update.
	* alpha-nat.c: Update.
	* sparc-nat.c: Update.
	* lynx-nat.c: Update.
	* remote-mips.c: Update.
2002-11-07 02:40:28 +00:00
Jason Thorpe accc6d1ff3 * alpha-tdep.h (gdbarch_tdep): Add jb_pc and jb_elt_size members.
* alpha-linux-tdep.c (alpha_linux_init_abi): Initialize
tdep->jb_pc and tdep->jb_elt_size.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Likewise.
* alphafbsd-tdep.c (alphafbsd_init_abi): Likewise.
* alphanbsd-tdep.c (alphanbsd_init_abi): Likewise.
* alpha-nat.c (get_longjmp_target): Remove.
(JB_ELEMENT_SIZE): Ditto.
(JB_PC): Ditto.
* alpha-tdep.c (alpha_get_longjmp_target): New function.
(alpha_gdbarch_init): Default tdep->jb_pc to -1.  If the
OS ABI sets jb_pc to a valid value, set gdbarch_get_longjmp_target
to alpha_get_longjmp_target.
(alpha_dump_tdep): Report tdep->jb_pc and tdep->jb_elt_size.
* config/alpha/nm-linux.h (GET_LONGJMP_TARGET): Remove.
* config/alpha/nm-osf.h (GET_LONGJMP_TARGET): Remove.
2002-04-26 01:08:19 +00:00
Jason Thorpe b70d2aeea9 * alpha-nat.c (get_longjmp_target): Use ALPHA_* constants
where needed.
(fetch_osf_core_registers): Likewise.
(supply_gregset): Likewise.
2002-04-22 15:59:11 +00:00
Jason Thorpe dc129d8238 * alpha-tdep.h: New file. Includes several Alpha target constants
taken from...
* config/alpha/tm-alpha.h: ...here.  Remove macros that we now
let gdbarch deal with.
(GDB_MULTI_ARCH): Define as GDB_MULTI_ARCH_PARTIAL.
* Makefile.in (alpha-nat.o): Add alpha-tdep.h and $(BFD_SRC)/elf-bfd
to dependency list.
* alpha-nat.c: Include alpha-tdep.h.  Update for adjusted
Alpha target register names.
* alphabsd-nat.c: Likewise.
* alpha-tdep.c: Include alpha-tdep.h.  Update for adjusted
Alpha target register names.  Make serveral routines static.
(alpha_get_saved_register): New function.
(alpha_abi_names): New.
(process_note_abi_tag_sections): New function.
(get_elfosabi): New function.
(alpha_gdbarch_init): New function.
(alpha_dump_tdep): New function.
(_initialize_alpha_tdep): Register alpha_gdbarch_init.
2002-04-21 16:52:39 +00:00
Andrew Cagney f1e3ec292f * alpha-nat.c: Include <alpha/coreregs.h> instead of
<machine/reg.h>.
(fetch_osf_core_registers): Define core_reg_mapping in a way that
works on OSF5 as well as previous OSF versions.
2001-10-20 19:32:40 +00:00
Kevin Buettner b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Andrew Cagney 4e052eda91 Create new file regcache.h. Update all uses. 2001-03-01 01:39:22 +00:00
Mark Kettenis ce58987770 From Richard Henderson <rth@twiddle.net>:
* alpha-nat.c (supply_gregset, fill_gregset): Use gdb_gregset_t.
(supply_fpregset, fill_fpregset): Use gdb_fpregset_t.
2000-12-07 10:50:50 +00:00
Kevin Buettner fba45db2fa Protoization. 2000-07-30 01:48:28 +00:00
Kevin Buettner a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Michael Snyder c60c0f5f88 2000-05-26 Michael Snyder <msnyder@seadog.cygnus.com>
* gregset.h: New file.  Typedefs for gdb_gregset_t and
        gdb_fpregset_t, prototypes for supply_gregset and friends.
        * procfs.c: Include gregset.h.  Delete local prototypes for
        supply_gregset etc., and local typedef gdb_gregset_t etc.
        * sol-thread.c: Include gregset.h, delete local prototypes,
        add appropriate casts to gdb_gregset_t.
        * uw-thread.c, lin-thread.c, core-sol2.c, core-regset.c,
        sparc-tdep.c, ptx4-nat.c, ppc-linux-nat.c, mipsv4-nat.c,
        m88k-nat.c, m68klinux-nat.c, m68k-tdep.c, irix5-nat.c,
        irix4-nat.c, ia64-linux-nat.c, i386v4-nat.c, cxux-nat.c,
        arm-linux-nat.c, alpha-nat.c: Include gregset.h.
        * config/nm-linux.h: Define GDB_GREGSET_T, GDB_FPREGET_T.
        * config/sparc/tm-sun4sol2.h: Ditto.
2000-05-26 23:22:41 +00:00
Jason Molenda 2acceee218 import gdb-1999-10-04 snapshot 1999-10-05 23:13:56 +00:00
Jason Molenda c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Stan Shebs c906108c21 Initial creation of sourceware repository 1999-04-16 01:35:26 +00:00
Stan Shebs 071ea11e85 Initial creation of sourceware repository 1999-04-16 01:34:07 +00:00
Andrew Cagney d70a61e74c CARP:
More replace reg_name[] with REGISTER_NAME().
1998-12-10 23:07:24 +00:00
Jason Molenda 879c041771 1998-10-14 Jason Molenda (jsm@bugshack.cygnus.com)
* defs.h: Move _initialize_printcmd, _initialize_stack,
        _initialize_blockframe out of here and in to their respective .c files.
        * blockframe.c: Move _initialize_blockframe prototype to here.
        * printcmd.c: Move _initialize_printcmd prototype to here.
        * stack.c: Move _initialize_stack prototype to here.

        * source.c, symtab.h: Move _initialize_source prototype to the .c file.
        * values.c, value.h: Move _initialize_values prototype to the .c file.
        * gdbthread.h, thread.c: Move _initialize_thread prototype to the .c
        file.
        * breakpoint.c, breakpoint.h: Move _initialize_breakpoint prototype
        to the .c file.

        * abug-rom.c alpha-nat.c alpha-tdep.c annotate.c ax-gdb.c bcache.c:
        Standardize comments for the prototype section of these files.

        * configure.in: Look in libc for wctype before looking for it in libc.

The last one is to fix the GNU ld (~2.9.1) + Solaris 2.6 interaction problem
where an empty stub library (libw) causes a core dump when we call vasprintf
(e.g. `info br') in the final linked gdb.
1998-10-14 23:44:13 +00:00
Jason Molenda 716e3a4f19 Tue Mar 3 14:37:02 1998 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* alpha-nat.c (fetch_osf_core_registers):  Renamed from
        fetch_aout_core_registers.
        (alpha_osf_core_fns):  Renamed from alpha_aout_core_fns, change
        flavour to bfd_target_unknown_flavour for OSF core files.
1998-03-03 22:38:38 +00:00
Richard Henderson ffa1f5b9c3 * alpha-nat.c (fetch_aout_core_registers): Rename from
fetch_core_registers.
(fetch_elf_core_registers): New function.
(supply_gregset): Use ALPHA_REGSET_BASE.
(supply_fpregset): Likewise.
(fill_fpregset): Likewise.
(alpha_aout_core_fns): Rename from alpha_core_fns.
(alpha_elf_core_fns): New.
* config/alpha/alpha-linux.mh (NATDEPFILES): solib.o not osfsolib.o.
Disable MMALLOC.
* config/alpha/nm-linux.h (SVR4_SHARED_LIBS): Define if ELF.
(TARGET_ELF64): Likewise.
(ALPHA_REGSET_BASE): New.
* config/alpha/nm-osf.h (ALPHA_REGSET_BASE): New.
* config/alpha/tm-alphalinux.h: Include tm-sysv4.h.

* solib.c (elf_locate_base): Add TARGET_ELF64 support.
(info_sharedlibary_command): Likewise.

* configure.host: Match alpha*.
* configure.tgt: Likewise.
1998-02-03 01:20:27 +00:00
Fred Fish 948a9d9233 * alpha-nat.c (fetch_core_registers): Match Sep 4 gdbcore.h prototype
change for core_read_registers in struct core_fns.
	* core-regset.c (fetch_core_registers): Ditto & add prototype.
	* core-sol2.c (fetch_core_registers): Ditto & add prototype.
	* i386aix-nat.c (fetch_core_registers): Ditto & add prototype.
	* i386b-nat.c (fetch_core_registers): Ditto.
	* i386mach-nat.c (fetch_core_registers): Ditto & add prototype.
	* irix4-nat.c (fetch_core_registers): Ditto.
	* irix5-nat.c (fetch_core_registers): Ditto.
	* lynx-nat.c (fetch_core_registers): Ditto & add prototype.
	* m68knbsd-nat.c (fetch_core_registers): Ditto.
	* mips-nat.c (fetch_core_registers): Ditto & add prototype.
	* rs6000-nat.c (fetch_core_registers): Ditto.
	* sparc-nat.c (fetch_core_registers): Ditto.
	* sun3-nat.c (fetch_core_registers): Ditto & add prototype.
	* ultra3-nat.c (fetch_core_registers): Ditto & add prototype.

	* alpha-nat.c (register_addr): Match Sep 4 gdbcore.h prototype change.
	* delta68-nat.c (register_addr): Ditto.
	* gdbserver/low-linux.c (register_addr): Ditto.
	* gdbserver/low-hppabsd.c (register_addr): Ditto.
	* i386m3-nat.c (register_addr): Ditto.
	* mips-nat.c (register_addr): Ditto.
	* ultra3-nat.c (register_addr): Ditto.
1996-09-09 03:01:49 +00:00
Fred Fish b607efe714 See gdb ChangeLog entry with header:
Thu Jul 25 19:41:31 1996  Fred Fish  <fnf@cygnus.com>

for a rather huge set of changes.  I was going to put them here, but it
made cvs dump core.  :-(
1996-07-26 03:01:51 +00:00
Fred Fish 9391c9977e Changes from: David Mosberger-Tang <davidm@azstarnet.com>
* NEWS:  Add Alpha Linux as a new native configuration.

	* mdebugread.c (parse_symbol): When we find a malloc() symbol with
 	return type VOID, assume no debugging info is available for that
 	object file and patch the return value into VOID *.  Otherwise,
	operations requiring an implicit call to malloc() will fail.

	* infrun.c (wait_for_inferior): The criterion to detect entering a
 	sigtramp handler is now: (a) the current pc is inside a sigtramp
 	handler, (b) the previous pc is not in a sigtramp handler, and (c)
 	the current stack pointer is "inner" than the old one.  Condition
	(c) is new to avoid mistaking a return from a signal handler into
 	sigtramp as a new sigtramp invocation.

	* dcache.c (struct dcache_block): Declare addr as CORE_ADDR.  An
 	int may not be big enough to hold an address.
	(dcache_hit): Ditto.
	(dcache_peek_byte): Fix indentation.

	* configure.in (alpha-*-linux*): Add target.
	* configure: Rebuild

	* config/alpha/tm-alpha.h (PROC_DESC_IS_DYN_SIGTRAMP): New macro.
	(SET_PROC_DESC_IS_DYN_SIGTRAMP): Ditto.
	(DYNAMIC_SIGTRAMP_OFFSET): Ditto.
	(SIGCONTEXT_ADDR): Ditto.
	(FRAME_PAST_SIGTRAMP_FRAME): Ditto.

	* config/alpha/alpha-linux.mh: New file.
	* config/alpha/alpha-linux.mt: Ditto.
	* config/alpha/nm-linux.h: Ditto.
	* config/alpha/tm-alphalinux.h: Ditto.
	* config/alpha/xm-alphalinux.h: Ditto.
	* config/alpha/xm-alphaosf.h: Renamed from xm-alpha.h.
	* config/alpha/alpha-osf1.mh (XM_FILE): Change from xm-alpha.h to
 	xm-alphaosf.h.
	* config/alpha/alpha-osf2.mh: Ditto.

	* blockframe.c (find_pc_partial_function): Pass PC to
 	SIGTRAMP_START and SIGTRAMP_END macros for the benefit of systems
 	that detect sigtramp code via designated code sequences (as is the
 	case for Linux/Alpha, for example).

	* config/i386/tm-i386bsd.h: Change SIGTRAMP_START and SIGTRAMP_END
	to ignore new PC argument.
	* config/m68k/tm-hp300bsd.h: Ditto.
	* config/vax/tm-vax.h: Ditto.

	* alpha-tdep.c (alpha_linux_sigtramp_offset): New function.
	(alpha_osf_skip_sigtramp_frame): Ditto.
	(push_sigtramp_desc): Ditto.
	(alpha_find_saved_regs): Use SIGCONTEXT_ADDR macro to extract
 	sigcontext address from frame.
	(alpha_saved_pc_after_call): When in sigtramp, use
 	alpha_frame_saved_pc() instead of read-register().
	(after_prologue): When inside a dynamically generated sigtramp
 	function, there is no prologue, so return address of first
 	instruction.
	(alpha_in_prologue): Fix typo in comment.
	(find_proc_desc): Use macro DYNAMIC_SIGTRAMP_OFFSET to determine
 	whether we're inside a dynamicaly generated sigtramp function.  If
 	so, create and push and appropriate procedure descriptor.
	(alpha_frame_chain): Use macro FRAME_PAST_SIGTRAMP_FRAME to obtain
 	the frame past a sigtramp frame (if the current frame is indeed a
 	sigtramp function).
	(init_extra_frame_info): Don't read next frame register off of
 	stack-pointer when inside a dynamiccaly generated sigtramp.
	(alpha_pop_frame): Also unlink and destroy procedure descriptors
 	created for dynamically generated sigtramp functions.

	* alpha-nat.c: When compiling under Linux, include <asm/reg.h> and
 	<alpha/ptrace.h> instead of <machine/reg.h>
1996-05-26 21:41:40 +00:00
Fred Fish a1df8e780c * coredep.c: Renamed to core-aout.c
* core-svr4.c: Renamed to core-regset.c
	* Makefile.in (ALLDEPFILES): Account for renamings.
	* corelow.c (core_file_fns): Add, points to chain of structs.
	(add_core_fns): New function to build chain of structs.
	(get_core_registers): Modify to search core functions chain and call
 	appropriate fetch_core_registers function based on core file flavour.
	* gdbcore.h (fetch_core_registers):  Remove declaration.
	(struct core_fns): Define struct for core function info.
	* i386m3-nat.c: Update comment for filename change (coredep->core-aout)
	* a68v-nat.c (fetch_core_registers): Remove stub, not needed now.
	* alpha-nat.c (fetch_core_registers): Make static.
	(alpha_core_fns, _initialize_core_alpha): New struct and func.
	* core-aout.c (fetch_core_registers): Make static
	(aout_core_fns, _initialize_core_aout): New struct and func.
	* core-regset.c (fetch_core_registers): Make static.
	(regset_core_fns, _initialize_core_regset): New struct and func.
	* core-sol2.c (fetch_core_registers): Make static.
	(solaris_core_fns, _initialize_core_solaris): New struct and func.
	* hp300ux-nat.c (fetch_core_registers): Make static.
	(hp300ux_core_fns, _initialize_core_hp300ux): New struct and func.
	* i386aix-nat.c (fetch_core_registers): Make static.
	(i386aix_core_fns, _initialize_core_i386aix): New struct and func.
	* i386mach-nat.c (fetch_core_registers: Make static.
	(i386mach_core_fns, _initialize_core_i386mach): New struct and func.
	* irix4-nat.c (fetch_core_registers): Make static.
	(irix4_core_fns, _initialize_core_irix4): New struct and func.
	* irix5-nat.c (fetch_core_registers):
	(irix5_core_fns, _initialize_core_irix5): New struct and func.
	* lynx-nat.c (fetch_core_registers): Make static.
	(lynx_core_fns, _initialize_core_lynx): New struct and func.
	* mips-nat.c (fetch_core_registers): Make static.
	(mips_core_fns, _initialize_core_mips): New struct and func.
	* ns32km3-nat.c (fetch_core_registers): Remove stub.
	* rs6000-nat.c (fetch_core_registers): Make static.
	(rs6000_core_fns, _initialize_core_rs6000): New struct and func.
	* sparc-nat.c (fetch_core_registers): Make static.
	(sparc_core_fns, _initialize_core_sparc): New struct and func.
	* sun3-nat.c (fetch_core_registers):
	(sun3_core_fns, _initialize_core_sun3): New struct and func.
	* sun386-nat.c (fetch_core_registers): Remove stub.
	* ultra3-nat.c (fetch_core_registers): Make static.
	(ultra3_core_fns, _initialize_core_ultra3): New struct and func.
	* config/gould/pn.mh (XDEPFILES),
 	config/i386/fbsd.mh (NATDEPFILES),
	config/i386/i386bsd.mh (NATDEPFILES),
 	config/i386/i386m3.mh (XDEPFILES),
	config/i386/i386sco.mh (NATDEPFILES),
	config/i386/i386sco4.mh (NATDEPFILES),
	config/i386/i386v.mh (NATDEPFILES),
	config/i386/i386v32.mh (NATDEPFILES),
	config/i386/nbsd.mh (NATDEPFILES),
	config/i386/ptx.mh (XDEPFILES),
	config/i386/ptx4.mh (XDEPFILES),
	config/i386/symmetry.mh (NATDEPFILES),
	config/m68k/3b1.mh (XDEPFILES),
	config/m68k/cisco.mt (TDEPFILES),
	config/m68k/delta68.mh (NATDEPFILES),
	config/m68k/dpx2.mh (NATDEPFILES),
	config/m68k/hp300bsd.mh (NATDEPFILES),
	config/m68k/hp300hpux.mh (NATDEPFILES),
	config/m68k/isi.mh (XDEPFILES),
	config/m68k/news.mh (NATDEPFILES),
	config/m68k/news1000.mh (XDEPFILES),
	config/m88k/cxux.mh (NATDEPFILES),
	config/m88k/delta88.mh (NATDEPFILES),
	config/mips/littlemips.mh (XDEPFILES),
	config/mips/mipsm3.mh (XDEPFILES),
	config/ns32k/merlin.mh (XDEPFILES),
	config/ns32k/nbsd.mh (NATDEPFILES),
	config/ns32k/ns32km3.mh (NATDEPFILES),
	config/pa/hppabsd.mh (NATDEPFILES),
	config/pa/hppahpux.mh (NATDEPFILES),
	config/romp/rtbsd.mh (XDEPFILES),
	config/tahoe/tahoe.mh (XDEPFILES),
	config/vax/vaxbsd.mh (XDEPFILES),
	config/vax/vaxult.mh (NATDEPFILES),
	config/vax/vaxult2.mh (NATDEPFILES),
	Account for coredep.o to core-aout.o name change.
	* config/i386/i386dgux (NATDEPFILES),
	config/i386/i386sol2.mh (NATDEPFILES),
	config/i386/i386v4.mh (NATDEPFILES),
	config/i386/linux.mh (NATDEPFILES),
	config/i386/ncr3000.mh (NATDEPFILES),
	config/m68k/m68kv4.mh (NATDEPFILES),
	config/m88k/delta88v4.mh (NATDEPFILES),
	config/mips/mipsv4.mh (NATDEPFILES),
	Account for core-svr4.o to core-regset.o name change.
1996-01-11 20:08:15 +00:00
Fred Fish 7531f36e8e Changes to hexdump "struct user" for child process on some configurations
that use ptrace().  This is not as useful as doing a full dump in a
human readable format, but is better than nothing when you are trying
to verify what is actually in the user struct.

	* infptrace.c (udot_info): New function.
	(PT_*): Define each individually if that one is not defined.
	Update copyright to 1996.
	* rs6000-nat.c (kernel_u_size): New function
	Include <sys/user.h> for "struct user"
	Update copyright to 1996.
	* alpha-nat.c (kernel_u_size): New function.
	Include <sys/user.h> for "struct user"
	Update copyright to 1996.
	* sparc-nat.c (kernel_u_size): New function.
	Include <sys/user.h> for "struct user"
	Update copyright to 1996.
	* i386b-nat.c (kernel_u_size): New function.
	Update copyright to 1996.
	* i386v-nat.c (kernel_u_size): New function.
	Update copyright to 1996.
	* config/i386/nm-fbsd.h (KERNEL_U_SIZE): Define.
	(kernel_u_size): Declare.
	Update copyright to 1996.
	* config/i386/nm-linux.h (KERNEL_U_SIZE): Define.
	(kernel_u_size): Declare.
	Update copyright to 1996.
	* config/sparc/nm-sun4os4.h (KERNEL_U_SIZE): Define.
	(kernel_u_size): Declare.
	Update copyright to 1996.
	* config/alpha/nm-osf2.h (KERNEL_U_SIZE): Define.
	(kernel_u_size): Declare.
	Update copyright to 1996.
	* config/rs6000/nm-rs6000.h (KERNEL_U_SIZE): Define.
	(kernel_u_size): Declare.
	Update copyright to 1996.
1996-01-04 21:09:59 +00:00
Fred Fish 6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Peter Schauer 3f403f6ab3 * alpha-nat.c, irix4-nat.c, irix5-nat.c, mipsv4-nat.c,
sparc-tdep.c (supply_gregset, supply_fpregset):  Fill inaccessible
	registers with zero to handle recent read_register_bytes change.
	* irix4-nat.c, irix5-nat.c, mipsv4-nat.c (supply_gregset,
	fill_gregset):  Fix handling of CAUSE_REGNUM.
	* mips-nat.c (store_inferior_registers):  Handle unwritable
	registers when storing a single register.
	* config/mips/tm-irix3.h (CAUSE_REGNUM, BADVADDR_REGNUM):
	Fix definitions.

	* mdebugread.c (parse_symbol, psymtab_to_symtab_1):  Clear
	allocated mips_extra_func_info, if the debug info is corrupt,
	the PDR to fill it in might be missing.
1995-03-28 06:57:39 +00:00
Peter Schauer 2592eef89b * README: Add note about SPARCworks cc release 3.0 and higher.
Add procfs support for Alpha OSF/1-2.x.
	* config/alpha/nm-osf.h:  Renamed from nm-alpha.h, generic
	OSF/1 native support.
	* config/alpha/alpha-osf1.mh (NAT_FILE):  Changed accordingly.
	(MUNCH_DEFINE):  Removed.
	* config/alpha/alpha-osf2.mh, config/alpha/nm-osf2.h:  New files
	for procfs support.
	* configure.in (alpha-dec-osf*):  Use alpha-osf2.mh for OSF/1
	release 2.x and higher, else alpha-osf1.mh, as the procfs support
	in release 1.x is incomplete.
	* Makefile.in (ALLCONFIG):  Add config/alpha/alpha-osf2.mh.
	* alpha-nat.c (supply_gregset, fill_gregset, supply_fpgregset,
	fill_fpgregset):  New routines for procfs support.
	* inftarg.c (_initialize_inftarg):  Don't add ptrace support
	if we have an optional procfs and /proc is accessible.
	* procfs.c:  Include sys/fault.h and sys/syscall.h before
	including sys/procfs.h.
	(unconditionally_kill_inferior):  If PROCFS_NEED_PIOCSSIG_FOR_KILL
	is defined, additionally perform a PIOCSSIG to really terminate
	the inferior.
	(create_procinfo):  Always return a result.
	(create_procinfo, do_attach):  Don't trace T_IFAULT faults if
	PROCFS_DONT_TRACE_IFAULT is defined.
	(procfs_init_inferior):  Use START_INFERIOR_TRAPS_EXPECTED as
	argument to startup_inferior if it is defined.
	(proc_set_exec_trap):  If PIOCSSPCACT is defined, use it instead
	of tracing exits from exec system calls. Needed for the user level
	loader under Alpha OSF/1.
	(do_detach):  Clear any pending signal if we want to detach from
	a process without a signal.
	(set_proc_siginfo):  If PROCFS_DONT_PIOCSSIG_CURSIG is defined,
	don't issue a PIOCSSIG if pr_cursig already contains the signal we
	intend to set.
	(info_proc_signals):  If PROCFS_SIGPEND_OFFSET is defined, the
	pending signals are numbered from 1 instead of 0.
	(info_proc_mappings):  Increase size of output format for addresses
	if BFD_HOST_64_BIT is defined.
	(procfs_stop):  Renamed from child_stop.
	(_initialize_procfs):  Don't add procfs support if we have an
	optional procfs and /proc is not accessible.
1995-01-12 18:12:04 +00:00
Peter Schauer cef4c2e7a5 Changes to support alpha OSF/1 in native mode.
* alpha-nat.c, alpha-tdep.c, config/alpha/alpha-osf1.mt,
	  config/alpha/nm-alpha.h, config/alpha/tm-alpha.h, osfsolib.c:
	New files.
	* Makefile.in:  Add new files and dependencies.
	* configure.in:  Add alpha target.
	* config/alpha/alpha-osf1.mh (NATDEPFILES):  Add osfsolib.o
	* config/alpha/alpha-osf1.mh (MH_CFLAGS):  Remove, we can handle
	shared libraries now.
	* config/alpha/xm-alpha.h:  Cleanup, get MAKEVA_* defines right.

	* defs.h (CORE_ADDR):  Make its type overridable via CORE_ADDR_TYPE,
	provide `unsigned int' default.
	* breakpoint.c (breakpoint_auto_delete):  Delete only if we really
	stopped for the breakpoint.
	* stabsread.c, stabsread.h (define_symbol):  Change valu parameter
	to a CORE_ADDR.
	* stabsread.c (read_range_type):  Handle the case where the lower
	bound overflows and the upper doesn't and the range is legal.
	* infrun.c (resume):  Do not step a breakpoint instruction if
	CANNOT_STEP_BREAKPOINT is defined.

	* inferior.h (CALL_DUMMY_LOCATION):  New variant AT_ENTRY_POINT.
	Now that we have the bp_call_dummy breakpoint the call dummy code
	is no longer needed. PUSH_DUMMY_FRAME, PUSH_ARGUMENTS and
	FIX_CALL_DUMMY can be used to set up everything for the dummy.
	The breakpoint for the dummy is set at the entry point and thats it.
	* blockframe.c (inside_entry_file, inside_entry_func):  Do not stop
	backtraces if pc is in the call dummy at the entry point.
	* infcmd.c (run_stack_dummy):  Handle AT_ENTRY_POINT case. Use
	the expected breakpoint pc when setting up the frame for
	set_momentary_breakpoint.
	* symfile.c (entry_point_address):  New function for AT_ENTRY_POINT
	support.
	* valops.c (call_function_by_hand):  Handle AT_ENTRY_POINT case.
1993-10-05 19:44:57 +00:00