diff options
author | Yao Qi <yao@codesourcery.com> | 2014-06-06 11:05:05 +0800 |
---|---|---|
committer | Yao Qi <yao@codesourcery.com> | 2014-06-06 16:57:15 +0800 |
commit | 831517df13fe99c89f073632b70431510bee65ba (patch) | |
tree | 1bb3000d34952263921ff48d5a1d5b9a9014df13 | |
parent | c33b2f12584e8ae5be0e7a54927194d6b5851623 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/hbreak-unmapped.exp | 10 |
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. |