diff options
author | Peter Schauer <Peter.Schauer@mytum.de> | 1993-10-05 19:44:57 +0000 |
---|---|---|
committer | Peter Schauer <Peter.Schauer@mytum.de> | 1993-10-05 19:44:57 +0000 |
commit | cef4c2e7a5f2d3426a8255f74b6c7f4e795fd9a4 (patch) | |
tree | 89bc0058548c4a5ef634989a13e0a9ce0f51e3a0 /gdb/infrun.c | |
parent | a72e9833652c3a2e3c616b75522f7dfb462533e6 (diff) | |
download | gdb-cef4c2e7a5f2d3426a8255f74b6c7f4e795fd9a4.zip gdb-cef4c2e7a5f2d3426a8255f74b6c7f4e795fd9a4.tar.gz gdb-cef4c2e7a5f2d3426a8255f74b6c7f4e795fd9a4.tar.bz2 |
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.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index e7d2c42..409a768 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -283,6 +283,14 @@ resume (step, sig) struct cleanup *old_cleanups = make_cleanup (resume_cleanups, 0); QUIT; +#ifdef CANNOT_STEP_BREAKPOINT + /* Most targets can step a breakpoint instruction, thus executing it + normally. But if this one cannot, just continue and we will hit + it anyway. */ + if (step && breakpoints_inserted && breakpoint_here_p (read_pc ())) + step = 0; +#endif + #ifdef NO_SINGLE_STEP if (step) { single_step(sig); /* Do it the hard way, w/temp breakpoints */ @@ -1255,6 +1263,8 @@ step_into_function: /* I'm not sure when this following segment applies. I do know, now, that we shouldn't rewrite the regs when we were stopped by a random signal from the inferior process. */ + /* FIXME: Shouldn't this be based on the valid bit of the SXIP? + (this is only used on the 88k). */ if (!bpstat_explains_signal (stop_bpstat) && (stop_signal != SIGCLD) |