aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnze Li <enze.li@hotmail.com>2022-06-24 21:00:40 +0800
committerEnze Li <enze.li@hotmail.com>2022-07-24 12:01:45 +0800
commitc444385fad25c720ca6f7407f748f1d601463938 (patch)
treee98d33d233344a04303cd73fc28b5ee70d7e10e1
parent561e83f7c5cdfb2737ba36a04ea008caa6bcaa36 (diff)
downloadgdb-c444385fad25c720ca6f7407f748f1d601463938.zip
gdb-c444385fad25c720ca6f7407f748f1d601463938.tar.gz
gdb-c444385fad25c720ca6f7407f748f1d601463938.tar.bz2
gdb/testsuite: rename get_maint_bp_addr and move it to gdb-utils.exp
The get_maint_bp_addr procedure will be shared by other test suite, so move it to gdb-utils.exp. Following Andrew's suggestion, I renamed get_maint_bp_addr to gdb_get_bp_addr, since it would have handled normal breakpoints in addition to the internal ones. Note that there is still room for improvement in this procedure, which I indicated in comments nearby.
-rw-r--r--gdb/testsuite/gdb.base/clear_non_user_bp.exp25
-rw-r--r--gdb/testsuite/lib/gdb-utils.exp28
2 files changed, 29 insertions, 24 deletions
diff --git a/gdb/testsuite/gdb.base/clear_non_user_bp.exp b/gdb/testsuite/gdb.base/clear_non_user_bp.exp
index 26d7a31..da69435 100644
--- a/gdb/testsuite/gdb.base/clear_non_user_bp.exp
+++ b/gdb/testsuite/gdb.base/clear_non_user_bp.exp
@@ -16,29 +16,6 @@
# Regression test for PR gdb/7161. Test that GDB cannot delete non-user
# breakpoints with clear command.
-# get_maint_bp_addr num
-#
-# Purpose:
-# Get address of the specified internal breakpoint when using command
-# "maint info breakpoints $num".
-#
-# Parameter:
-# The parameter "num" indicates the number of the internal breakpoint
-# to get. Note that this parameter must be a negative number.
-# E.g., -1 means that we're gonna get the first internal breakpoint.
-#
-# Return:
-# Internal breakpoint address.
-#
-proc get_maint_bp_addr { num } {
- gdb_test_multiple "maint info break $num" "find address of internal bp $num" {
- -re -wrap ".*(0x\[0-9a-f\]+).*" {
- return $expect_out(1,string)
- }
- }
- return ""
-}
-
# get_first_maint_bp_num
#
# Purpose:
@@ -77,7 +54,7 @@ if ![runto_main] then {
}
set bp_num [get_first_maint_bp_num]
-set bp_addr [get_maint_bp_addr $bp_num]
+set bp_addr [gdb_get_bp_addr $bp_num]
gdb_test "maint info break $bp_num" \
"$bp_num.*$bp_addr.*" \
diff --git a/gdb/testsuite/lib/gdb-utils.exp b/gdb/testsuite/lib/gdb-utils.exp
index ffdfb75..2195361 100644
--- a/gdb/testsuite/lib/gdb-utils.exp
+++ b/gdb/testsuite/lib/gdb-utils.exp
@@ -72,3 +72,31 @@ proc style {str style} {
}
return "\033\\\[${style}m${str}\033\\\[m"
}
+
+# gdb_get_bp_addr num
+#
+# Purpose:
+# Get address of a particular breakpoint.
+#
+# Parameter:
+# The parameter "num" indicates the number of the breakpoint to get.
+# Note that *currently* this parameter must be an integer value.
+# E.g., -1 means that we're gonna get the first internal breakpoint;
+# 2 means to get the second user-defined breakpoint.
+#
+# Return:
+# First address for a particular breakpoint.
+#
+# TODO:
+# It would be nice if this procedure could accept floating point value.
+# E.g., 'gdb_get_bp_addr 1.2' means to get the address of the second
+# location of breakpoint #1.
+#
+proc gdb_get_bp_addr { num } {
+ gdb_test_multiple "maint info break $num" "find address of specified bp $num" {
+ -re -wrap ".*(0x\[0-9a-f\]+).*" {
+ return $expect_out(1,string)
+ }
+ }
+ return ""
+}