public inbox for src-cvs@sourceware.org
help / color / mirror / Atom feed
From: jimb@sourceware.org
To: src-cvs@sources.redhat.com
Subject: src/rda/unix ChangeLog Makefile.am Makefile.in ...
Date: Tue, 26 Oct 2004 23:04:00 -0000	[thread overview]
Message-ID: <20041026230445.31910.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/src
Module name:	src
Branch: 	jimb-rda-nptl-branch
Changes by:	jimb@sourceware.org	2004-10-26 23:04:45

Modified files:
	rda/unix       : ChangeLog Makefile.am Makefile.in aclocal.m4 
	                 config.in configure configure.in linux-target.c 
	                 ptrace-target.c server.h thread-db.c 
Added files:
	rda/unix       : arch.h stock-breakpoints.c stock-breakpoints.h 

Log message:
	Add an architecture object to the Unix server.
	* arch.h: New header file.
	* server.h (struct arch): New forward struct declaration.
	(struct child_process): Add an 'arch' member to the process.
	* thread-db.c: #include arch.h.
	* linux-target.c: #include arch.h.
	(allocate_empty_arch): New function.
	(x86_make_arch): New function.
	(MAKE_ARCH): New #definition.
	(linux_attach): Initialize process's architecture.
	
	Provide arch-independent framework for breakpoints.
	* server.h (struct arch_bp_table): New forward struct declaration.
	(struct child_process): New member: 'breakpoint_table'.
	* linux-target.c (linux_attach): Initialize process's breakpoint
	table, if the architecture defines a breakpoint table constructor.
	* arch.h (struct arch): Add fields pointing to breakpoint functions.
	
	Provide a module implementing breakpoints for architectures that
	support a simple software breakpoint model ("patch these bytes
	into the instruction stream").
	* stock-breakpoints.h, stock-breakpoints.c: New files.
	* linux-target.c: If STOCK_BREAKPOINTS is #defined, then #include
	"stock-breakpoints.h".
	* Makefile.am (EXTRA_rda_SOURCES): Add stock-breakpoints.c.
	* Makefile.in: Updated.
	
	Define x86 breakpoint functions using the stock-breakpoints.c
	model.
	* configure.in: When configuring for an x86 target, include
	stock-breakpoints.o in the mix, and #define STOCK_BREAKPOINTS.
	* configure: Regenerated.
	* config.in (STOCK_BREAKPOINTS): Provide #definition template.
	* linux-target.c (stock_table_to_x86, x86_table_to_stock,
	stock_bp_to_x86, x86_bp_to_stock, x86_make_bp_table, x86_set_bp,
	x86_delete_bp, x86_bp_hit_p): New functions.
	(x86_make_arch): Register the latter four as our breakpoint
	methods.
	
	Use the libthread_db event interface to communicate with the
	thread library, if the old signal-based interface is not
	supported.
	* thread-db.c: #include <assert.h>.
	(thread_db_event_str): New function.
	(get_target_int_by_name, set_target_int_by_name, get_thread_signals)
	(cancel_signal, restart_signal, debug_signal): Move these to just
	before thread_db_dlopen; get_thread_signals is a subroutine of that.
	(using_thread_db_events, create_notification, death_notification,
	create_event_breakpoint, death_event_breakpoint): New global vars.
	(get_event_notification, set_event_breakpoint)
	(insert_thread_db_event_breakpoints)
	(delete_thread_db_event_breakpoints, request_thread_db_events)
	(hit_thread_db_event_breakpoint): New functions.
	(thread_db_open): Call get_thread_signals, and if that fails, call
	request_thread_db_events.
	(struct event_list): Add 'thread_db_event' member.
	(add_pending_event): Initialize it.
	(delete_pending_event, handle_thread_db_events): New functions.
	(find_new_threads_callback): If we're using the event interface,
	enable event reporting on each new thread we find.
	(select_pending_event): Return a value to indicate whether we
	selected any event at all.
	(continue_all_threads): Send a restart signal only if we're using
	the signal-based interface.
	(thread_db_check_child_state): If we're using the libthread_db
	event interface to communicate with the inferior thread library,
	check for those events here.  If select_pending_event says it
	didn't find anything interesting, that means we consumed all the
	reportable events; continue the program silently.
	* ptrace-target.c: #include <sys/types.h> and <linux/unistd.h>.
	(tkill): Generate code for this syscall.
	(stop_lwp): Use tkill instead of kill.
	
	* thread-db.c (thread_db_check_child_state): Call stop_all_threads
	before calling update_thread_list, so RDA will have to compete for
	CPU with fewer running threads.
	
	* thread-db.c (wait_all_threads): Move calls to
	select_pending_event and send_pending_signals from here...
	(thread_db_check_child_state): To here.
	
	* thread-db.c (ignore_thread_signal): New function.
	(thread_db_check_child_state): Call it, instead of writing it out.
	
	* thread-db.c (thread_db_open): Return 0 on success, -1 on
	failure, like most of the other int-valued functions in this file,
	and like most system calls.
	
	* thread-db.c (struct gdbserv_thread): Doc fixes.
	
	* thread-db.c: #include "gdbserv-utils.h", to get prototypes for
	the 'struct gdbserv_reg' manipulation functions.
	
	* thread-db.c (thread_db_noisy): Initialize to 1.
	
	* thread-db.c (thread_debug_name): New function.
	(find_new_threads_callback): If noisy, report new threads.
	(stop_thread): If noisy, report stopping threads.
	(select_pending_event): If noisy, report what we selected.
	(wait_all_threads): If noisy, report before each thread we wait
	for.
	
	* thread-db.c (stop_all_threads): Doc fixes.
	
	* aclocal.m4: Regenerated.

Patches:
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/arch.h.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=NONE&r2=1.1.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/stock-breakpoints.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=NONE&r2=1.1.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/stock-breakpoints.h.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=NONE&r2=1.1.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/ChangeLog.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.36&r2=1.36.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/Makefile.am.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.2&r2=1.2.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/Makefile.in.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.6&r2=1.6.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/aclocal.m4.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.2&r2=1.2.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/config.in.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.4&r2=1.4.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/configure.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.7&r2=1.7.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/configure.in.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.6&r2=1.6.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/linux-target.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.13&r2=1.13.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/ptrace-target.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.7&r2=1.7.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/server.h.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.2&r2=1.2.2.1
http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/rda/unix/thread-db.c.diff?cvsroot=src&only_with_tag=jimb-rda-nptl-branch&r1=1.9&r2=1.9.2.1


             reply	other threads:[~2004-10-26 23:04 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-26 23:04 jimb [this message]
2005-03-10 23:50 jimb
2005-06-30  3:24 jimb
2005-12-07 17:51 kevinb

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041026230445.31910.qmail@sourceware.org \
    --to=jimb@sourceware.org \
    --cc=src-cvs@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).