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]

added to 7.7-branch wiki: Re: RFA [PATCH] Implement 'catch syscall' for gdbserver


For the record, since this patch has been submitted in a reasonable
timeframe prior to the planned 7.7 branch creation, I've added it
to our 7.7 release wiki page. It does not mean that we must get
this patch in the release (for instance if considered too risky),
but hopefully this will place this patch a little higher on the
reviewing queue...

Thank you :)

> Here are the changes logs:
> ChangeLog
> 2013-xx-yy  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
> 
> 	* NEWS: Document new QcatchSyscalls packet and its use
> 	in x86/amd64 linux gdbserver and Valgrind gdbserver.
> 	* remote.c (PACKET_QCatchSyscalls): New.
> 	(remote_protocol_features): Add Qcatchsyscalls.
> 	(remote_set_syscall_catchpoint): New function.
> 	(remote_parse_stop_reply): New stop reasons syscall_entry
> 	and syscall_return.
> 	(init_remote_ops): Registers remote_set_syscall_catchpoint
> 	and the config commands for [PACKET_QCatchSyscalls.
> 	* common/linux-ptrace.c (linux_check_ptrace_features):
> 	Detect PTRACE_O_TRACESYSGOOD for gdbserver.
> 	(ptrace_supports_feature): Initializes ptrace features if needed.
> 
> doc/ChangeLog
> 2013-xx-yy  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
> 
> 	* gdb.texinfo (General Query Packets): Document new QcatchSyscalls
> 	packet.
> 	(Stop Reply Packets): Document new stop reasons syscall_entry and
> 	syscall_return.
> 	(Async Records): fixed syscall-return item name.
> 
> gdbserver/ChangeLog
> 2013-xx-yy  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
> 
> 	* target.h (struct target_ops): Add supports_catch_syscall operation.
> 	* linux-low.h (struct linux_target_ops): Add get_syscall_trapinfo
> 	operation.
> 	* linux-low.c (linux_wait_1): Enables, detects and handle
> 	SYSCALL_SIGTRAP.
> 	(gdb_catched_syscall): New function.
> 	(get_syscall_trapinfo): New function.
>         (linux_supports_catch_syscall): New function.
> 	(struct target_ops linux_target_ops): Set linux_supports_catch_syscall.
> 	* linux-x86-low.c (x86_get_syscall_trapinfo): New function.
> 	(struct linux_target_ops the_low_target): Set x86_get_syscall_trapinfo.
> 	* remote-utils.c (prepare_resume_reply): Handle status kinds
> 	TARGET_WAITKIND_SYSCALL_ENTRY and TARGET_WAITKIND_SYSCALL_RETURN.
> 	* server.h: Declare catch_syscalls_p, catched_syscalls_size and
> 	catched_syscalls.
> 	* server.c: Define catch_syscalls_p, catched_syscalls_size and
> 	catched_syscalls.
> 	(handle_general_set): Handle QCatchSyscalls packet.
> 	(handle_query): Reports if low target supports QCatchSyscalls.
> 	* win32-low.c (struct target_ops win32_target_op): Sets NULL
> 	for supports_catch_syscall.
> 
> testsuite/ChangeLog
> 2013-xx-yy  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
> 
> 	* gdb.base/catch-syscall.exp: Enables test for x86 and amd64
> 	gdbserver.

-- 
Joel


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