Commit graph

35 commits

Author SHA1 Message Date
Andrew Cagney
25e3a86bb1 2003-06-08 Andrew Cagney <cagney@redhat.com>
* frame.c (get_prev_frame): Remove reference to
	frame_args_address_correct in comments.
	* frame-base.c (default_frame_args_address): Delete code
	conditional on FRAME_ARGS_ADDRESS_CORRECT.
	* vax-tdep.c (vax_frame_args_address_correct): Delete.
	(vax_frame_args_address): Merge in vax_frame_args_address_correct.
	* config/vax/tm-vax.h (FRAME_ARGS_ADDRESS_CORRECT): Delete
	(vax_frame_args_address_correct): Delete declaration.

Index: doc/ChangeLog
2003-06-08  Andrew Cagney  <cagney@redhat.com>

	* gdbint.texinfo (Target Architecture Definition): Delete
	documentation on FRAME_ARGS_ADDRESS_CORRECT.
2003-06-09 02:10:35 +00:00
Jason Thorpe
099c7589fe * config/vax/tm-vax.h: Protect from multiple inclusion.
(TARGET_UPAGES, TARGET_NBPG, STACK_END_ADDR)
(SIGTRAMP_START, SIGTRAMP_END, SIGCONTEXT_PC_OFFSET): Move to...
* config/vax/tm-vaxbsd.h: ...here.  New file.
* config/vax/vax.mt (TM_FILE): Set to tm-vaxbsd.h.
2002-06-26 17:39:30 +00:00
Jason Thorpe
1d049c5e1d * config/vax/tm-vax.h (BREAKPOINT): Remove.
(BELIEVE_PCC_PROMOTION): Remove.
(AP_REGNUM): Move to...
* config/vax/nm-vax.h: ...here.
* vax-tdep.c: Use VAX_AP_REGNUM instead of AP_REGNUM.
(vax_breakpoint_from_pc): New function.
(vax_gdbarch_init): Initialize gdbarch_breakpoint_from_pc
and gdbarch_believe_pcc_promotion.
2002-06-26 17:20:36 +00:00
Jason Thorpe
f267bd6a08 * Makefile.in (vax-tdep.o): Add $(arch_utils_h), $(inferior_h),
and vax-tdep.h.
* vax-tdep.h: New file.
* vax-tdep.c: Include inferior.h, arch-utils.h, and vax-tdep.h.
Make several routines static.
(vax_get_saved_register): New function.
(vax_gdbarch_init): New function.
(_initialize_vax_tdep): Register vax_gdbarch_init.
* config/vax/tm-vax.h: Set GDB_MULTI_ARCH to GDB_MULTI_ARCH_PARTIAL.
Remove macros now under the control of gdbarch.
2002-04-23 00:53:31 +00:00
Jason Thorpe
a33f755889 * vax-tdep.c: Include regcache.h.
(vax_call_dummy_words): New.
(sizeof_vax_call_dummy_words): New.
(vax_fix_call_dummy): New function.
(vax_saved_pc_after_call): Ditto.
* config/vax/tm-vax.h: Don't include regcache.h.
(SAVED_PC_AFTER_CALL): Use vax_saved_pc_after_call.
(CALL_DUMMY): Remove.
(CALL_DUMMY_WORDS): Define.
(SIZEOF_CALL_DUMMY_WORDS): Define.
(FIX_CALL_DUMMY): Use vax_fix_call_dummy.
2002-04-22 23:13:50 +00:00
Jason Thorpe
52efde73b9 * vax-tdep.c (vax_frame_chain): New function.
(vax_push_dummy_frame): Ditto.
(vax_pop_frame): Ditto.
* config/vax/tm-vax.h (FRAME_CHAIN): vax_frame_chain.
(FRAMELESS_FUNCTION_INVOCATION): Use
generic_frameless_function_invocation_not.
(PUSH_DUMMY_FRAME): Use vax_push_dummy_frame.
(POP_FRAME): Use vax_pop_frame.
2002-04-22 21:32:05 +00:00
Jason Thorpe
ea74468cd0 * vax-tdep.c (vax_store_struct_return): New function.
(vax_extract_return_value): Ditto.
(vax_store_return_value): Ditto.
(vax_extract_struct_value_address): Ditto.
* config/vax/tm-vax.h (STORE_STRUCT_RETURN): Use
vax_store_struct_return.
(EXTRACT_RETURN_VALUE): Use vax_extract_return_value.
(STORE_RETURN_VALUE): Use vax_store_return_value.
(EXTRACT_STRUCT_VALUE_ADDRESS): Use vax_extract_struct_value_address.
2002-04-22 20:59:28 +00:00
Jason Thorpe
5516aa921e * vax-tdep.c (vax_frame_saved_pc): New function.
(vax_frame_args_address_correct): Ditto.
(vax_frame_args_address): Ditto.
(vax_frame_locals_address): Ditto.
(vax_frame_num_args): Move code to be in proximity to
other frame-related functions.
* config/vax/tm-vax.h (INNER_THAN): Use core_addr_lessthan.
(FRAME_SAVED_PC): Use vax_frame_saved_pc.
(FRAME_ARGS_ADDRESS_CORRECT): Use vax_frame_args_address_correct.
(FRAME_ARGS_ADDRESS): Use vax_frame_args_address.
(FRAME_LOCALS_ADDRESS): Use vax_frame_locals_address.
2002-04-22 20:38:41 +00:00
Jason Thorpe
ab62c900e2 * vax-tdep.c (vax_frame_init_saved_regs): New function.
* config/vax/tm-vax.h (FRAME_FIND_SAVED_REGS): Remove.
(FRAME_INIT_SAVED_REGS): New macro.
2002-04-22 19:44:05 +00:00
Jason Thorpe
51eb8b0846 * vax-tdep.c: Update copyright years.
(vax_register_name): New function.
(vax_register_byte): Ditto.
(vax_register_raw_size): Ditto.
(vax_register_virtual_size): Ditto.
(vax_register_virtual_type): Ditto.
* config/vax/tm-vax.h: Update copyright years.
(REGISTER_NAMES): Remove.
(REGISTER_NAME): Define.
(REGISTER_BYTE): Use vax_register_byte.
(REGISTER_RAW_SIZE): Use vax_register_raw_size.
(REGISTER_VIRTUAL_SIZE): Use vax_register_virtual_size.
(REGISTER_VIRTUAL_TYPE): Use vax_register_virtual_type.
2002-04-22 06:56:04 +00:00
Andrew Cagney
8fcc723b1c Eliminate TARGET_BYTE_ORDER. 2002-01-29 04:42:45 +00:00
Andrew Cagney
75bc7ddf1b * config/vax/tm-vax.h (INVALID_FLOAT): Move macro from here...
* vax-tdep.c (INVALID_FLOAT): To here.  Document why it is broken.

* rs6000-tdep.c (rs6000_do_registers_info): Delete code wrapped in
#ifdef INVALID_FLOAT.
* infcmd.c (do_registers_info): Ditto.
* values.c (unpack_double): Ditto.  Add comment.

* config/ns32k/tm-umax.h (INVALID_FLOAT): Delete macro that was
already commented out.
2002-01-29 03:08:28 +00:00
Andrew Cagney
778eb05eac LITTLE_ENDIAN -> BFD_ENDIAN_LITTLE 2001-12-15 16:53:24 +00:00
Andrew Cagney
f88e2c5226 Include regcache.h 2001-03-14 23:23:16 +00:00
Kevin Buettner
b6ba6518e9 Update/correct copyright notices. 2001-03-06 08:22:02 +00:00
Kevin Buettner
a14ed312fd PARAMS removal. 2000-05-28 01:12:42 +00:00
Jason Molenda
c5aa993b1f import gdb-1999-07-07 post reformat 1999-07-07 20:19:36 +00:00
Jason Molenda
392a587b05 import gdb-1999-05-25 snapshot 1999-05-25 18:09:09 +00:00
Stan Shebs
b83266a0e1 import gdb-19990504 snapshot 1999-05-05 14:45:51 +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
3a0c96a996 CARP:
Rewrite INNER_THAN so that it takes parameters.
1998-11-28 22:53:04 +00:00
Andrew Cagney
679ce73102 CARP: Delete ABOUT_TO_RETURN across all targets. 1998-11-26 11:13:01 +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
6c9638b444 Update FSF address. 1995-08-02 03:41:12 +00:00
Jim Kingdon
16726dd15b The point of these changes is to avoid reading the frame pointer
and stack pointer during stepping, to speed things up.
	A.  Changes to not select a frame until we need a selected frame:
	    * blockframe.c (flush_cached_frames): Call select_frame (NULL, -1).
	    * infrun.c (wait_for_inferior): Move call to select_frame back to
	    normal_stop.  This reverts a change of 13 Apr 94 (it says Jeff
	    Law, but the change was my idea); the only reason for that change
	    was so we could save and restore the selected frame in
	    wait_for_inferior, and now that flush_cached frames clears the
	    selected frame, that should work OK now.
	B.  Changes to not create a current_frame until we need one:
	    * blockframe.c (get_current_frame): If current_frame is NULL, try
	    to create an innermost frame.
	    * sparc-tdep.c (sparc_pop_frame), infcmd.c (run-stack_dummy),
	    infrun.c (wait_for_inferior), thread.c (thread_switch),
	    convex-tdep.c (set_thread_command), a29k-tdep.c (pop_frame),
	    alpha-tdep.c (alpha_pop_frame), convex-xdep.c (core_file_command),
	    h8300-tdep.c (h8300_pop_frame), h8500-tdep.c (h8300_pop_frame),
	    hppa-tdep.c (hppa_pop_frame), i386-tdep.c (i386_pop_frame),
	    i960-tdep.c (pop_frame), m68k-tdep.c
	    (m68k_pop_frame), mips-tdep.c (mips_pop_frame), rs6000-tdep.c
	    (push_dummy_frame, pop_dummy_frame, pop_frame), sh-tdep.c
	    (pop_frame), config/arm/tm-arm.h (POP_FRAME),
	    config/convex/tm-convex.h (POP_FRAME), config/gould/tm-pn.h
	    (POP_FRAME), config/ns32k/tm-merlin.h (POP_FRAME),
	    config/ns32k/tm-umax.h (POP_FRAME), config/tahoe/tm-tahoe.h
	    (POP_FRAME), config/vax/tm-vax.h (POP_FRAME): Don't
	    call create_new_frame.
	    * corelow.c (core_open), altos-xdep.c (core_file_command),
	    arm-xdep.c (core_file_command), gould-xdep.c (core_file_command),
	    m3-nat.c (select_thread), sun386-nat.c (core_file_command),
	    umax-xdep.c (core_file_command): Don't call create_new_frame; do
	    call flush_cached_frames.
	    * blockframe.c (reinit_frame_cache): Don't call create_new_frame
	    or select_frame.
	C.  Changes to get rid of stop_frame_address and instead only
	fetch the frame pointer when we need it.
	    * breakpoint.c (bpstat_stop_status): Remove argument
	    frame_address; use FRAME_FP (get_current_frame ()).
	    * infrun.c (wait_for_inferior): Don't pass frame pointer to
	    bpstat_stop_status.
	    * infrun.c (wait_for_inferior): Use FRAME_FP (get_current_frame
	    ()) instead of stop_frame_address.
	    * infrun.c (save_inferior_status, restore_inferior_status),
	    inferior.h (struct inferior_status): Don't save and restore
	    stop_frame_address.
	    * inferior.h, infcmd.c, thread.c (thread_switch), m3-nat.c
	    (select_thread): Remove stop_frame_address and uses thereof.
	D.  Same thing for the stack pointer.
	    * infrun.c (wait_for_inferior): Remove stop_sp and replace
	    uses thereof with read_sp ().
	E.  Change to eliminate one nasty little spot where we were
	wanting to know the frame pointer from before the current step
	(idea from GDB 3.5, which saved my ass, because my other ideas of
	how to fix it were very baroque).
	    * infrun.c: Remove prev_frame_address.
	    * infrun.c (wait_for_inferior, step_over_function): Use
	    step_frame_address instead of prev_frame_address.
	F.  Same basic idea for the stack pointer.
	    * inferior.h, infcmd.c: New variable step_sp.
	    * infcmd.c (step_1, until_next_command): Set it.
	    * infrun.c: Remove prev_sp and replace uses by step_sp.
	    * infrun.c (wait_for_inferior): If we get out of the step
	    range, then set step_sp to the current stack pointer before we
	    start going again.
1994-10-08 03:41:21 +00:00
Peter Schauer
f0d2557ca4 * config/i386/tm-i386v.h, config/m68k/tm-m68k.h, config/mips/tm-mips.h,
config/vax/tm-vax.h (CALL_DUMMY_BREAKPOINT_OFFSET):  Define.
1994-01-07 21:02:39 +00:00
Jim Kingdon
f4f0d17487 * valops.c (call_function_by_hand, push_word), defs.h (push_word),
convex-xdep.c, m88k-nat.c, i386m3-nat.c, mips-tdep.c, mipsm3-nat.c,
	ns32km3-nat.c, remote-bug.c, m88k-tdep.c, remote-hms.c, remote-mips.c,
	config/gould/tm-np1.h, hppa-tdep.c (hppa_fix_call_dummy), remote-vx.c:
	Use REGISTER_SIZE, unsigned LONGEST, and
	{store,extract}_unsigned_integer, instead of sizeof
	(REGISTER_TYPE) and REGISTER_TYPE.
	* All tm.h files: Change REGISTER_TYPE to REGISTER_SIZE.
	* hppa-tdep.c (pa_print_fp_reg): Remove unused variable val.

	* Makefile.in (ALLDEPFILES): Remove i386ly-nat.c and m68kly-nat.c.
	Add lynx-nat.c.
1993-12-26 18:10:22 +00:00
Peter Schauer
ad09cb2bd3 * findvar.c (value_of_register, value_from_register),
hppa-tdep.c (pa_print_fp_reg), infcmd.c (do_registers_info),
	valops.c (value_assign):   Use REGISTER_CONVERT_TO_* only if
	REGISTER_CONVERTIBLE is defined, otherwise just copy the content.
	Pass desired type to REGISTER_CONVERT_TO_*.

	* config/m68k/tm-m68k.h, config/i960/tm-i960.h (REGISTER_CONVERT_*):
	Pass length of desired type to store/extract_floating.
	* config/i386/tm-arm.h, config/i386/tm-i386aix.h,
	config/i386/tm-sun386.h, config/i386/tm-symmetry.h,
	config/m88k/tm-m88k.h config/rs6000/tm-rs6000.h (REGISTER_CONVERT_*):
	Use extract_floating and store_floating with length of desired type.
	* config/m68k/tm-news.h (STORE,EXTRACT_RETURN_VALUE):  Add type
	parameter to REGISTER_CONVERT_*.

	* config/a29k/tm-a29k.h, config/convex/tm-convex.h,
	config/gould/tm-np1.h, config/gould/tm-pn.h, config/h8300/tm-h8300.h,
	config/h8500/tm-h8500.h, config/i386/tm-i386v.h,
	config/mips/tm-mips.h, config/ns32k/tm-merlin.h,
	config/ns32k/tm-umax.h, config/pa/tm-hppa.h, config/pyr/tm-pyr.h,
	config/sh/tm-sh.h, config/sparc/tm-sparc.h, config/tahoe/tm-tahoe.h,
	config/vax/tm-vax.h, config/z8k/tm-z8k.h (REGISTER_CONVERTIBLE,
	REGISTER_CONVERT_TO_RAW, REGISTER_CONVERT_TO_VIRTUAL):  Remove
	versions for which REGISTER_CONVERTIBLE is always false.
	* z8k-tdep.c (register_convert_to_virtual, register_convert_to_raw):
	Remove, no longer used.

	* alpha-tdep.c (alpha_register_convert_to_raw,
	alpha_register_convert_to_virtual):  New routines to handle
	the different raw formats in alpha floating point registers.
	* config/alpha/tm-alpha.h (REGISTER_CONVERTIBLE,
	REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW):  Use them.
1993-11-02 21:51:10 +00:00
K. Richard Pixley
4ed97c9a83 bzero -> memset 1993-09-01 21:56:42 +00:00
K. Richard Pixley
ade40d3153 bcopy -> memcpy 1993-09-01 20:37:15 +00:00
Peter Schauer
486c47b94f * config/vax/tm-vax.h (BELIEVE_PCC_PROMOTION): Define. 1993-08-20 05:10:48 +00:00
Peter Schauer
7b98a09136 * config/i386/tm-i386bsd.h (SIGTRAMP_START, SIGTRAMP_END, FRAME_CHAIN,
FRAMELESS_FUNCTION_INVOCATION, FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET):
	Define to make backtracing through sigtramp work.
	* config/vax/tm-vax.h (SIGTRAMP_START, SIGTRAMP_END, TARGET_UPAGES,
	FRAME_SAVED_PC, SIGCONTEXT_PC_OFFSET):  Ditto.
1993-08-17 08:49:07 +00:00
Jim Kingdon
23a8e2915c * frame.h, blockframe.c, stack.c, a29k-tdep.c,
config/gould/tmp-{pn,np1}.h,
	config/{sparc/tm-sparc.h,pyr/tm-pyr.h,vax/tm-vax.h}: Remove field
	next_frame from struct frame_info.  It has no purpose beyond
	->next->frame and is an artifact from GDB 2.8.
1993-07-07 20:29:56 +00:00
Fred Fish
5076de826c * config/{*.mt, *.mh}: All target and host makefile fragment
config files moved to an appropriate config/<cpu> subdirectory.
	* nm-*, xm-*, tm-*:  All native, host, and target files, which
	get linked to nm.h, xm.h, and tm.h respectively by configure,
	moved to appropriate config/<cpu> subdirectory.
1993-03-23 01:19:58 +00:00