From: Yao Qi Date: Fri, 6 Jun 2014 03:05:05 +0000 (+0800) Subject: Skip hbreak-unmapped.exp if memory at address 0 is readable X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=831517df13fe99c89f073632b70431510bee65ba;p=binutils-gdb.git 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 * gdb.base/hbreak-unmapped.exp: Read memory at address 0. If readable, skip the test. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 51686d19ad9..bc81a07a809 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-06-06 Yao Qi + + * gdb.base/hbreak-unmapped.exp: Read memory at address 0. If + readable, skip the test. + 2014-06-06 Yao Qi * gdb.threads/staticthreads.c (thread_function): Move the line diff --git a/gdb/testsuite/gdb.base/hbreak-unmapped.exp b/gdb/testsuite/gdb.base/hbreak-unmapped.exp index 5cb655c2b12..95668f2fd62 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.