Two modifications:
1. The addition of 2013 to the copyright year range for every file;
2. The use of a single year range, instead of potentially multiple
year ranges, as approved by the FSF.
marker comment at the beginning (after intialization).
* gdb.base/watchpoint.exp (test_complex_watchpoint): Set func2
breakpoint on marker comment instead of function begin.
(test_wide_location_1): Do not expect HW watchpoints on 32-bit
PowerPC.
(test_wide_location_2): Do not expect HW watchpoints on 32-bit
or 64-bit PowerPC.
(do_tests): Consistently set can-use-hw-watchpoints to 0 if
gdb,no_hardware_watchpoints flag is set.
(initialize): Remove now redundant can-use-hw-watchpoints change.
* linux-arm-low.c (arm_linux_hw_point_initialize): Distinguish
between unsupported TYPE and unimplementable ADDR/LEN combination.
(arm_insert_point): Act on new return value.
testsuite/ChangeLog:
* gdb.base/watchpoint.exp (test_wide_location_1): Expect software
watchpoints on ARM. When expecting software watchpoints, tolerate
(remote) targets that report unsupported hardware watchpoint only
at continue time.
(test_wide_location_2): Likewise.
Tom Tromey <tromey@redhat.com>
* lib/gdb.exp: Add description of test prefixes.
(with_test_prefix): New procedure.
* gdb.arch/altivec-abi.exp: Use with_test_prefix.
* gdb.base/attach-pie-misread.exp: Use with_test_prefix.
* gdb.base/break-interp.exp: Use with_test_prefix. Use append
instead of lappend to append to pf_prefix.
* gdb.base/catch-load.exp: Use with_test_prefix.
* gdb.base/disp-step-syscall.exp: Use with_test_prefix.
* gdb.base/jit-so.exp: Use with_test_prefix.
* gdb.base/jit.exp: Use with_test_prefix.
* gdb.base/return-nodebug.exp (do_test): Use append instead of
lappend to append to pf_prefix.
* gdb.base/sepdebug.exp: Use with_test_prefix.
* gdb.base/solib-display.exp: Use with_test_prefix.
* gdb.base/solib-overlap.exp: Use with_test_prefix.
* gdb.base/watch-cond-infcall.exp: Use with_test_prefix.
* gdb.base/watchpoint.exp: Use with_test_prefix.
* gdb.dwarf2/dw2-noloc.exp: Use with_test_prefix.
* gdb.mi/mi-watch.exp: Use with_test_prefix.
* gdb.mi/mi2-watch.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-1.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-2.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-3.exp: Use with_test_prefix.
* gdb.threads/non-ldr-exc-4.exp: Use with_test_prefix.
* gdb.threads/watchpoint-fork.exp: Use with_test_prefix. Use
append instead of lappend to append to pf_prefix.
* gdb.threads/watchthreads-reorder.exp: Use with_test_prefix.
* gdb.trace/change-loc.exp: Use with_test_prefix.
* gdb.trace/pending.exp: Use with_test_prefix.
* gdb.trace/status-stop.exp: Use with_test_prefix.
* gdb.trace/strace.exp: Use with_test_prefix.
* gdb.trace/trace-break.exp: Use with_test_prefix.
* gdb.trace/unavailable.exp: Use with_test_prefix. Use append
instead of lappend to append to pf_prefix.
* gdb.base/watchpoint.exp (no_hw): New global.
(maybe_clean_restart, maybe_reinitialize): If no_hw is set,
disable hw watchpoints.
(test_wide_location_1, test_wide_location_2): If no_hw is set,
don't expect hw watchpoints.
(no_hw_watchpoints): Always clean restart.
(do_tests): New procedure, factored out from the top level.
(top level): Run tests twice. Once with hw watchpoints enabled,
another time with hw watchpoints disabled.
First, fix a technical problem with the function recurser. The test sets a
watch on local_x at a point where its value is technically undefined. The
test is written assuming that the value is not initially 2, but nothing in the
C standard guarantees that.
Second, augment the existing test for variables in recursive calls to check an
equivalent expression that explicitly sets the scope of the local variable
being tracked.
2012-01-11 Paul Hilfinger <hilfingr@adacore.com>
* gdb.base/watchpoint.c (recurser): Initialize local_x.
(main): Repeat recurser call.
* gdb.base/watchpoint.exp: Check that 'watch recurser::local_x' is
equivalent to 'local_x'.
gdb/
* breakpoint.c (works_in_software_mode_watchpoint): Also return
true for software watchpoints.
gdb/testsuite/
* gdb.base/watchpoint.exp
(test_disable_enable_software_watchpoint): New procedure.
(top level): Run it.
* breakpoint.c (watch_command_1): Get a pointer of the lazy
version of the expression's value, even if reading the value from
memory fails. When creating a -location watchpoint, get the
value's address from the lazy value pointer.
gdb/testsuite/
* gdb.base/watchpoint.exp: Test "watch -location" with an
innacessible location.
* gdb.base/maint.exp: Expect "." prefix.
* gdb.base/nodebug.exp: Expect "." Likewise.
* gdb.base/sepsymtab.exp: Expect "." Likewise.
* gdb.base/watchpoint-cond-gone.exp: Likewise.
* gdb.base/watchpoint.exp: Expect a software watch to be created for
POWER server processors.
value specially.
testsuite/
* gdb.base/watchpoint.exp: Call test_inaccessible_watchpoint
before disabling hardware watchpoints.
(test_inaccessible_watchpoint): Check that hardware watchpoints
are used. Test for watchpoints on a constant address.
2010-06-16 Sergio Durigan Junior <sergiodj@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* breakpoint.c: Include parser-defs.h.
(watchpoint_exp_is_const): New function.
(watch_command_1): Call watchpoint_exp_is_const to check
if the expression is constant.
gdb/doc/ChangeLog:
2010-06-16 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo: Include information about the correct use
of addresses in the `watch' command.
gdb/testsuite/ChangeLog:
2010-06-16 Jan Kratochvil <jan.kratochvil@redhat.com>
Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.base/watch-notconst.c: New file.
* gdb.base/watch-notconst.S: New file.
* gdb.base/watch-notconst2.c: New file.
* gdb.base/watch-notconst2.S: New file.
* gdb.base/watch-notconst.exp: New file.
* gdb.base/watchpoint.c (global_ptr_ptr): New variable.
(func4): Add operations on `global_ptr_ptr'.
* gdb.base/watchpoint.exp (test_constant_watchpoint): New
routine to test watchpoints created with a constant expression.
(test_inaccessible_watchpoint): Include tests for watchpoints
created with a constant expression.
Nathan Sidwell <nathan@codesourcery.com>
* breakpoint.c (breakpoint_1): Add filter argument, return number of
breakpoints printed.
(is_hardware_watchpoint): Make argument const.
(is_watchpoint): Ditto.
(is_tracepoint): Merge of tracepoint_type and breakpoint_is_tracepoint,
use it everywhere.
(breakpoints_info): Pass NULL to breakpoint_1.
(maintenance_info_breakpoints): Ditto.
(watchpoints_info): New function.
(tracepoints_info): Use breakpoint_1 filter.
(set_ignore_count): Warn that tracepoint ignore count will be ignored.
(_initialize_breakpoint): Make "info watchpoints" its own command.
* breakpoint.h (is_tracepoint): Rename from breakpoint_is_tracepoint.
* mi/mi-cmd-break.c (mi_cmd_break_commands): Use is_tracepoint.
* gdb.texinfo (Setting Breakpoints): "info watch" no longer a synonym.
(Setting Watchpoints): Update description of "info watch".
(Disabling Breakpoints): Only "info break" lists all.
* gdb.base/completion.exp: Update for new "info watchpoints".
* gdb.base/default.exp: Ditto.
* gdb.base/help.exp: Ditto.
* gdb.base/watchpoint.exp: Ditto.
* gdb.trace/infotrace.exp: Update "info tracpoints" output.
* valarith.c (value_equal_contents): New function.
* value.h (value_equal_contents): Declare.
* breakpoint.c (watchpoint_check): Use value_equal_contents
instead of value_equal.
gdb/testsuite/
* gdb.base/watchpoint.exp (test_watchpoint_in_big_blob): New function.
(top level): Call test_watchpoint_in_big_blob.
* gdb.base/watchpoint.c (buf): Change size to value too big for hardware
watchpoints.
(func3): Write to buf.
(update_watchpoint): Set and clear val_valid. Use
fetch_watchpoint_value. Handle unreadable values on the
value chain. Correct check for user-requested array watchpoints.
(breakpoint_init_inferior): Clear val_valid.
(watchpoint_value_print): New function.
(print_it_typical): Use it. Do not free or clear old_val. Print
watchpoints even if old_val == NULL.
(watchpoint_check): Use fetch_watchpoint_value. Check for values
becoming readable or unreadable.
(watch_command_1): Use fetch_watchpoint_value. Set val_valid.
(do_enable_watchpoint): Likewise.
* breakpoint.h (struct breakpoint): Update comment for val. Add
val_valid.
* NEWS: Mention watchpoints on inaccessible memory.
* gdb.base/watchpoint.c (global_ptr, func4): New.
(main): Call func4.
* gdb.base/watchpoint.exp: Call test_inaccessible_watchpoint.
(test_inaccessible_watchpoint): New.
* gdb.texinfo (Set Watchpoints): Mention watchpoints on
unreadable memory. Delete obsolete SPARClite reference.