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

src/gdb ChangeLog Makefile.in NEWS amd64-linux ...


CVSROOT:	/cvs/src
Module name:	src
Changes by:	sergiodj@sourceware.org	2009-09-15 03:30:09

Modified files:
	gdb            : ChangeLog Makefile.in NEWS amd64-linux-tdep.c 
	                 breakpoint.c breakpoint.h gdbarch.c gdbarch.h 
	                 gdbarch.sh i386-linux-nat.c i386-linux-tdep.c 
	                 inf-child.c inf-ptrace.c inferior.h infrun.c 
	                 linux-nat.c linux-nat.h ppc-linux-tdep.c 
	                 target.c target.h xml-support.c xml-support.h 
	                 xml-tdesc.c 
	gdb/doc        : ChangeLog gdb.texinfo 
	gdb/testsuite  : ChangeLog 
	gdb/testsuite/gdb.base: Makefile.in 

Log message:
	Implementing catch syscall.
	
	* amd64-linux-tdep.c: Include xml-syscall.h header, define the XML
	syscall name for the architecture.
	(amd64_linux_get_syscall_number): New function.
	(amd64_linux_init_abi): Register the correct functions for syscall
	catchpoint; set the correct syscall file name.
	* breakpoint.c: New include: xml-syscall.h.
	(set_raw_breakpoint_without_location): Setting the parameters
	for the catch syscall feature.
	(insert_catch_syscall): New.
	(remove_catch_syscall): New.
	(breakpoint_hit_catch_syscall): New.
	(print_it_catch_syscall): New.
	(print_one_catch_syscall): New.
	(print_mention_catch_syscall): New.
	(catch_syscall_breakpoint_ops): New.
	(syscall_catchpoint_p): New.
	(create_catchpoint_without_mention): New.
	(create_catchpoint): Modified in order to use
	create_catchpoint_without_mention.
	(create_syscall_event_catchpoint): New.
	(clean_up_filters): New.
	(catch_syscall_split_args): New.
	(catch_syscall_command_1): New.
	(delete_breakpoint): Add cleanup for catch syscall.
	(is_syscall_catchpoint_enabled): New.
	(catch_syscall_enabled): New.
	(catching_syscall_number): New.
	(catch_syscall_completer): New completer function.
	(add_catch_command): Add the completer function for catchpoints.
	* breakpoint.h (syscalls_to_be_caught): New vector.
	(catch_syscall_enabled): New.
	(catching_syscall_number): New.
	* gdbarch.c: Regenerated.
	* gdbarch.h: Regenerated.
	* gdbarch.sh: Add syscall catchpoint functions and structures.
	(get_syscall_number): New.
	(UNKNOWN_SYSCALL): New definition.
	* i386-linux-nat.c (i386_linux_resume): Select the proper request
	to be made for ptrace() considering if we are catching syscalls
	or not.
	* i386-linux-tdep.c: Include xml-syscall.h header, define the XML
	syscall name for the architecture.
	(i386_linux_get_syscall_number): New.
	(i386_linux_init_abi): Register the correct functions for syscall
	catchpoint; set the correct syscall file name.
	* inf-child.c (inf_child_set_syscall_catchpoint): New.
	(inf_child_target): Assign default values to target_ops.
	* inf-ptrace.c (inf_ptrace_resume): Select the proper request
	to be made for ptrace() considering if we are catching syscalls
	or not.
	* inferior.h (struct inferior): Included new variables
	any_syscall_count, syscalls_counts and total_syscalls_count,
	used to keep track of requested syscall catchpoints.
	* infrun.c (resume): Add syscall catchpoint.
	(deal_with_syscall_event): New.
	(handle_inferior_event): Add syscall entry/return events.
	(inferior_has_called_syscall): New.
	* linux-nat.c: Define some helpful variables to track wether we have
	support for the needed ptrace option.
	(linux_test_for_tracesysgood): New.
	(linux_supports_tracesysgood): New.
	(linux_enable_tracesysgood): New.
	(linux_enable_event_reporting): Save the current used ptrace
	options.
	(linux_child_post_attach): Calling linux_enable_tracesysgood.
	(linux_child_post_startup_inferior): Likewise.
	(linux_child_set_syscall_catchpoint): New function.
	(linux_handle_extended_wait): Handle the case which the inferior stops
	because it has called or returned from a syscall.
	(linux_target_install_ops): Install the necessary functions to handle
	syscall catchpoints.
	* linux-nat.h (struct lwp_info): Include syscall_state into the
	structure, which indicates if we are in a syscall entry or return.
	* ppc-linux-tdep.c: Include xml-syscall.h header, define the XML
	syscall filename for the arch.
	(ppc_linux_get_syscall_number): New.
	(ppc_linux_init_abi): Register the correct functions for syscall
	catchpoint; setting the correct name for the XML syscall file.
	* target.c (update_current_target): Update/copy functions related to
	syscall catchpoint.
	(target_waitstatus_to_string): Add syscall catchpoint entry/return
	events.
	* target.h (struct target_waitstatus): Add syscall number.
	(struct syscall): New struct to hold information about syscalls
	in the system.
	(struct target_ops): Add ops for syscall catchpoint.
	(inferior_has_called_syscall): New.
	(target_set_syscall_catchpoint): New.
	* xml-support.c (xml_fetch_content_from_file): New function,
	transferred from xml-tdesc.c.
	* xml-support.h (xml_fetch_content_from_file): New.
	* xml-tdesc.c (fetch_xml_from_file): Function removed;
	transferred to xml-support.c.
	(file_read_description_xml): Updated to use the new
	xml_fetch_content_from_file function.
	* syscalls/gdb-syscalls.dtd: New definition file for syscall's XML
	support.
	* syscalls/amd64-linux.xml: New file containing information about
	syscalls for GNU/Linux systems that use amd64 architecture.
	* syscalls/i386-linux.xml: New file containing information about
	syscalls for GNU/Linux systems that use i386 architecture.
	* syscalls/ppc-linux.xml: New file containing information about
	syscalls for GNU/Linux systems that use PPC architecture.
	* syscalls/ppc64-linux.xml: New file containing information about
	syscalls for GNU/Linux systems that use PPC64 architecture.
	* xml-syscall.c: New file containing functions for manipulating
	syscall's XML files.
	* xml-syscall.h: New file, exporting the functions above mentioned.
	* Makefile.in: Support for relocatable GDB datadir and XML
	syscall.
	* NEWS: Added information about the catch syscall feature.
	* doc/gdb.texinfo (Set Catchpoints): Documentation about the new
	feature.
	* testsuite/Makefile.in: Inclusion of catch-syscall object.
	* testsuite/gdb.base/catch-syscall.c: New file.
	* testsuite/gdb.base/catch-syscall.exp: New file.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.10869&r2=1.10870
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/Makefile.in.diff?cvsroot=src&r1=1.1097&r2=1.1098
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/NEWS.diff?cvsroot=src&r1=1.330&r2=1.331
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/amd64-linux-tdep.c.diff?cvsroot=src&r1=1.28&r2=1.29
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/breakpoint.c.diff?cvsroot=src&r1=1.418&r2=1.419
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/breakpoint.h.diff?cvsroot=src&r1=1.98&r2=1.99
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/gdbarch.c.diff?cvsroot=src&r1=1.452&r2=1.453
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/gdbarch.h.diff?cvsroot=src&r1=1.402&r2=1.403
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/gdbarch.sh.diff?cvsroot=src&r1=1.495&r2=1.496
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/i386-linux-nat.c.diff?cvsroot=src&r1=1.92&r2=1.93
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/i386-linux-tdep.c.diff?cvsroot=src&r1=1.67&r2=1.68
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/inf-child.c.diff?cvsroot=src&r1=1.21&r2=1.22
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/inf-ptrace.c.diff?cvsroot=src&r1=1.65&r2=1.66
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/inferior.h.diff?cvsroot=src&r1=1.135&r2=1.136
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/infrun.c.diff?cvsroot=src&r1=1.408&r2=1.409
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/linux-nat.c.diff?cvsroot=src&r1=1.146&r2=1.147
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/linux-nat.h.diff?cvsroot=src&r1=1.30&r2=1.31
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/ppc-linux-tdep.c.diff?cvsroot=src&r1=1.116&r2=1.117
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/target.c.diff?cvsroot=src&r1=1.224&r2=1.225
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/target.h.diff?cvsroot=src&r1=1.163&r2=1.164
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/xml-support.c.diff?cvsroot=src&r1=1.15&r2=1.16
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/xml-support.h.diff?cvsroot=src&r1=1.12&r2=1.13
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/xml-tdesc.c.diff?cvsroot=src&r1=1.17&r2=1.18
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/doc/ChangeLog.diff?cvsroot=src&r1=1.951&r2=1.952
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/doc/gdb.texinfo.diff?cvsroot=src&r1=1.622&r2=1.623
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.1958&r2=1.1959
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.base/Makefile.in.diff?cvsroot=src&r1=1.4&r2=1.5


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