From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31929 invoked by alias); 26 Oct 2004 23:04:46 -0000 Mailing-List: contact src-cvs-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: src-cvs-owner@sources.redhat.com Received: (qmail 31912 invoked by uid 442); 26 Oct 2004 23:04:45 -0000 Date: Tue, 26 Oct 2004 23:04:00 -0000 Message-ID: <20041026230445.31910.qmail@sourceware.org> From: jimb@sourceware.org To: src-cvs@sources.redhat.com Subject: src/rda/unix ChangeLog Makefile.am Makefile.in ... X-SW-Source: 2004-q4/txt/msg00021.txt.bz2 List-Id: 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 . (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 and . (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