Revert accidental push of "Inline breakpoints" commit

This commit is contained in:
Pedro Alves 2018-06-14 12:54:09 +01:00
parent 11ae5818f7
commit 7b045207d1
3 changed files with 12 additions and 49 deletions

View File

@ -286,10 +286,11 @@ block_starting_point_at (CORE_ADDR pc, const struct block *block)
}
/* Loop over the stop chain and determine if execution stopped in an
inlined frame because of a user breakpoint set at FRAME_BLOCK. */
inlined frame because of a user breakpoint. THIS_PC is the current
frame's PC. */
static bool
stopped_by_user_bp_inline_frame (const block *frame_block, bpstat stop_chain)
stopped_by_user_bp_inline_frame (CORE_ADDR this_pc, bpstat stop_chain)
{
for (bpstat s = stop_chain; s != NULL; s = s->next)
{
@ -300,9 +301,9 @@ stopped_by_user_bp_inline_frame (const block *frame_block, bpstat stop_chain)
bp_location *loc = s->bp_location_at;
enum bp_loc_type t = loc->loc_type;
if ((t == bp_loc_software_breakpoint
|| t == bp_loc_hardware_breakpoint)
&& frame_block == SYMBOL_BLOCK_VALUE (loc->symbol))
if (loc->address == this_pc
&& (t == bp_loc_software_breakpoint
|| t == bp_loc_hardware_breakpoint))
return true;
}
}
@ -339,12 +340,12 @@ skip_inline_frames (ptid_t ptid, bpstat stop_chain)
{
/* Do not skip the inlined frame if execution
stopped in an inlined frame because of a user
breakpoint for this inline function. */
if (stopped_by_user_bp_inline_frame (cur_block, stop_chain))
break;
skip_count++;
last_sym = BLOCK_FUNCTION (cur_block);
breakpoint. */
if (!stopped_by_user_bp_inline_frame (this_pc, stop_chain))
{
skip_count++;
last_sym = BLOCK_FUNCTION (cur_block);
}
}
else
break;

View File

@ -176,25 +176,6 @@ not_inline_func3 (int x)
return y + inline_func3 (x);
}
/* A static inlined function that is called by another static inlined
function. */
static inline ATTR int
func_callee (int x)
{
return x * 23;
}
/* A static inlined function that calls another static inlined
function. The body of the function is as simple as possible so
that both functions are inlined to the same PC address. */
static int
func_caller (int x)
{
return func_callee (x);
}
/* Entry point. */
int
@ -224,7 +205,5 @@ main (int argc, char *argv[])
x = not_inline_func3 (-21);
func_caller (1);
return x;
}

View File

@ -231,21 +231,4 @@ foreach_with_prefix cmd [list "break" "tbreak"] {
}
}
# func_caller and func_callee are both inline functions, and one calls
# the other. Test that setting a breakpoint on the caller reports the
# stop at the caller, and that setting a breakpoint at the callee
# reports a stop at the callee.
foreach_with_prefix func {"func_callee" "func_caller"} {
clean_restart $binfile
if {![runto main]} {
untested "could not run to main"
continue
}
gdb_breakpoint $func
gdb_test "continue" "Breakpoint .* $func .*at .*$srcfile.*" \
"continue to inline function"
}
unset -nocomplain results