This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Hardware breakpoint limitation issue during the gdb regression test


On Thu, Aug 9, 2012 at 11:47 AM, Yao Qi <yao@codesourcery.com> wrote:
> On Wednesday, August 08, 2012 04:55:44 PM Terry Guo wrote:
>> I managed to run gdb "make check" on a real arm cortex-m3 board.
>> During this regression test, I saw many failures are caused by "Cannot
>> insert hardware breakpoint 8" and "You may have requested too many
>> hardware breakpoints/watchpoints". It's true that my arm board only
>> supports limited number breakpoints. So how to workaround this
>> limitation for regression test? Thanks.
>
> You don't have to workaround this limitation.  x86 also has a limited number
> of hardware breakpoints and processor with unlimited hw breakpoints doesn't
> exist at all :)  If testsuite works for x86, it should work for your
> configuration.
>
> As you provide quite few information, I can't tell where the problem is.  In
> testsuite, it is regarded that target "arm*-*-*" supports both hardware
> breakpoint and watchpoint (see skip_hw_breakpoint_tests and
> skip_hw_watchpoint_tests in testsuite/lib/gdb.exp), so all hw watch/break
> tests are run on your board.
>
> You have to check whether your stub is able to handle hardware
> breakpoint/watchpoint packets, and insert them correctly.
>
> --

Thanks for help. Here are more information. I am trying to run tests
in break.exp on my cortex-m3 board. The test process is:

1) start target gdb and load binary file.
2) set 8 different breakpoints.
3) then connect to my board and load binary file to board.
4) then use gdb command "continue" to start to run the binary. At this
point, I will get error messages like:

-----GDB output---------
(gdb) continue
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.
Warning:
Cannot insert hardware breakpoint 2.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.

(gdb) break 46
Breakpoint 9 at 0x180: file
/home/terguo01/work/gcc-arm-none-eabi-4_8-2012q3-20120803/src/gdb/gdb/testsuite/gdb.base/break.c,
line 46.
(gdb) continue
Continuing.
Warning:
Cannot insert hardware breakpoint 9.
Cannot insert hardware breakpoint 2.
Could not insert hardware breakpoints:
You may have requested too many hardware breakpoints/watchpoints.
------------------------------------------------------------------------------------------------------

For me, it seems many tests in gdb regression test tend to set around
8 or 9 break points. And I always end with this error on "cannot
insert hardware breakpoint".  Such tests can work on x86, I think it
is because x86 can support more breakpoints than arm. I do need a way
to make these tests can run on arm board. Please help.

BR,
Terry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]