Fix problems with finishing a dummy function call on simulators.
authorLuis Machado <lgustavo@codesourcery.com>
Wed, 17 Jun 2015 19:50:57 +0000 (16:50 -0300)
committerLuis Machado <lgustavo@codesourcery.com>
Wed, 17 Jun 2015 19:50:57 +0000 (16:50 -0300)
commit6ae8866180bf90e9ec76c2dd34c07fd826d11a83
tree3c979d9a5c7372ff992822017a41c04bd1424f5d
parentda4616f69f53c221477388b6f2d4abee9bba0722
Fix problems with finishing a dummy function call on simulators.

Some simulators don't handle permanent breakpoints properly and will
sometimes terminate when hitting such a breakpoint instruction or have
unwanted effects.

When a permanent breakpoint is inserted, GDB will not attempt to insert
other breakpoint locations on top of it, leading to the problem described
above.

By not marking permanent breakpoint locations as inserted, we allow the
insertion of breakpoint locations on top of the permanent ones, preventing
the simulators from running into that situation.

gdb/ChangeLog:

2015-06-17  Luis Machado  <lgustavo@codesourcery.com>

* breakpoint.c (add_location_to_breakpoint): Don't mark permanent
locations as inserted.
Update and expand comment about permanent locations.
(bp_loc_is_permanent): Don't return 0 for bp_call_dummy.
Move comment to add_location_to_breakpoint.
(update_global_location_list): Don't error out if a permanent
breakpoint is not marked inserted.
Don't error out if a non-permanent breakpoint location is inserted on
top of a permanent breakpoint.
gdb/ChangeLog
gdb/breakpoint.c