gdb/breakpoint: use warning function instead of gdb_printf
authorAndrew Burgess <aburgess@redhat.com>
Wed, 17 May 2023 08:50:12 +0000 (09:50 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 19 May 2023 09:15:01 +0000 (10:15 +0100)
Noticed that in breakpoint.c, in one place, we do this:

  gdb_printf (_("warning: Error removing "
                "breakpoint %d\n"),
                old_loc->owner->number);

Instead of using the `warning` function.  There are a number of
differences between using gdb_printf like this and calling `warning`,
the main one is probably that real warnings are sent to gdb_stderr,
while the above gdb_printf call will go to gdb_stdout.

In this commit I:

  1. Change to call `warning`, we can drop the "warning: " prefix from
  the string in breakpoint.c,

  2. Update the warning text, I now start with a lower case 'e', which
  I believe is the GDB style for warnings,

  3. And I have included the address of the bp_location in the warning
  messsage,

  4. Finally, I update all the tests (2) that include this error
  message.

Reviewed-By: Tom Tromey <tom@tromey.com>
gdb/breakpoint.c
gdb/testsuite/gdb.base/break-main-file-remove-fail.exp
gdb/testsuite/gdb.base/hw-sw-break-same-address.exp

index fdb184ae81f03836b7ad3231e0a86adb5428c762..552b789cba12866276bea02ac660c4b98523ddae 100644 (file)
@@ -11342,9 +11342,9 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
                     Note that at this point, old_loc->owner is still
                     valid, as delete_breakpoint frees the breakpoint
                     only after calling us.  */
-                 gdb_printf (_("warning: Error removing "
-                               "breakpoint %d\n"), 
-                             old_loc->owner->number);
+                 warning (_("error removing breakpoint %d at %s"),
+                          old_loc->owner->number,
+                          paddress (old_loc->gdbarch, old_loc->address));
                }
              removed = true;
            }
index c7cf4f3df00ff83f649f046fd63db3a7339073bc..5e689fae5d390c176b1d0c33431da13f995224c7 100644 (file)
@@ -100,7 +100,7 @@ proc test_remove_bp { initial_load } {
        # get_integer_valueof.
        set munmap -1
        gdb_test_multiple "print /d ${munmap_expr}" "get result of munmap call" {
-           -re -wrap "^(?:warning: Error removing breakpoint $::decimal\r\n)?\\$\[0-9\]* = (\[-\]*\[0-9\]*).*" {
+           -re -wrap "^(?:warning: error removing breakpoint $::decimal at $::hex\r\n)?\\$\[0-9\]* = (\[-\]*\[0-9\]*).*" {
                set munmap $expect_out(1,string)
                pass $gdb_test_name
            }
@@ -112,7 +112,7 @@ proc test_remove_bp { initial_load } {
        }
 
        gdb_test "delete \$bpnum" \
-           "warning: Error removing breakpoint .*" \
+           "^warning: error removing breakpoint $::decimal at $::hex" \
            "failure to remove breakpoint warns"
     }
 }
index 9f9411864545374bc4b88d0c74e875e29bf5e141..6ac69e5630fb2e2ed6de301e52ab94731fa34011 100644 (file)
@@ -50,7 +50,7 @@ with_test_prefix "hw-sw" {
     # A bad GDB debugging against GDBserver would output a warning
     # here:
     #  delete breakpoints
-    #  warning: Error removing breakpoint 3
+    #  warning: error removing breakpoint 3 at <ADDRESS>
     #  (gdb) FAIL: gdb.base/hw-sw-break-same-address.exp: hw-sw: delete breakpoints
     gdb_test_no_output "delete breakpoints"
 }