public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
* [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process.
[not found] <bug-10729-4717@http.sourceware.org/bugzilla/>
@ 2011-11-06 22:47 ` jan.kratochvil at redhat dot com
2011-12-14 17:21 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: jan.kratochvil at redhat dot com @ 2011-11-06 22:47 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=10729
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2010-08-25 14:40:43 UTC ---
Subject: Bug 10729
CVSROOT: /cvs/src
Module name: src
Changes by: palves@sourceware.org 2010-08-25 14:40:22
Modified files:
gdb/gdbserver : ChangeLog i386-low.c i386-low.h linux-low.c
linux-low.h linux-x86-low.c win32-i386-low.c
Log message:
PR threads/10729
* linux-x86-low.c (update_debug_registers_callback): New.
(i386_dr_low_set_addr): Use it.
(i386_dr_low_get_addr): New.
(i386_dr_low_set_control): Use update_debug_registers_callback.
(i386_dr_low_get_control): New.
(i386_dr_low_get_status): Adjust.
* linux-low.c (linux_stop_lwp): New.
* linux-low.h (linux_stop_lwp): Declare.
* i386-low.c (I386_DR_GET_RW_LEN): Take the dr7 contents as
argument instead of a i386_debug_reg_state.
(I386_DR_WATCH_HIT): Take the dr6 contents as argument instead of
a i386_debug_reg_state.
(i386_insert_aligned_watchpoint): Adjust.
(i386_remove_aligned_watchpoint): Adjust.
(i386_low_stopped_data_address): Read the debug registers from the
inferior instead of from the mirrors.
* i386-low.h (struct i386_debug_reg_state): Extend comment.
(i386_dr_low_get_addr): Declare.
(i386_dr_low_get_control): Declare.
(i386_dr_low_get_status): Change prototype.
* win32-i386-low.c (dr_status_mirror, dr_control_mirror): New globals.
(i386_dr_low_get_addr): New.
(i386_dr_low_get_control): New.
(i386_dr_low_get_status): Adjust prototype. Return
dr_status_mirror.
(i386_initial_stuff): Clear dr_status_mirror and
dr_control_mirror.
(i386_get_thread_context): Adjust.
(i386_set_thread_context): Adjust.
(i386_thread_added): Adjust.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/ChangeLog.diff?cvsroot=src&r1=1.406&r2=1.407
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/i386-low.c.diff?cvsroot=src&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/i386-low.h.diff?cvsroot=src&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/linux-low.c.diff?cvsroot=src&r1=1.153&r2=1.154
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/linux-low.h.diff?cvsroot=src&r1=1.45&r2=1.46
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/linux-x86-low.c.diff?cvsroot=src&r1=1.20&r2=1.21
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/gdbserver/win32-i386-low.c.diff?cvsroot=src&r1=1.20&r2=1.21
--- Comment #2 from Jan Kratochvil <jan.kratochvil at redhat dot com> 2011-11-06 22:47:12 UTC ---
Reproducible with:
7.3.50.20111105-cvs
kernel-3.1.0-7.fc16.x86_64
--
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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process.
[not found] <bug-10729-4717@http.sourceware.org/bugzilla/>
2011-11-06 22:47 ` [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process jan.kratochvil at redhat dot com
@ 2011-12-14 17:21 ` cvs-commit at gcc dot gnu.org
2011-12-17 9:44 ` cvs-commit at gcc dot gnu.org
2024-01-13 12:19 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2011-12-14 17:21 UTC (permalink / raw)
To: gdb-prs
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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process.
[not found] <bug-10729-4717@http.sourceware.org/bugzilla/>
2011-11-06 22:47 ` [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process jan.kratochvil at redhat dot com
2011-12-14 17:21 ` cvs-commit at gcc dot gnu.org
@ 2011-12-17 9:44 ` cvs-commit at gcc dot gnu.org
2024-01-13 12:19 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2011-12-17 9:44 UTC (permalink / raw)
To: gdb-prs
http://sourceware.org/bugzilla/show_bug.cgi?id=10729
--- Comment #4 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> 2011-12-17 09:43:57 UTC ---
CVSROOT: /cvs/src
Module name: src
Changes by: jkratoch@sourceware.org 2011-12-17 09:43:53
Modified files:
gdb : ChangeLog s390-nat.c
Log message:
gdb/
Fix build regression from the PR threads/10729 fix.
* s390-nat.c (s390_insert_watchpoint, s390_remove_watchpoint): Use LP,
not LP->PTID.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/ChangeLog.diff?cvsroot=src&r1=1.13641&r2=1.13642
http://sourceware.org/cgi-bin/cvsweb.cgi/src/gdb/s390-nat.c.diff?cvsroot=src&r1=1.36&r2=1.37
--
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.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process.
[not found] <bug-10729-4717@http.sourceware.org/bugzilla/>
` (2 preceding siblings ...)
2011-12-17 9:44 ` cvs-commit at gcc dot gnu.org
@ 2024-01-13 12:19 ` ssbssa at sourceware dot org
3 siblings, 0 replies; 5+ messages in thread
From: ssbssa at sourceware dot org @ 2024-01-13 12:19 UTC (permalink / raw)
To: gdb-prs
https://sourceware.org/bugzilla/show_bug.cgi?id=10729
Hannes Domani <ssbssa at sourceware dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ssbssa at sourceware dot org
--- Comment #5 from Hannes Domani <ssbssa at sourceware dot org> ---
(In reply to Sourceware Commits from comment #3)
> 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
Can this be closed?
--
You are receiving this mail because:
You are on the CC list for the bug.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Bug threads/10729] New: non-stop && hw-watchpoint: Couldn't write debug register: No such process.
@ 2009-10-03 8:56 jan dot kratochvil at redhat dot com
2010-03-13 8:51 ` [Bug threads/10729] " alfonso dot acosta at gmail dot com
0 siblings, 1 reply; 5+ messages in thread
From: jan dot kratochvil at redhat dot com @ 2009-10-03 8:56 UTC (permalink / raw)
To: gdb-prs
Hardware watchpoints are now global, they are carbon-copied to each LWP.
If any of the LWPs are currently not stopped the carbon-copying fails.
Either the running LWPs should be left with stale hw-watchpoints (probably not)
or the running LWPs should be rather transparently temporarily stopped for a
moment to update their hardware watchpoint registers.
------------------------------------------------------------------------------
(gdb) set non-stop on
(gdb) set target-async on
(gdb) b start
Breakpoint 1 at 0x400620: file /home/jkratoch/t/x2.c, line 9.
(gdb) r
Starting program: /home/jkratoch/t/x2
[Thread debugging using libthread_db enabled]
[New Thread 0x7ffff7fe2910 (LWP 20704)]
Breakpoint 1, start (arg=0x0) at /home/jkratoch/t/x2.c:9
9 sleep (1);
(gdb) info threads
2 Thread 0x7ffff7fe2910 (LWP 20704) start (arg=0x0) at /home/jkratoch/t/x2.c:9
* 1 Thread 0x7ffff7fe36f0 (LWP 20701) (running)
(gdb) thread 2
[Switching to thread 2 (Thread 0x7ffff7fe2910 (LWP 20704))]#0 start (arg=0x0)
at /home/jkratoch/t/x2.c:9
9 sleep (1);
(gdb) watch var
Hardware watchpoint 2: var
(gdb) c
Continuing.
Couldn't write debug register: No such process.
(gdb)
------------------------------------------------------------------------------
#include <pthread.h>
#include <assert.h>
#include <unistd.h>
static volatile int var;
static void *start (void *arg)
{
sleep (1);
var = 1;
return arg;
}
int main (void)
{
pthread_t thread1;
int i;
i = pthread_create (&thread1, NULL, start, NULL);
assert (i == 0);
i = pthread_join (thread1, NULL);
assert (i == 0);
return 0;
}
--
Summary: non-stop && hw-watchpoint: Couldn't write debug
register: No such process.
Product: gdb
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: threads
AssignedTo: unassigned at sourceware dot org
ReportedBy: jan dot kratochvil at redhat dot com
CC: gdb-prs at sourceware dot org
GCC host triplet: x86_64-fedora11-linux-gnu
GCC target triplet: x86_64-fedora11-linux-gnu
http://sourceware.org/bugzilla/show_bug.cgi?id=10729
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-01-13 12:19 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-10729-4717@http.sourceware.org/bugzilla/>
2011-11-06 22:47 ` [Bug threads/10729] non-stop && hw-watchpoint: Couldn't write debug register: No such process jan.kratochvil at redhat dot com
2011-12-14 17:21 ` cvs-commit at gcc dot gnu.org
2011-12-17 9:44 ` cvs-commit at gcc dot gnu.org
2024-01-13 12:19 ` ssbssa at sourceware dot org
2009-10-03 8:56 [Bug threads/10729] New: " jan dot kratochvil at redhat dot com
2010-03-13 8:51 ` [Bug threads/10729] " alfonso dot acosta at gmail dot com
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).