aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYao Qi <yao@codesourcery.com>2014-06-06 11:05:05 +0800
committerYao Qi <yao@codesourcery.com>2014-06-06 16:57:15 +0800
commit831517df13fe99c89f073632b70431510bee65ba (patch)
tree1bb3000d34952263921ff48d5a1d5b9a9014df13
parentc33b2f12584e8ae5be0e7a54927194d6b5851623 (diff)
downloadgdb-831517df13fe99c89f073632b70431510bee65ba.zip
gdb-831517df13fe99c89f073632b70431510bee65ba.tar.gz
gdb-831517df13fe99c89f073632b70431510bee65ba.tar.bz2
Skip hbreak-unmapped.exp if memory at address 0 is readable
hbreak-unmapped.exp assumes that memory at address 0 is unmapped or unreadable, but on bare metal or uclinux targets, memory at address 0 is readable. For example, on arm-none-eabi, the vector table base address is 0x0. hbreak *0^M Hardware assisted breakpoint 3 at 0x0: file /scratch/yqi/arm-none-eabi-lite/obj/cs3-2014.11-999999-arm-none-eabi-i686-pc-linux-gnu/generated/arm-vector.S, line 25.^M (gdb) FAIL: gdb.base/hbreak-unmapped.exp: hbreak *0 info break^M Num Type Disp Enb Address What^M 3 hw breakpoint keep y 0x00000000 /scratch/yqi/arm-none-eabi-lite/obj/cs3-2014.11-999999-arm-none-eabi-i686-pc-linux-gnu/generated/arm-vector.S:25^M (gdb) FAIL: gdb.base/hbreak-unmapped.exp: info break shows hw breakpoint delete $bpnum This patch is to check whether address 0 is readable via command 'x 0'. If it is, skip the test. gdb/testsuite: 2014-06-06 Yao Qi <yao@codesourcery.com> * gdb.base/hbreak-unmapped.exp: Read memory at address 0. If readable, skip the test.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/hbreak-unmapped.exp10
2 files changed, 15 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 51686d1..bc81a07 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2014-06-06 Yao Qi <yao@codesourcery.com>
+ * gdb.base/hbreak-unmapped.exp: Read memory at address 0. If
+ readable, skip the test.
+
+2014-06-06 Yao Qi <yao@codesourcery.com>
+
* gdb.threads/staticthreads.c (thread_function): Move the line
setting breakpoint on forward.
* gdb.threads/staticthreads.exp: Update comments.
diff --git a/gdb/testsuite/gdb.base/hbreak-unmapped.exp b/gdb/testsuite/gdb.base/hbreak-unmapped.exp
index 5cb655c..95668f2 100644
--- a/gdb/testsuite/gdb.base/hbreak-unmapped.exp
+++ b/gdb/testsuite/gdb.base/hbreak-unmapped.exp
@@ -28,6 +28,16 @@ if ![runto_main] {
return -1
}
+# If we can read the memory at address 0, skip the test.
+gdb_test_multiple "x 0" "memory at address 0" {
+ -re "0x0:.*Cannot access memory at address 0x0.*$gdb_prompt $" { }
+ -re "0x0:.*Error accessing memory address 0x0.*$gdb_prompt $" { }
+ -re ".*$gdb_prompt $" {
+ untested "Memory at address 0 is readable"
+ return
+ }
+}
+
delete_breakpoints
# Test whether the target supports hardware breakpoints at all.