This is the mail archive of the gdb-patches@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]

[PATCH] Let gdbserver doesn't tell GDB it support target-side breakpoint conditions and commands if it doesn't support 'Z' packet


We found that in powerpc arch board, it cannot pass some dprintf test:
FAIL: gdb.base/dprintf.exp: dprintf info 2 (pattern 6)
FAIL: gdb.mi/mi-dprintf.exp: mi expect stop (unknown output after running)
FAIL: gdb.mi/mi-dprintf.exp: mi 1st dprintf, agent (unknown output after running)

This because the gdbserver will always tell GDB that it support target-side breakpoint conditions and commands.  So "set dprintf-style agent" will always got success.
But target-side breakpoint conditions and commands are depend on 'Z' packet because GDB just can post target-side breakpoint conditions and commands with 'Z' packet.
The test will check if "set dprintf-style agent" success or not.  Because it will always succes.  So GDB change the commands to agent-printf that will make test get fail.

So I make a patch to check if the low-target support insert_point before return support target-side breakpoint conditions and commands.

Tested in powerpc-linux target.

2013-10-21  Hui Zhu  <yao@codesourcery.com>

	* linux-low.c (linux_supports_insert_point): New.
	(linux_target_op): Add linux_supports_insert_point.
	* server.c (handle_query): Check target_supports_insert_point
	before return support target-side breakpoint conditions and
	commands.
	* target.h (target_ops): Add supports_insert_point.
	(target_supports_insert_point): New.

Attachment: fix-dprintf.txt
Description: Text document


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