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

[Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debugregister: No such process.


http://sourceware.org/bugzilla/show_bug.cgi?id=10729

--- Comment #3 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2011-12-14 17:20:39 UTC ---
CVSROOT:    /cvs/src
Module name:    src
Changes by:    palves@sourceware.org    2011-12-14 17:20:32

Modified files:
    gdb            : ChangeLog amd64-linux-nat.c arm-linux-nat.c 
                     go32-nat.c i386-darwin-nat.c i386-linux-nat.c 
                     i386-nat.c i386-nat.h i386bsd-nat.c 
                     i386bsd-nat.h i386fbsd-nat.c ia64-linux-nat.c 
                     linux-nat.c linux-nat.h mips-linux-nat.c 
                     ppc-linux-nat.c s390-nat.c windows-nat.c 
    gdb/testsuite  : ChangeLog 
Added files:
    gdb/testsuite/gdb.mi: mi-watch-nonstop.exp watch-nonstop.c 

Log message:
    gdb/
    2011-12-14  Pedro Alves  <pedro@codesourcery.com>

    PR threads/10729

    * linux-nat.c (linux_nat_new_thread): Change parameter to an lwp
    pointer.
    (linux_nat_prepare_to_resume): New global.
    (lwp_free): New.
    (purge_lwp_list): Use it.
    (add_lwp): Call linux_nat_new_thread even on the first LWP.
    Adjust to interface change.
    (delete_lwp): Call lwp_free instead of xfree.
    (detach_callback, linux_nat_detach, resume_lwp, linux_nat_resume)
    (linux_handle_syscall_trap, linux_handle_extended_wait)
    (linux_nat_filter_event, resume_stopped_resumed_lwps): Call
    linux_nat_prepare_to_resume before resuming.
    (linux_stop_lwp): New.
    (linux_nat_set_new_thread): Adjust.
    (linux_nat_set_prepare_to_resume): New.
    * linux-nat.h (struct arch_lwp_info): Forward declare.
    (struct lwp_info) <arch_private>: New field.
    (linux_stop_lwp): Declare.
    (linux_nat_set_new_thread): Adjust.
    (linux_nat_set_prepare_to_resume): New.

    * i386-nat.c (DR_NADDR, DR_STATUS, DR_CONTROL)
    (struct i386_debug_reg_state): Move to i386-nat.h.
    (dr_mirror): Comment.
    (i386_debug_reg_state): New.
    (i386_update_inferior_debug_regs): Simplify.
    (i386_stopped_data_address): Use the debug register state from the
    inferior, not from the local cache.
    * i386-nat.h (struct i386_dr_low_type): Delete reset_addr and
    unset_status fields.  New get_addr and get_control fields.
    (DR_FIRSTADDR, DR_LASTADDR, DR_CONTROL): Moved from i386-nat.c.
    (DR_NADDR, DR_STATUS): New.
    (struct i386_debug_reg_state): Moved from i386-nat.c.

    * amd64-linux-nat.c (struct arch_lwp_info): New.
    (amd64_linux_dr): Delete global.
    (amd64_linux_dr_get_addr): New.
    (amd64_linux_dr_get_control): New.
    (amd64_linux_dr_unset_status): Delete.
    (amd64_linux_dr_set_addr): Reimplement.
    (amd64_linux_dr_reset_addr): Delete.
    (update_debug_registers_callback): New.
    (amd64_linux_dr_set_control): Reimplement.
    (amd64_linux_dr_set_addr): Reimplement.
    (amd64_linux_prepare_to_resume): New.
    (amd64_linux_new_thread): Change parameter to an lwp pointer.
    Reimplement.
    (_initialize_amd64_linux_nat): No longer install
    i386_dr_low.reset_addr and i386_dr_low.unset_status.  Install
    amd64_linux_dr_get_control as i386_dr_low.get_control.  Install
    amd64_linux_dr_get_addr as i386_dr_low.get_addr.  Install
    amd64_linux_prepare_to_resume.
    * i386-linux-nat.c (DR_FIRSTADDR, DR_LASTADDR, DR_STATUS)
    (DR_CONTROL): Delete.
    (struct arch_lwp_info): New.
    (i386_linux_dr): Delete global.
    (i386_linux_dr_set_control): Reimplement.
    (i386_linux_dr_get_addr): New.
    (i386_linux_dr_set_addr): Reimplement.
    (i386_linux_dr_get_control): New.
    (update_debug_registers_callback): New.
    (i386_linux_dr_unset_status): Delete.
    (i386_linux_dr_set_addr): Reimplement.
    (i386_linux_prepare_to_resume): New.
    (i386_linux_new_thread): Change parameter to an lwp pointer.
    Reimplement.
    (_initialize_i386_linux_nat): No longer install
    i386_dr_low.reset_addr and i386_dr_low.unset_status.  Install
    i386_linux_dr_get_control as i386_dr_low.get_control.  Install
    i386_linux_dr_get_addr as i386_dr_low.get_addr.  Install
    i386_linux_prepare_to_resume.

    * arm-linux-nat.c (arm_linux_new_thread): Change parameter to an
    lwp pointer.  Adjust.
    * ia64-linux-nat.c (ia64_linux_new_thread): Likewise.
    * mips-linux-nat.c (mips_linux_new_thread): Likewise.
    * ppc-linux-nat.c (ppc_linux_new_thread): Likewise.
    * s390-nat.c (s390_fix_watch_points): Likewise.

    * i386-darwin-nat.c (DR_FIRSTADDR, DR_LASTADDR, DR_STATUS)
    (DR_CONTROL): Delete.
    (i386_darwin_dr_reset_addr): Delete.
    (i386_darwin_dr_get_addr): New.
    (i386_darwin_dr_get_control): New.
    * go32-nat.c
    (go32_get_dr7, go32_get_dr): New.
    (init_go32_ops): No longer install i386_dr_low.reset_addr.
    Install go32_get_dr7 as i386_dr_low.get_control.  Install
    go32_get_dr as i386_dr_low.get_addr.
    * i386bsd-nat.c (i386bsd_dr_get): New.
    (i386bsd_dr_reset_addr): Delete.
    (i386bsd_dr_get_addr): New.
    (i386bsd_dr_get_status): Use i386bsd_dr_get.
    (i386bsd_dr_get_control): New.
    * i386bsd-nat.h (i386bsd_dr_reset_addr): Delete.
    (i386bsd_dr_get_addr): New.
    (i386bsd_dr_get_control): New.
    * i386fbsd-nat.c (_initialize_i386fbsd_nat): No longer install
    i386_dr_low.reset_addr and i386_dr_low.unset_status.  Install
    i386bsd_dr_get_control as i386_dr_low.get_control.  Install
    i386bsd_dr_get_addr as i386_dr_low.get_addr.
    * windows-nat.c (init_windows_ops): No longer install
    i386_dr_low.reset_addr and i386_dr_low.unset_status.  Install
    cygwin_get_dr7 as i386_dr_low.get_control.  Install cygwin_get_dr
    as i386_dr_low.get_addr.
    (cygwin_get_dr): New.
    (cygwin_get_dr7): New.

    gdb/testsuite/
    2011-12-14  Pedro Alves  <pedro@codesourcery.com>

    PR threads/10729

    * gdb.mi/watch-nonstop.c: New file.
    * gdb.mi/mi-watch-nonstop.exp: New file.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.13621&r2=1.13622
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/amd64-linux-nat.c.diff?cvsroot=src&r1=1.37&r2=1.38
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/arm-linux-nat.c.diff?cvsroot=src&r1=1.50&r2=1.51
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/go32-nat.c.diff?cvsroot=src&r1=1.83&r2=1.84
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386-darwin-nat.c.diff?cvsroot=src&r1=1.12&r2=1.13
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386-linux-nat.c.diff?cvsroot=src&r1=1.106&r2=1.107
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386-nat.c.diff?cvsroot=src&r1=1.36&r2=1.37
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386-nat.h.diff?cvsroot=src&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386bsd-nat.c.diff?cvsroot=src&r1=1.45&r2=1.46
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386bsd-nat.h.diff?cvsroot=src&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/i386fbsd-nat.c.diff?cvsroot=src&r1=1.21&r2=1.22
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ia64-linux-nat.c.diff?cvsroot=src&r1=1.53&r2=1.54
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/linux-nat.c.diff?cvsroot=src&r1=1.229&r2=1.230
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/linux-nat.h.diff?cvsroot=src&r1=1.41&r2=1.42
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/mips-linux-nat.c.diff?cvsroot=src&r1=1.40&r2=1.41
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ppc-linux-nat.c.diff?cvsroot=src&r1=1.105&r2=1.106
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/s390-nat.c.diff?cvsroot=src&r1=1.35&r2=1.36
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/windows-nat.c.diff?cvsroot=src&r1=1.220&r2=1.221
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=src&r1=1.2980&r2=1.2981
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.mi/mi-watch-nonstop.exp.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/testsuite/gdb.mi/watch-nonstop.c.diff?cvsroot=src&r1=NONE&r2=1.1

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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